您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Помощник ГО (версия от 2024.12.15)
当前为
// ==UserScript== // @name HWM GO Helper // @namespace https://gf.zukizuki.org/ru/users/302695 // @description Помощник ГО (версия от 2024.12.15) // @author ElMarado (Based on script Mantens) (Update by CheckT) // @version 6.352.1 // @include https://www.heroeswm.ru/group_wars.php* // @include https://www.heroeswm.ru/plstats_hunters.php* // @include https://www.heroeswm.ru/home.php* // @include https://www.heroeswm.ru/map.php* // @include https://www.lordswm.com/group_wars.php* // @include https://www.lordswm.com/plstats_hunters.php* // @include https://www.lordswm.com/home.php* // @include https://www.lordswm.com/map.php* // @include http://178.248.235.15/group_wars.php* // @include http://178.248.235.15/plstats_hunters.php* // @include http://178.248.235.15/home.php* // @include http://178.248.235.15/map.php* // @grant GM_getValue // @grant GM_setValue // @icon https://app.box.com/representation/file_version_34029013909/image_2048/1.png?shared_name=hz97b2qwo2ycc5ospb7ccffn13w3ehc4 // @license MIT // ==/UserScript== // Update by CheckT // небольшая доработка скрипта hwm_GO_exp от ElMarado (Based on script Mantens) // - хранение настроек независимо по игрокам // - кнопка "пометить всех птиц" // Оригинал https://gf.zukizuki.org/ru/scripts/11692-hwm-go-exp (function () { var gm_prefix = 'go_'+getPlayerId()+'_'; //префикс всех хранимых данных var max_exp = 0; var version = "6.352.1 (2024.12.15)"; var url_cur = location.href; var url_home = "home.php"; var url_map = "map.php"; var url_war = "group_wars.php"; var str_url = "https://gf.zukizuki.org/ru/scripts/434534-hwm-go-helper"; var all_tables = document.getElementsByTagName('div'); var short_button = gm_get_bool("short_button"); var enable_Exp_Half = gm_get_bool("enable_Exp_Half"); var enable_5_procent = gm_get_bool("enable_5_procent"); var only_Gud_ExpUm = gm_get_bool("only_Gud_ExpUm"); var find_Hunt = gm_get_bool("find_Hunt"); var beep_if_free = gm_get_bool("beep_if_free"); var show_archive = gm_get_bool("show_archive"); var grin_Pis = gm_get_bool("grin_Pis"); var pic_enable = gm_get_bool("pic_enable"); var show_HP = gm_get_bool("show_HP", true); var skip_no_half = gm_get_bool("skip_no_half"); var pl_level = gm_get("hunt_exp_pl_level", "none"); //ур.героя var koef = gm_get("koef_dop_exp", 1.0); //коэф перекача var limit_exp = gm_get("limit_exp", 0); //С какого порога опыта пропускать охоты var skip_mode = gm_get_bool("skip_mode", true); //Пропускать по опыту или по списку: true - опыт, false - список var skip_base = gm_get("skip_base", ""); //h база пропусков на существ: 0 - пропускать, 1 - оставить //******************** var str_pl_lvl = ustring("Боевой уровень: "); var str_kol = ustring('шт.'); var str_sum_exp = ustring("За них дадут <b> STR1dopSTR </b> опыта. Потом их будет ~STR6 шт."); var str_kill_now = ustring("Убей сейчас! На STR9 уровне за них дадут <b> STR10 </b> опыта."); var str_hlp_exp = ustring("За убийство с помощником (50/50) Вам дадут <b> STR2 </b> опыта. В следующий раз предложат ~STR7 шт."); var str_min_kol = ustring("Для Min (~5%) прироста надо убить не более STR3 шт (STR4 опыта). В следующий раз предложат ~STR8 шт."); var str_exp_helper = ustring("Опыт помощника:[70..133]*Уровень*Набранная умка*[1.1-Зелье]."); var str_exp = ustring(" опыта."); var str_settings_1 = ustring("  Настройки ГО  "); var str_settings_2 = ustring("  ГО  "); var str_start = ustring("Скрипт: Помощник ГО. Версия: "); var str_show_1 = ustring("Отображать <b>опыт с помощником</b>, если убьёте по 50%"); var str_show_2 = ustring("Отображать сколько убить существ <b>для минимального прироста</b> существ"); var str_show_3 = ustring("Отображать формулу опыта помощника (при выгодных охотах)"); var str_hilight = ustring("Подсвечивать <b>охоты с выгодной экспоумкой</b> <font color=grey>(на странице групповых боёв)</font>"); var str_find_hunt = ustring("<b>Поиск чужих охот</b> <font color=grey>(групповые бои)</font>. Обновление: <b>15с.</b> "); var str_beep_if_free = ustring("Если нашёл, <b>вывод звука</b>:"); var str_show_archive = ustring("Отображать <b>ссылки на рекорды</b> из архива"); var str_Grin_Pis = ustring("Включить режим<b><font color=green size=3> GreenPeace </font></b>(скрывать предложения охот)"); var str_show_HP = ustring("Отображать <b>суммарные HP существ</b>"); var str_short_button = ustring("Сделать кнопку <b><font color=royalblue> Настройки ГО </font></b> короткой (<b><font color=royalblue> ГО </font></b>)"); var str_koef_0 = ustring("Текущий коэффициент перекача: "); var str_koef_1 = ustring("Введите новый коэффициент перекача от 1.0 до 9.9999: "); var str_skip_select_1 = ustring("Пропускать существ: "); var str_skip_select_2 = ustring("по опыту или "); var str_skip_select_3 = ustring("по списку "); var str_skip_hunt = ustring("Пропускать охоты с опытом больше чем:"); var str_title_1 = ustring("Если значение 0, то опыт не учитывается"); var str_pic_enable = ustring("Отображать картинки существ в списке") var str_no_skip = ustring("Вы уже в заявке!"); var str_skip_enable = ustring("Пройти мимо"); var str_arh_record = ustring("Рекорд из архива (до 01.03.2015)"); var str_need_skip = ustring("ГO. Охоты можно пропустить."); var str_auto_skip = ustring("ГO. Охоту пропускаю."); var str_hunt_found = ustring("ГO. Охота найдена."); var str_show_archive_r = ustring("Архив рекордов до 01.03.2015"); var str_hide_archive_r = ustring("Текущие рекорды"); var str_update = ustring("Проверить обновление скрипта."); var str_autor = ustring("Сообщить о найденной ошибке."); var str_url_aut = ustring("/sms-create.php?mailto=&subject=Скрипт: Помощник ГО v. ")+version+ustring(". Найдена ошибка:"); var str_zagl1_list = ustring("Выберите существ для охоты. Всего "); var str_zagl2_list = ustring("."); var str_all_mark = ustring("Пометить всех"); var str_all_unmark = ustring("Снять у всех"); var str_all_flying = ustring("Все летающие"); var str_all_noflying = ustring("Кроме летающих"); var str_skip_no_half = ustring(" и <b><font color=royalblue>(</font></b>оставлять [1/2] или "); var str_diamond_search = ustring(" бриллианта"); //*************** Конвертация ******************************** function hex_2_bin(hex) { var hex2bin = { 0: "0000", 1: "0001", 2: "0010", 3: "0011", 4: "0100", 5: "0101", 6: "0110", 7: "0111", 8: "1000", 9: "1001", A: "1010", B: "1011", C: "1100", D: "1101", E: "1110", F: "1111" }; var str_bin = ""; for (var i=0; i<hex.length;i++) str_bin +=hex2bin[hex[i]]; return str_bin; } //*************** Конвертация ******************************** function bin_2_hex(bin) { var bin2hex = { "0000": "0", "0001": "1", "0010": "2", "0011": "3", "0100": "4", "0101": "5", "0110": "6", "0111": "7", "1000": "8", "1001": "9", "1010": "A", "1011": "B", "1100": "C", "1101": "D", "1110": "E", "1111": "F" }; var n_hex_sym = Math.ceil(bin.length/4); var str_hex = ""; var sym4; for (var i=0; i< n_hex_sym; i++) { sym4 = bin.substr(i*4,4); str_hex += bin2hex[sym4]; } return str_hex; } //*********************************************************** function fill_hex_massive (n, s) { var arr = ""; for (var i = 0; i < n; i++) arr += s; return arr; } //*********************************************************** function show_List() { if (url_cur.indexOf('map.php') == -1) return; if (skip_mode) { //если пропуск по опыту, то кнопку вызова списка не отображать var elem = document.getElementById("get_list_go"); if (elem != null) elem.parentNode.removeChild(elem); //если кнопка уже есть, то её убрать return; } // var x2= document.querySelector("div >a[href*='ecostat.php']"); var x2= document.querySelector("div[class*='global_container_block_header']"); if (x2 == null) return; x2 = x2.parentNode; var str_settings = "\u21B4"; var d = document.createElement('div'); d.id="get_list_go"; d.setAttribute('style', 'position: absolute; margin: 0px 0px 0px 900px; text-align: center;'); //Положение кнопки, для вызова настроек d.innerHTML = '<style> .hwm_go * {font-size: 12px; color: #592C08;} .cell_go {white-space: nowrap; height: 20px; font-weight: bold; cursor: pointer; -webkit-filter: brightness(1.2); filter: brightness(120%); position: relative; display: inline-block; background: url(i/btns/job_fl_btn_bg.png) #d4b87e; background-size: 100% 100%; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; transition-duration: .1s; -webkit-transition-duration: .1s; -moz-transition-duration: .1s; -o-transition-duration: .1s; -ms-transition-duration: .1s; box-shadow: inset 0 0 0 1px #fce6b0, inset 0 0 0 2px #a78750, 0 0 0 1px rgba(0,0,0,.13);} </style>' + '<table class="list_go" width=20px> <tr height=20>' + // Размер кнопки и фон, для вызова настроек // '<td class="cell_list" style="cursor:pointer" id="set_list"><font style="font-size:20px;">'+str_settings+'</font></td>' + '<td class="cell_list" style="white-space: nowrap; height: 20px; font-weight: bold; cursor: pointer; position: relative; display: inline-block; background: url(i/btns/job_fl_btn_bg.png) #d4b87e; background-size: 100% 100%; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; transition-duration: .1s; -webkit-transition-duration: .1s; -moz-transition-duration: .1s; -o-transition-duration: .1s; -ms-transition-duration: .1s; box-shadow: inset 0 0 0 1px #fce6b0, inset 0 0 0 2px #a78750, 0 0 0 1px rgba(0,0,0,.13);" id="set_list"> <img width="18" src="//dcdn.heroeswm.ru/i/mobile_view/icons_add/pismo.png"> </td>' + '</tr> </table>'; x2.insertBefore(d,x2.firstChild); //Вставка куска addEvent( $("set_list"), "click", settings_list ); //Привязка к куску на клик вызов функции //************ function list_close() { var bg = $('bgOverlay'); var bgc = $('bgCenter'); bg.parentNode.removeChild(bg); bgc.parentNode.removeChild(bgc); } //************ function settings_list() { var bg = $('bgOverlay'); var bgc = $('bgCenter'); var bg_height = ScrollHeight(); if ( !bg ) { bg = document.createElement('div'); document.body.appendChild( bg ); bgc = document.createElement('div'); document.body.appendChild( bgc ); } bg.id = 'bgOverlay'; bg.style.position = 'absolute'; bg.style.left = '0px'; bg.style.width = '100%'; bg.style.background = "#000000"; bg.style.opacity = "0.5"; bg.style.zIndex = "1100"; bgc.id = 'bgCenter'; bgc.style.position = 'absolute'; bgc.style.left = ( ( ClientWidth() - 420 ) / 2 ) + 'px'; bgc.style.width = '475px'; bgc.style.height = '475px'; bgc.style.overflow = 'auto'; //scrolling bgc.style.background = "#F6F3EA"; bgc.style.zIndex = "1105"; addEvent(bg, "click", list_close); //клик вне окна //форма и внешний вид окно настроек var s_style = "<style>.cre_mon_image2 {position:absolute;top:0;left:0;}.cre_creature {font-weight:400;font-family: 'Arial',sans-serif; width: 60px; position: relative; letter-spacing: normal;font-size: 16px; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; display:inline-block;}</style>"; var s_innerHTML = s_style+'<div style="border:0px solid #abc;padding:5px;margin:2px;"><div style="float:right;border:1px solid #abc;width:15px;height:15px;text-align:center;cursor:pointer;" id="bt_close_tr2" title="Close">x</div>'+ //заголовок окна настроек '<table cellspacing="0" ><tr><td colspan=2><b>'+str_zagl1_list+'<font style="color:#FF0000;"> '+n_monstrs+'</font> '+str_zagl2_list+'</b><hr/></td></tr>'+ //пропуск охот по опыту '<tr><td colspan=2>'+ '<input type="submit" id="set_all_mark_ok" value="'+str_all_mark +'">'+ '<input type="submit" id="set_all_flying_ok" value="'+str_all_flying+'">'+ '<input type="submit" id="set_all_noflying_ok" value="'+str_all_noflying+'">'+ '<input type="submit" id="set_all_unmark_ok" value="'+str_all_unmark+'">'+ '</td></tr>'; var n_m = 0; var s_bgcolor; var s_pic_out=""; for (var key in mob_rus_exp) { //перебор существ из базы и выводим чекбоксы с именем существа if (skip_bin_base[n_m]=="1") s_bgcolor="style=background-color:#B0FFB0;"; else s_bgcolor=""; if (pic_enable) s_pic_out = '<tr><td><div class="cre_creature"><img width="60" height="50" border="0" src="https://dcdn.heroeswm.ru/i/portraits/'+mob_rus_exp[$ustring(key)][2]+'anip33.png"> <img class="cre_mon_image2" width="60" height="50" border="0" src="https://dcdn.heroeswm.ru/i/army_html/frame_lvl1_120x100_woa.png?v=1"></td>';//выводим картинку s_innerHTML += s_pic_out+ '<td '+s_bgcolor+' id=cell_'+n_m+'><label><input type=checkbox '+(skip_bin_base[n_m]==1?"checked":"")+' id=set_monstr_'+n_m+'>'+ //выводим чекбокс '<font style="font-size:16px; vertical-align:center">'+ustring(key)+'</font></label></div></td></tr>'; //выводим имя существа n_m++; } s_innerHTML +='</table>'; //концовка bgc.innerHTML = s_innerHTML; n_m = 0; //********* назначение событий ******* for (var key in mob_rus_exp) { appendEvent(n_m++); } //назначаем на события на каждый чек бокс document.getElementById('set_all_mark_ok').onclick = function(){all_mark_ok("F")}; //Пометить все document.getElementById('set_all_flying_ok').onclick = function(){all_flying_mark()}; //Пометить летающих document.getElementById('set_all_noflying_ok').onclick = function(){all_noflying_mark()}; //Кроме летающих document.getElementById('set_all_unmark_ok').onclick = function(){all_mark_ok("0")}; //Сбросить все addEvent($("bt_close_tr2"), "click", list_close); //крестик в углу bg.style.top = '0px'; bg.style.height = bg_height + 'px'; bgc.style.top = ( window.pageYOffset + 155 ) + 'px'; bg.style.display = ''; bgc.style.display = ''; } //********* обработчики полей ввода ******* function appendEvent(n) { document.getElementById('set_monstr_'+n).onclick = function(){change_enable_mostr(n)};} function change_enable_mostr(n) { //Обработка чекбоксов с изменением массивов var s_bgcolor; skip_bin_base = skip_bin_base.substr(0,n)+ (1-skip_bin_base[n]) +skip_bin_base.substr(n+1); skip_base = bin_2_hex(skip_bin_base); if (skip_bin_base[n]=="1") s_bgcolor="#B0FFB0"; else s_bgcolor=""; document.getElementById("cell_"+n).style.backgroundColor = s_bgcolor; gm_set("skip_base", skip_base); } function all_mark_ok(zn){ //заполняем массив значением zn skip_base = fill_hex_massive(skip_base.length, zn); skip_bin_base = hex_2_bin(skip_base); var n = 0; var s_bgcolor; var bool = true; if (zn == "0") bool = false; for (var key in mob_rus_exp) { if (skip_bin_base[n]=="1") s_bgcolor="#B0FFB0"; else s_bgcolor=""; document.getElementById("cell_"+n).style.backgroundColor = s_bgcolor; document.getElementById('set_monstr_'+n++).checked = bool; } gm_set("skip_base", skip_base); } function all_flying_mark(){ //заполняем летающих существ var n = 0; for (var key in mob_rus_exp) { if(mob_rus_exp[key][3] == 1){ skip_bin_base = skip_bin_base.substr(0,n)+"1"+skip_bin_base.substr(n+1); document.getElementById("cell_"+n).style.backgroundColor = "#B0FFB0"; document.getElementById('set_monstr_'+n).checked = true; } n++; } skip_base = bin_2_hex(skip_bin_base); gm_set("skip_base", skip_base); } function all_noflying_mark(){ //заполняем всех кроме летающих существ var n = 0; for (var key in mob_rus_exp) { if(mob_rus_exp[key][3] == 0){ skip_bin_base = skip_bin_base.substr(0,n)+"1"+skip_bin_base.substr(n+1); document.getElementById("cell_"+n).style.backgroundColor = "#B0FFB0"; document.getElementById('set_monstr_'+n).checked = true; } n++; } skip_base = bin_2_hex(skip_bin_base); gm_set("skip_base", skip_base); } //************ function $(id) { return document.querySelector("#"+id); } function addEvent(elem, evType, fn) { if (elem.addEventListener) elem.addEventListener(evType, fn, false); else if (elem.attachEvent) elem.attachEvent("on" + evType, fn); else elem["on" + evType] = fn; } function ClientWidth() {return document.compatMode=='CSS1Compat' && document.documentElement?document.documentElement.clientWidth:document.body.clientWidth;} function ScrollHeight() {return Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);} } //************ Начало фрагментов кода от (C) Demin с моими вставками и комментариями ********************************** function showSettings() { if (url_cur.indexOf('map.php') == -1) return; // var x1= document.querySelector("div >a[href*='ecostat.php']"); var x1= document.querySelector("div[class*='global_container_block_header']"); if (x1 == null) return; x1 = x1.parentNode; var str_settings, width_but, left_pos; if (short_button==0) { str_settings = str_settings_1; width_but = 80; left_pos = 493;} else { str_settings = str_settings_2; width_but = 20; left_pos = 468;} var d = document.createElement('div'); d.setAttribute('style', 'position: absolute; margin: 0px 0px 0px 780px; text-align: center;'); //Положение кнопки, для вызова настроек d.innerHTML = '<style> .hwm_go * {font-size: 12px; color: #592C08;} .cell_go {white-space: nowrap; height: 20px; font-weight: bold; cursor: pointer; -webkit-filter: brightness(1.2); filter: brightness(120%); position: relative; display: inline-block; background: url(i/btns/job_fl_btn_bg.png) #d4b87e; background-size: 100% 100%; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; transition-duration: .1s; -webkit-transition-duration: .1s; -moz-transition-duration: .1s; -o-transition-duration: .1s; -ms-transition-duration: .1s; box-shadow: inset 0 0 0 1px #fce6b0, inset 0 0 0 2px #a78750, 0 0 0 1px rgba(0,0,0,.13);} </style>' + '<table class="hwm_go" width='+width_but+'px> <tr height=20>' + // Размер кнопки и фон, для вызова настроек '<td class="cell_go" style="cursor:pointer" id="set_go"><font style="font-size:12px;">'+str_settings+'</font></td>' + '</tr> </table>'; x1.insertBefore(d,x1.firstChild); //Вставка куска addEvent( $("set_go"), "click", settings_go ); //Привязка к куску на клик вызов функции //************ function settings_go_close() { var bg = $('bgOverlay'); var bgc = $('bgCenter'); bg.parentNode.removeChild(bg); bgc.parentNode.removeChild(bgc); } //************ function settings_go() { var bg = $('bgOverlay'); var bgc = $('bgCenter'); var bg_height = ScrollHeight(); if ( !bg ) { bg = document.createElement('div'); document.body.appendChild( bg ); bgc = document.createElement('div'); document.body.appendChild( bgc ); } bg.id = 'bgOverlay'; bg.style.position = 'absolute'; bg.style.left = '0px'; bg.style.width = '100%'; bg.style.background = "#000000"; bg.style.opacity = "0.5"; bg.style.zIndex = "1100"; bgc.id = 'bgCenter'; bgc.style.position = 'absolute'; bgc.style.left = ( ( ClientWidth() - 600 ) / 2 ) + 'px'; bgc.style.width = '610px'; bgc.style.background = "#F6F3EA"; bgc.style.zIndex = "1105"; addEvent(bg, "click", settings_go_close); //форма и внешний вид окно настроек //общая рамка bgc.innerHTML = '<div style="border:1px solid #abc;padding:5px;margin:2px;">'+ //заголовок окна настроек / версия скрипта / количество существ '<table><tr><td colspan=3><b>'+str_start+'<font style="color:#0070FF;">'+version+'</font>. Всего существ: <font style="color:#FF0000;">'+n_monstrs+'</font>'+str_zagl2_list+'</b>'+ //кнопка закрытия '<div style="float:right;border:1px solid #abc;width:15px;height:15px;text-align:center;cursor:pointer;" id="bt_close_tr" title="Close">x</div><hr/>'+ //Суммарное HP. '<label><input type=checkbox '+html_if_checked(show_HP)+' id=set_show_HP title=""> '+str_show_HP+'</label><br>'+ //Опыт с помощником 50/50 '<label><input type=checkbox '+html_if_checked(enable_Exp_Half)+' id=set_enable_Exp_Half title=""> '+str_show_1+'</label><br>'+ //кол-во для мин.прироста '<label><input type=checkbox '+html_if_checked(enable_5_procent)+' id=set_enable_5_procent title=""> '+str_show_2+'</label><hr/>'+ //подсвечивать выгодные охоты '<label><input type=checkbox '+html_if_checked(only_Gud_ExpUm)+' id=set_only_Gud_ExpUm title=""> '+str_hilight+'</label><br>'+ //Искать чужие охоты (в групповых боях). Обновление: 5с. '<label><input type=checkbox '+html_if_checked(find_Hunt)+' id=set_find_Hunt title=""> '+str_find_hunt+'</label>'+ //Предупреждать, если есть незаполненная охота. '<label>'+str_beep_if_free+'<input type=checkbox '+html_if_checked(beep_if_free)+' id=set_beep_if_free title=""></label><hr/>'+ //Рекорд из архива. '<label><input type=checkbox '+html_if_checked(show_archive)+' id=set_show_archive title=""> '+str_show_archive+'</label> <img src="https://dcdn.heroeswm.ru/i/icons/attr_knowledge.png" width="18"><br>'+ //Грин Пис. '<label><input type=checkbox '+html_if_checked(grin_Pis)+' id=set_Grin_Pis title=""> '+str_Grin_Pis+'</label><hr/>'+ '</td></tr>'+ //коэфициент перекача '<tr><td colspan=3>'+ str_koef_0+'<font style="color:#0070FF;"><b id=k_p>' +Number(koef).toFixed(4) +'</b></font><br>' + str_koef_1+' <input id="set_koef" value="' +Number(koef).toFixed(4) +'"size="4" maxlength="6"> <input type="submit" id="set_koef_ok" value="OK"><hr/>'+ //Выбор пропусков str_skip_select_3 str_skip_select_1+ '<label><input type=checkbox '+(skip_mode==1?"checked":"")+' id=set_skip_mode1 title="">'+str_skip_select_2+'</label>'+ '<label><input type=checkbox '+(skip_mode==0?"checked":"")+' id=set_skip_mode2 title="">'+str_skip_select_3+'</label>'+ '<label>'+str_skip_no_half+'<img width="16" height="16" border="0" title="Бриллианты" src="https://dcdn.heroeswm.ru/i/r/48/diamonds.png">'+ '<input type=checkbox '+(skip_no_half==1?"checked":"")+' id=set_skip_no_half title=""><b><font style="color:#4169E1;">)</font></b></label></td></tr>'+ //пропуск охот по опыту '<tr><td width="52%">'+str_skip_hunt+'</td><td colspan=2 width="48%" align="left" title="'+str_title_1+'"> '+ '<input id="set_limit_exp" value="'+limit_exp+'" size="5" maxlength="6"><input type="submit" id="set_limit_exp_ok" value="OK"></td></tr>'+ '<tr><td colspan=3>'+ //Выбор Отображать картинки в списке или нет '<label><input type=checkbox '+html_if_checked(pic_enable)+' id=set_pic_enable title=""> '+str_pic_enable+'</label><hr/>'+ //Сделать кнопку настройки короткую/длинную '<label><input type=checkbox '+html_if_checked(short_button)+' id=set_short_button title=""> '+str_short_button+'</label><hr/></td></tr>'+ //ссылка на сайт скрипта '<tr><td width="40%"><a href="'+str_url+'" target=_blanc>'+str_update+'</a></td><td colspan=2 width="60%" align="right"><a href="'+str_url_aut+'" target=_blanc>'+str_autor+'</a></td></tr></table>'; //концовка //назначение вызова функция при событиях кнопок и чекбоксов addEvent($("bt_close_tr"), "click", settings_go_close); //крестик в углу addEvent($("set_enable_Exp_Half"), "click", change_enable_Exp_Half); //чек-бокс addEvent($("set_enable_5_procent"), "click", change_enable_5_procent); //чек-бокс addEvent($("set_only_Gud_ExpUm"), "click", change_only_Gud_ExpUm); //чек-бокс addEvent($("set_find_Hunt"), "click", change_find_Hunt); //чек-бокс addEvent($("set_beep_if_free"), "click", change_beep_if_free); //чек-бокс addEvent($("set_show_archive"), "click", change_show_archive); //чек-бокс addEvent($("set_show_HP"), "click", change_show_HP); //чек-бокс addEvent($("set_Grin_Pis"), "click", change_Grin_Pis); //чек-бокс addEvent($("set_short_button"), "click", change_short_button); //чек-бокс addEvent($("set_koef_ok"), "click", change_koef); //поле ввода addEvent($("set_limit_exp_ok"), "click", change_limit_exp); //поле ввода addEvent($("set_skip_mode1"), "click", change_skip_mode); //радио addEvent($("set_skip_mode2"), "click", change_skip_mode); //радио addEvent($("set_skip_no_half"), "click", change_skip_no_half); //радио addEvent($("set_pic_enable"), "click", change_pic_enable); //чек-бокс bg.style.top = '0px'; bg.style.height = bg_height + 'px'; bgc.style.top = ( window.pageYOffset + 155 ) + 'px'; bg.style.display = ''; bgc.style.display = ''; } //********* обработчики полей ввода ******* function change_skip_mode() { skip_mode = !skip_mode; document.getElementById('set_skip_mode1').checked = skip_mode; document.getElementById('set_skip_mode2').checked = !skip_mode; show_List(); gm_set_bool("skip_mode", skip_mode); } function change_koef() { if ( Number( $("set_koef").value ) >= 1 ) koef = $("set_koef").value; else koef = Number(1.0); document.getElementById('k_p').innerHTML = Number(koef).toFixed(4); gm_set("koef_dop_exp", koef); } function change_limit_exp() { if ( Number( $("set_limit_exp").value ) >= 0 ) limit_exp = Number($("set_limit_exp").value).toFixed(0); else limit_exp = 0; gm_set("limit_exp", limit_exp); } //*********** обработчики чек-боксов ***** function change_skip_no_half() {gm_set_bool("skip_no_half", skip_no_half = !skip_no_half);} function change_enable_Exp_Half() {gm_set_bool("enable_Exp_Half", enable_Exp_Half = !enable_Exp_Half);} function change_enable_5_procent() {gm_set_bool("enable_5_procent", enable_5_procent = !enable_5_procent);} function change_only_Gud_ExpUm() {gm_set_bool("only_Gud_ExpUm", only_Gud_ExpUm = !only_Gud_ExpUm);} function change_find_Hunt() {gm_set_bool("find_Hunt", find_Hunt = !find_Hunt);} function change_beep_if_free() {gm_set_bool("beep_if_free", beep_if_free = !beep_if_free);} function change_show_archive() {gm_set_bool("show_archive", show_archive = !show_archive);} function change_show_HP() {gm_set_bool("show_HP", show_HP = !show_HP);} function change_Grin_Pis() {gm_set_bool("grin_Pis", grin_Pis = !grin_Pis);} function change_pic_enable() {gm_set_bool("pic_enable",pic_enable = !pic_enable);} function change_short_button() {gm_set_bool("short_button",short_button = !short_button); if (short_button==0) { str_settings = str_settings_1; width_but = 80; left_pos = 493;} else { str_settings = str_settings_2; width_but = 20; left_pos = 468;} d.setAttribute('style', 'position: absolute; margin: 0px 0px 0px 780px; text-align: center;'); //Положение кнопки, для вызова настроек d.innerHTML = '<style> .hwm_go * {font-size: 12px; color: #592C08;} .cell_go {white-space: nowrap; height: 20px; font-weight: bold; cursor: pointer; -webkit-filter: brightness(1.2); filter: brightness(120%); position: relative; display: inline-block; background: url(i/btns/job_fl_btn_bg.png) #d4b87e; background-size: 100% 100%; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; transition-duration: .1s; -webkit-transition-duration: .1s; -moz-transition-duration: .1s; -o-transition-duration: .1s; -ms-transition-duration: .1s; box-shadow: inset 0 0 0 1px #fce6b0, inset 0 0 0 2px #a78750, 0 0 0 1px rgba(0,0,0,.13);} </style>' + '<table class="hwm_go" width='+width_but+'px> <tr height=20>' + // Размер кнопки и фон, для вызова настроек '<td class="cell_go" style="cursor:pointer" id="set_go"><font style="font-size:12px;">'+str_settings+'</font></td>' + '</tr> </table>'; addEvent( $("set_go"), "click", settings_go ); //Привязка к куску на клик вызов функции } //********** непонятно что, взято 1:1 у Demin ****** function $(id) { return document.querySelector("#"+id); } function addEvent(elem, evType, fn) { if (elem.addEventListener) elem.addEventListener(evType, fn, false); else if (elem.attachEvent) elem.attachEvent("on" + evType, fn); else elem["on" + evType] = fn; } function ClientWidth() {return document.compatMode=='CSS1Compat' && document.documentElement?document.documentElement.clientWidth:document.body.clientWidth;} function ScrollHeight() {return Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);} } //************ Конец фрагментов кода от (C) Demin ********************************** var sectors = { "cx=50&cy=50":1, //Empire Capital "cx=51&cy=50":2, //East River "cx=50&cy=49":3, //Tiger Lake "cx=51&cy=49":4, //Rogues' Wood "cx=50&cy=51":5, //Wolf Dale "cx=50&cy=48":6, //Peaceful Camp "cx=49&cy=51":7, //Lizard Lowland "cx=49&cy=50":8, //Green Wood "cx=49&cy=48":9, //Eagle Nest "cx=50&cy=52":10, //Portal Ruins "cx=51&cy=51":11, //Dragon Caves "cx=49&cy=49":12, //Shining Spring "cx=48&cy=49":13, //Sunny Sity "cx=52&cy=50":14, //Magma Mines "cx=52&cy=49":15, //Bear Mountain "cx=52&cy=48":16, //Fairy Trees "cx=53&cy=50":17, //Harbour City (Port City) "cx=53&cy=49":18, //Mithril Coast "cx=51&cy=52":19, //GreatWall "cx=51&cy=53":20, //Titans' Valley "cx=52&cy=53":21, //Fishing Village "cx=52&cy=54":22, //Kingdom Capital "cx=48&cy=48":23, //Ungovernable Steppe "cx=51&cy=48":24, //Crystal Garden "cx=53&cy=52":25, //East Island "cx=49&cy=52":26, //The Wilderness "cx=48&cy=50":27 //Sublime Arbor } //**************************************************** var mob_rus_exp = { //Cтруктура:[опыт,HP,код,птица] "Абордажники":[30,16,"bpirate",0], "Адепты":[121,80,"zealot",0], "Адские жеребцы":[136,50,"nightmare",0], "Адские жнецы":[250,99,"zhryak",0], "Адские псы":[33,15,"demondog",0], "Адские реаниматоры":[43,27,"reanimatorup",0], "Адские троглодиты":[7,6,"troglodyteup",0], "Айсберговые элементали":[50,90,"iceelb",1], "Алмазные големы":[110,60,"diamondgolem",0], "Алмасты":[400,290,"yetiup",0], "Ангелы":[330,180,"angel",1], "Арбалетчики":[19,10,"marksman",0], "Архангелы":[390,220,"archangel",1], "Архидемоны":[312,211,"archdemon",0], "Архидьяволы":[311,199,"archdevil",0], "Архиличи":[110,55,"archlich",0], "Архимаги":[70,30,"archmage",0], "Ассасины":[33,14,"assasin",0], "Ассиды":[53,30,"assida",1], "Астральные драконы":[310,150,"ghostdragon",1], "Баньши":[205,110,"banshee",0], "Бегемоты":[350,210,"behemoth",0], "Берсерки":[42,25,"berserker",0], "Бестии":[30,16,"maiden",0], "Бесы":[6,4,"imp",0], "Бехолдеры":[33,22,"beholder",0], "Блуждающие огни":[7,10,"wisp",1], "Боевые грифоны":[45,35,"battlegriffin",1], "Боевые единороги":[135,77,"silverunicorn",0], "Боевые кентавры":[21,10,"mcentaur",0], "Боевые маги":[72,29,"battlemage",0], "Боевые слоны":[120,100,"slon",0], "Браконьеры":[33,16,"poacher",0], "Вампиры":[68,30,"vampire",0], "Вармонгеры":[36,20,"warmong",0], "Ведьмы-призраки":[30,20,"cursed_",1], "Ведьмы моря":[70,35,"priestessup",0], "Великаны":[160,100,"giant",0], "Великаны-лучники":[130,100,"giantarch",0], "Великие левиафаны":[300,250,"upleviathan",0], "Вендиго":[20,25,"wendigo",0], "Верховные друиды":[101,38,"ddeld",0], "Вестники смерти":[205,100,"wraith",0], "Виверны":[170,90,"wyvern",1], "Визири джиннов":[110,50,"djinn_vizier",1], "Владычицы тени":[185,90,"matriarch",0], "Водные элементали":[57,43,"water",0], "Вожаки":[100,48,"chieftain",0], "Воздушные элементали":[59,30,"air",1], "Воины Анубиса":[420,200,"anubisup",0], "Воины ярости":[42,30,"battlerager",0], "Воины-наёмники":[25,24,"mercfootman",0], "Воители":[12,12,"shieldguard",0], "Волшебные драконы":[800,500,"faeriedragon",1], "Воры-колдуны":[35,30,"thiefmage",0], "Воры-разведчики":[35,45,"thiefwarrior",0], "Воры-убийцы":[35,40,"thiefarcher",0], "Высшие ангелы":[390,220,"seraph2",1], "Высшие вампиры":[70,35,"vampirelord",0], "Высшие личи":[100,55,"masterlich",0], "Вышибалы":[30,24,"highwayman",0], "Гарпии":[29,15,"harpy",1], "Гарпии-ведьмы":[45,15,"harpyhag",1], "Гарпунеры":[18,10,"harpooner",0], "Гигантские пауки":[50,55,"bigspider",0], "Гигантские ящеры":[25,25,"lizard_",0], "Гидры":[108,80,"hydra",0], "Глаза тьмы":[33,26,"darkeye",0], "Глубоководные черти":[140,105,"upseamonster",0], "Гниющие зомби":[17,23,"rotzombie",0], "Гоблины":[5,3,"goblin",0], "Гоблины-лучники":[9,3,"goblinarcher",0], "Гоблины-маги":[9,3,"goblinmag",0], "Гоблины-трапперы":[15,7,"trapper",0], "Гоги":[13,13,"gog",0], "Големы смерти":[329,350,"dgolem",0], "Головорезы":[6,8,"brute",0], "Горные стражи":[24,12,"mountaingr",0], "Гремлины":[5,5,"gremlin",0], "Гремлины-вредители":[9,6,"saboteurgremlin",0], "Грифоны":[59,30,"griffon",1], "Громовержцы":[162,120,"thunderlord",0], "Громоглавы":[14,10,"axegnom",0], "Гунны":[60,33,"nomadup",0], "Дезертиры":[40,25,"deserter",0], "Демонессы":[67,30,"succubusm",0], "Детёныши ящера":[13,13,"smalllizard_",0], "Джинны":[103,40,"djinn",1], "Джинны-султаны":[110,45,"djinn_sultan",1], "Дикие энты":[210,175,"savageent",0], "Дозорные":[7,5,"robber",0], "Дочери земли":[72,35,"eadaughter",0], "Дочери неба":[75,35,"sdaughter",0], "Древние бегемоты":[390,250,"abehemoth",0], "Древние кабаны":[12,15,"ancientpig",0], "Древние мумии":[135,80,"amummy",0], "Древние энты":[210,181,"ancienent",0], "Дриады":[20,6,"sprite",1], "Друиды":[74,34,"dd_",0], "Духи":[27,20,"poltergeist",1], "Духи леса":[90,50,"forestspirit",1], "Духи океана":[53,30,"ocean",1], "Дьяволы":[245,166,"devil",0], "Дьяволята":[10,6,"vermin",0], "Единороги":[124,57,"unicorn",0], "Железные големы":[33,18,"golem",0], "Жрецы рун":[59,60,"runepriest",0], "Жрицы луны":[60,50,"priestmoon",0], "Жрицы моря":[70,35,"priestess",0], "Жрицы огня":[70,40,"gnomka",0], "Жрицы солнца":[70,55,"priestsun",0], "Защитники веры":[20,23,"vindicator",0], "Защитники гор":[7,7,"defender",0], "Зелёные драконы":[350,200,"greendragon",1], "Земные элементали":[63,75,"earth",0], "Злобные глаза":[33,22,"evileye",0], "Зомби":[11,17,"zombie",0], "Изумрудные драконы":[400,200,"emeralddragon",1], "Имперские грифоны":[62,35,"impergriffin",1], "Инквизиторы":[121,80,"inquisitor",0], "Искусительницы":[65,26,"seducer",0], "Ифриты":[200,90,"efreeti",1], "Ифриты султаны":[250,100,"efreetisultan",1], "Йети":[400,280,"yeti",0], "Кабаны":[12,17,"boar",0], "Каменные горгульи":[16,15,"gargoly",1], "Каменные монстры":[20,28,"kammon",0], "Камнегрызы":[67,55,"kamnegryz",0], "Камнееды":[56,45,"kamneed",0], "Кентавры":[13,6,"fcentaur",0], "Князья вампиров":[70,40,"vampireprince",0], "Колдуны-ренегаты":[6,6,"outlaw",0], "Колоссы":[350,175,"colossus",0], "Кони преисподней":[138,66,"hellstallion",0], "Копейщики":[15,15,"pikeman",0], "Корсарки":[32,12,"piratkaup",0], "Корсары":[16,13,"apirate",0], "Костоломы":[27,20,"brawler",0], "Костяные драконы":[280,150,"bonedragon",1], "Кочевники":[50,30,"nomad",0], "Кочевые кентавры":[20,9,"ncentaur",0], "Кошмары":[140,66,"stallion",0], "Красные драконы":[400,235,"reddragon",1], "Крестьяне":[5,4,"paesant",0], "Крестоносцы":[27,30,"crusader",0], "Кристальные драконы":[400,200,"crystaldragon",1], "Кровавые ящеры":[30,35,"redlizard_",0], "Кровоглазые циклопы":[500,235,"bloodeyecyc",0], "Кшатрии ракшасы":[162,135,"rakshasa_kshatra",0], "Лавовые драконы":[329,275,"lavadragon",0], "Лазутчики":[20,10,"scout",0], "Лазутчицы":[12,8,"banditka",0], "Латники":[21,26,"swordman",0], "Левиафаны":[250,200,"leviathan",0], "Ледяные драконы":[250,220,"iceddragon",1], "Ледяные элементали":[50,45,"iceel",1], "Лепреконы":[11,7,"lepr",0], "Лесные снайперы":[42,12,"arcaneelf",0], "Лесные хоббиты":[9,6,"bobbit",0], "Лесные шаманы":[200,110,"shaman",0], "Личи":[87,50,"lich",0], "Ловчие":[34,15,"stalker",0], "Лучники":[15,7,"archer",0], "Маги":[63,18,"mage",0], "Магические элементали":[200,80,"magicel",0], "Магма драконы":[329,280,"magmadragon",0], "Магнитные големы":[57,28,"magneticgolem",0], "Магоги":[16,13,"magog",0], "Мантикоры":[130,80,"manticore",1], "Мародёры":[10,7,"maroder",0], "Мастера копья":[17,12,"skirmesher",0], "Мастера лука":[42,14,"hunterelf",0], "Матросы-чужеземцы":[24,17,"negro",0], "Мегеры":[49,24,"bloodsister",0], "Медведи":[22,22,"bear",0], "Медузы":[45,25,"medusa",0], "Медузы королевы":[55,30,"medusaup",0], "Метатели боласов":[12,6,"gnollum",0], "Метатели копья":[11,10,"spearwielder",0], "Минотавры":[39,31,"minotaur",0], "Минотавры-стражи":[56,35,"minotaurguard_",0], "Минотавры-надсмотрщики":[56,40,"taskmaster",0], "Могильные големы":[400,400,"dgolemup",0], "Мобильные баллисты":[100,65,"cbal",0], "Молотобойцы":[12,9,"gnomon",0], "Монахи":[101,54,"priest",0], "Морские волки":[30,25,"ppirate",0], "Морские дьяволы":[300,190,"piratemonster",0], "Морские черти":[120,90,"seamonster",0], "Мумии":[115,50,"mummy",0], "Мумии фараонов":[135,70,"pharaoh",0], "Мятежники":[10,7,"enforcer",0], "Наги":[160,110,"naga",0], "Наездники на верблюдах":[60,40,"dromad",0], "Наездники на волках":[20,10,"wolfrider",0], "Наездники на гиенах":[31,13,"hyenarider",0], "Наездники на кабанах":[31,14,"boarrider",0], "Наездники на медведях":[24,25,"bearrider",0], "Наездники на ящерах":[65,40,"lizardrider",0], "Налетчики на верблюдах":[70,45,"dromadup",0], "Налётчики на волках":[31,12,"hobwolfrider",0], "Никсы":[110,80,"reptiloid",0], "Никсы-воины":[180,90,"reptiloidup",0], "Нимфы":[20,6,"dryad_",1], "Обречённые бомбардиры":[208,76,"pushkarup",0], "Обсидиановые горгульи":[26,20,"obsgargoly",1], "Огненные гончие":[36,15,"firehound",0], "Огненные демоны":[23,13,"fdemon",0], "Огненные драконы":[255,230,"firedragon",0], "Огненные птицы":[117,65,"firebird_",1], "Огненные элементали":[60,43,"fire",0], "Огры":[60,50,"ogre",0], "Огры-ветераны":[75,70,"ogrebrutal",0], "Огры-маги":[74,65,"ogremagi",0], "Огры-шаманы":[74,55,"ogreshaman",0], "Одноглазые пираты":[190,120,"fatpirateup",0], "Одноногие пираты":[55,30,"ppirateup",0], "Ополченцы":[7,6,"conscript",0], "Орки":[29,12,"orc",0], "Орки-вожди":[38,18,"orcchief",0], "Орки-тираны":[38,20,"orcrubak",0], "Орки-шаманы":[33,13,"orcshaman",0], "Паладины":[262,100,"paladin",0], "Палачи":[83,40,"executioner",0], "Пауки":[15,9,"spider",0], "Пехотинцы":[17,16,"footman",0], "Пещерные владыки":[195,120,"pitlord_",0], "Пещерные гидры":[115,125,"deephydra",0], "Пещерные демоны":[157,110,"pitfiend_",0], "Пещерные отродья":[165,140,"pitspawn",0], "Пиратки":[20,10,"piratka",0], "Пираты зомби":[200,150,"zpirate",0], "Пираты Ктулху":[350,200,"piratemonsterup",0], "Пироманьяки":[10,20,"piroman",0], "Пожиратели плоти":[130,70,"hungerplant",0], "Привидения":[26,8,"ghost",1], "Прибрежные налётчики":[10,19,"spearthrower",0], "Призраки":[27,19,"spectre",1], "Призраки пираток":[17,8,"gpiratka",1], "Призрачные драконы":[310,160,"spectraldragon",1], "Принцессы ракшас":[155,120,"rakshas",0], "Проворные наездники":[94,50,"briskrider",0], "Проклятые бегемоты":[400,250,"dbehemoth",0], "Проклятые горгульи":[25,35,"hgarg",1], "Проклятые энты":[250,215,"cursedent",0], "Птицы грома":[115,65,"thunderbird",1], "Птицы тьмы":[120,60,"darkbird",1], "Пустынные налетчики":[50,40,"vulture",1], "Пустынные рейдеры":[22,12,"duneraider",0], "Пустынные убийцы":[24,12,"duneraiderup",0], "Раджи ракшас":[160,140,"rakshasa_raja",0], "Расхитители могил":[14,10,"tombraider",0], "Реаниматоры":[40,27,"reanimator",0], "Ретиарии":[12,25,"gladiator",0], "Рогатые демоны":[14,13,"hdemon",0], "Рогатые жнецы":[200,99,"rapukk",0], "Роки":[104,55,"roc",1], "Рубаки":[6,5,"brigand",0], "Рыцари":[232,90,"knight",0], "Рыцари смерти":[190,100,"deadknight",0], "Рыцари тьмы":[160,90,"blackknight",0], "Светлые единороги":[135,80,"pristineunicorn",0], "Свирепые бегемоты":[410,280,"dbehemoth",0], "Свободные циклопы":[700,225,"untamedcyc",0], "Священные скарабеи":[11,6,"scarabup",1], "Северные наездники":[36,30,"whitebearrider",0], "Серебряные пегасы":[50,30,"spegasus",1], "Силачи":[20,50,"kachok",0], "Сирены":[60,20,"siren",0], "Сирены-искусительницы":[70,24,"upsiren",0], "Скарабеи":[10,6,"scarab",1], "Скелеты":[6,4,"sceleton",0], "Скелеты-арбалетчики":[12,6,"skmarksman",0], "Скелеты-воины":[10,5,"sceletonwar",0], "Скелеты-корсары":[10,4,"skeletonpirateup",0], "Скелеты-моряки":[6,4,"cpirate",0], "Скелеты-лучники":[10,4,"sceletonarcher",0], "Скелеты-пираты":[7,4, "skeletonpirate",0], "Скорпикоры":[140,80,"manticoreup",1], "Скорпионы":[6,4,"scorp",0], "Слуги Анубиса":[350,160,"anubis",0], "Служители оазисов":[110,70,"krokodil",0], "Снежные воины":[35,27,"chuvak",0], "Снежные волки":[70,50,"snowwolf",0], "Снежные монстры":[400,350,"snowmonster",0], "Стальные големы":[54,24,"steelgolem",0], "Старейшины рун":[100,70,"runepatriarch",0], "Старшие гремлины":[9,6,"mastergremlin",0], "Старшие демоны":[20,13,"jdemon",0], "Старшие друиды":[101,34,"ddhigh",0], "Степные бойцы":[23,12,"mauler",0], "Степные воины":[21,12,"warrior",0], "Степные волки":[20,25,"swolf",0], "Степные гоблины":[5,3,"goblinus",0], "Степные циклопы":[390,220,"cyclopus",0], "Стихийные горгульи":[25,16,"elgargoly",1], "Стрелки":[16,8,"crossbowman",0], "Стрелки-наёмники":[15,8,"mercarcher",0], "Суккубы":[61,20,"succub",0], "Сумеречные ведьмы":[157,80,"witch",0], "Сумеречные драконы":[350,200,"shadowdragon",1], "Танцующие с ветром":[33,14,"winddancer",0], "Танцующие с клинками":[20,12,"dancer",0], "Танцующие со смертью":[33,12,"bladedancer",0], "Таны":[131,100,"thane",0], "Тёмные виверны":[195,105,"foulwyvern",1], "Тёмные всадники":[94,50,"grimrider",0], "Тёмные гидры":[115,125,"foulhydra",0], "Тёмные горгульи":[21,30,"burbuly",1], "Титаны":[400,190,"titan",0], "Титаны шторма":[400,190,"stormtitan",0], "Толстяки":[180,100,"fatpirate",0], "Троглодиты":[5,5,"troglodyte",0], "Тролли":[150,150,"troll",0], "Тэнгу":[100,45,"tengu",1], "Убийцы":[70,34,"slayer",0], "Угонщики верблюдов":[55,35,"verblud",0], "Умертвия":[165,95,"wight",0], "Утопленники":[20,16,"drowned",0], "Феи":[12,5,"pp",1], "Фениксы":[600,777,"phoenix",1], "Флибустьеры":[75,18,"shootpirateup",0], "Фурии":[49,16,"fury",0], "Хищные растения":[92,60,"plant",0], "Хоббиты":[8,4,"hobbit",0], "Хобгоблины":[9,4,"hobgoblin",0], "Хозяева медведей":[36,30,"blackbearrider",0], "Хозяйки ночи":[185,100,"mistress",0], "Церберы":[41,15,"cerberus",0], "Циклопы":[172,85,"cyclop",0], "Циклопы-генералы":[187,100,"cyclopod_",0], "Циклопы-короли":[182,95,"cyclopking",0], "Циклопы-шаманы":[190,105,"cyclopshaman",0], "Чародеи-наёмники":[35,36,"mercwizard",0], "Чемпионы":[252,100,"champion",0], "Черные вдовы":[40,14,"blackwidow",0], "Черные скорпионы":[9,5,"scorpup",0], "Черные тролли":[180,180,"blacktroll",0], "Черти":[10,6,"familiar",0], "Чёрные драконы":[400,240,"blackdragon",1], "Чумные зомби":[15,17,"plaguezombie",0], "Шакалы":[30,24,"shakal",0], "Шакалы-воины":[45,30,"shakalup",0], "Шаманки":[66,30,"shamaness",0], "Шпионки":[14,9,"banditkaup",0], "Штурмовые грифоны":[62,52,"battlegriffon",1], "Штурмовые слоны":[150,110,"slonup",0], "Эльфийские лучники":[38,10,"elf",0], "Энты":[187,175,"ent",0], "Ядовитые пауки":[30,14,"spiderpois",0], "Ямабуси Тэнгу":[100,60,"tenguup",1], "Ярлы":[162,120,"flamelord",0] //*************** Новогодние существа *************** // "Злой бык 2021":[69,71,"bull2021",0], // "Свин 2019":[16,19,"pig2019",0], // "Злой пёс 2018":[100,88 ,"evildog",0], // "Злой Петушок 2017":[60,77,"rooster",1], }; var n_monstrs = 0; for (var key in mob_rus_exp) {n_monstrs++} //считаем кол-во существ в базе if (skip_base.length*4 < n_monstrs) { //если существ стало больше, чем в хранящемся массиве с пропусками, skip_base = fill_hex_massive(Math.ceil(n_monstrs/4), "0"); //то расширяем массив вверх до кол-ва кратного 4 и сбрасываем hex массив } var skip_bin_base = hex_2_bin(skip_base); //создаем bin массив //**************************************************** /** Библиотека юникода * * Реализует функции работы с юникодом. * @file lib_unicode.js * @version 1.1.0 * @author DrunkenStranger * @link http://userscripts.org/users/362572 * @license GPL */ function uchar(s) { switch (s[0]) { case "А": return "\u0410"; case "Б": return "\u0411"; case "В": return "\u0412"; case "Г": return "\u0413"; case "Д": return "\u0414"; case "Е": return "\u0415"; case "Ж": return "\u0416"; case "З": return "\u0417"; case "И": return "\u0418"; case "Й": return "\u0419"; case "К": return "\u041a"; case "Л": return "\u041b"; case "М": return "\u041c"; case "Н": return "\u041d"; case "О": return "\u041e"; case "П": return "\u041f"; case "Р": return "\u0420"; case "С": return "\u0421"; case "Т": return "\u0422"; case "У": return "\u0423"; case "Ф": return "\u0424"; case "Х": return "\u0425"; case "Ц": return "\u0426"; case "Ч": return "\u0427"; case "Ш": return "\u0428"; case "Щ": return "\u0429"; case "Ъ": return "\u042a"; case "Ы": return "\u042b"; case "Ь": return "\u042c"; case "Э": return "\u042d"; case "Ю": return "\u042e"; case "Я": return "\u042f"; case "а": return "\u0430"; case "б": return "\u0431"; case "в": return "\u0432"; case "г": return "\u0433"; case "д": return "\u0434"; case "е": return "\u0435"; case "ж": return "\u0436"; case "з": return "\u0437"; case "и": return "\u0438"; case "й": return "\u0439"; case "к": return "\u043a"; case "л": return "\u043b"; case "м": return "\u043c"; case "н": return "\u043d"; case "о": return "\u043e"; case "п": return "\u043f"; case "р": return "\u0440"; case "с": return "\u0441"; case "т": return "\u0442"; case "у": return "\u0443"; case "ф": return "\u0444"; case "х": return "\u0445"; case "ц": return "\u0446"; case "ч": return "\u0447"; case "ш": return "\u0448"; case "щ": return "\u0449"; case "ъ": return "\u044a"; case "ы": return "\u044b"; case "ь": return "\u044c"; case "э": return "\u044d"; case "ю": return "\u044e"; case "я": return "\u044f"; case "Ё": return "\u0401"; case "ё": return "\u0451"; default: return s[0]; } } function ustring(s) { s = String(s); var result = ""; for (var i = 0; i < s.length; i++) result += uchar(s[i]); return result; } //**************************************************** function $uchar(s) { switch (s[0]) { case "\u0410": return "А"; case "\u0411": return "Б"; case "\u0412": return "В"; case "\u0413": return "Г"; case "\u0414": return "Д"; case "\u0415": return "Е"; case "\u0416": return "Ж"; case "\u0417": return "З"; case "\u0418": return "И"; case "\u0419": return "Й"; case "\u041a": return "К"; case "\u041b": return "Л"; case "\u041c": return "М"; case "\u041d": return "Н"; case "\u041e": return "О"; case "\u041f": return "П"; case "\u0420": return "Р"; case "\u0421": return "С"; case "\u0422": return "Т"; case "\u0423": return "У"; case "\u0424": return "Ф"; case "\u0425": return "Х"; case "\u0426": return "Ц"; case "\u0427": return "Ч"; case "\u0428": return "Ш"; case "\u0429": return "Щ"; case "\u042a": return "Ъ"; case "\u042b": return "Ы"; case "\u042c": return "Ь"; case "\u042d": return "Э"; case "\u042e": return "Ю"; case "\u042f": return "Я"; case "\u0430": return "а"; case "\u0431": return "б"; case "\u0432": return "в"; case "\u0433": return "г"; case "\u0434": return "д"; case "\u0435": return "е"; case "\u0436": return "ж"; case "\u0437": return "з"; case "\u0438": return "и"; case "\u0439": return "й"; case "\u043a": return "к"; case "\u043b": return "л"; case "\u043c": return "м"; case "\u043d": return "н"; case "\u043e": return "о"; case "\u043f": return "п"; case "\u0440": return "р"; case "\u0441": return "с"; case "\u0442": return "т"; case "\u0443": return "у"; case "\u0444": return "ф"; case "\u0445": return "х"; case "\u0446": return "ц"; case "\u0447": return "ч"; case "\u0448": return "ш"; case "\u0449": return "щ"; case "\u044a": return "ъ"; case "\u044b": return "ы"; case "\u044c": return "ь"; case "\u044d": return "э"; case "\u044e": return "ю"; case "\u044f": return "я"; case "\u0401": return "Ё"; case "\u0451": return "ё"; default: return s[0]; } } function $ustring(s) { s = String(s); var result = ""; for (var i = 0; i < s.length; i++) result += $uchar(s[i]); return result; } // ********* считывание уровня героя ********** function getLevel() { if(url_cur.indexOf(url_home) == -1){ return; } for (var k = 0; k < all_tables.length; k++) { if (!all_tables[k]) continue; if (!all_tables[k].childNodes[0]) continue; if (!all_tables[k].childNodes[0].childNodes[0]) continue; if (!all_tables[k].childNodes[0].childNodes[0].childNodes[0]) continue; if (!all_tables[k].childNodes[0].childNodes[0].childNodes[0].innerHTML) continue; var str_tbl_info = all_tables[k].childNodes[0].childNodes[0].childNodes[0].innerHTML; if (str_tbl_info.indexOf(str_pl_lvl) > 0) { str_tbl_info = str_tbl_info.substring(str_tbl_info.indexOf(str_pl_lvl) + str_pl_lvl.length); pl_level = str_tbl_info.substring(0, str_tbl_info.search(/\D/)); break; } } gm_set("hunt_exp_pl_level", pl_level); } // *************************************************** function needSkip(skip,mob,expirience,half) //нужно ли пропускать моба? { if ( (!skip_no_half) || (half) ) { //Если режим поиска половинок, а это не половинка, то пропускаем if (skip_mode) { if ((limit_exp == 0) || (expirience*1 <= limit_exp*1)) skip = false; } else { var n = 0; for (var key in mob_rus_exp) { if ((ustring(key) == mob) && (skip_bin_base[n] == "1")) { skip = false; return skip; } n++; } } } return skip; } //**************************************************** function skip_hunt() { //пропустить охоту var x= document.querySelector("div >a[href*='ecostat.php']"); if (x == null) return; document.title = str_auto_skip; setTimeout(function() { window.location.href = location.protocol+'//'+location.hostname+'/'+'map.php?action=skip'; }, 2000); } //**************************************************** function skip_en() { //добавить ссылку на пропуск охот, если стоишь в заявке на бой или карточную игру var x = document.querySelectorAll("tr > td[colspan*='2']"); if (x.length == 0) return; for (var k = 0; k < x.length; k++) { if (x[k].innerHTML == str_no_skip) { x[k].align = 'right'; x[k].innerHTML ='<a href="map.php?action=skip">'+str_skip_enable+'</a>'; } } } //**************************************************** function link2arh_record() { //добавить ссылку на рекорд из архива var link_record, s, el; var x = document.querySelectorAll("div > a[href*='mid=']"); if (x.length == 0) return; for (var k = 0; k < x.length; k++) { link_record = x[k].href; s = link_record.split('&mid'); link_record = s[0]+'&show_archive=1&mid'+s[1]; x[k].insertAdjacentHTML("afterEnd" ,'<br><a href="'+link_record+'" target=_blanc><img border="0" title="'+str_arh_record +'" src="http://dcdn.heroeswm.ru/i/s_knowledge.gif"></a>'); } } // *************************************************** function showExperience() { skip_en(); if (show_archive) {link2arh_record();} if(url_cur.indexOf(url_map) == -1){ return; } var my_td_danger, total_exp, full_exp, next_count, exp_with_helper, next_half_count, min_count, exp_min_count, next_min_count, mob_HP; var str_hunt, str_total_exp, next_level;//, min_kills, exp_min_kills; var mob_name =""; var str_dop =""; var mob_exp = 0; var temp = 0; var hunt_available = false; var half_hunt = false; var diamand_hunt = false; var half_diamond_hunt = false; var skip_all_mob = true; for (var k = 0; k < all_tables.length; k++) { // if (all_tables[k].className == "wbwhite ohota_block global_inside_shadow map_table_margin") // if (all_tables[k].id == "neut_show") if (all_tables[k].id.indexOf("neut_show") != -1) { // if (all_tables[k].childNodes[1].childNodes[0].childNodes[0].childNodes[0].tagName != "DIV") continue; // if (all_tables[k].childNodes[1].childNodes[0].children.length < 2) {break;} // my_td_danger = all_tables[k].childNodes[1]; //if (!my_td_danger){ return; } //no hunt... str_hunt = all_tables[k].childNodes[1].childNodes[0].childNodes[0].innerHTML; var mob_count_b = all_tables[k].childNodes[1].childNodes[0].childNodes[0].childNodes[3].innerHTML; if (str_hunt.indexOf("[1/2]") !=-1) {half_hunt = true} else {half_hunt = false}; //это половинка? if (str_hunt.indexOf(str_diamond_search) !=-1) {diamand_hunt = true} else {diamand_hunt = false}; //это brilliant? half_diamond_hunt = diamand_hunt || half_hunt; mob_count = mob_count_b.substring(0, mob_count_b.indexOf(str_kol)-1) mob_name = str_hunt.substring(str_hunt.indexOf(">")+1, str_hunt.indexOf("</")); var mob_data = mob_rus_exp[$ustring(mob_name)]; if(!mob_data){ //новый моб mob_data = [0,0,"new mob",0]; } if (show_HP){ mob_HP = mob_data[1] * mob_count; str_hunt = str_hunt.replace(str_kol,str_kol+' <font style="font-size:10px;color:#CD00CD">HP:<B>'+mob_HP+'</B></font>'); all_tables[k].childNodes[1].childNodes[0].childNodes[0].innerHTML = str_hunt; } mob_exp = mob_data[0]; hunt_available = true; total_exp = Math.round(mob_exp * mob_count / 5); //Полный опыт в одиночку full_exp = total_exp; next_count = (mob_count*1.3).toFixed(0); //Прирост при победе в одиночку exp_with_helper = (total_exp / 2).toFixed(0); //Опыт с помощником (50/50) next_half_count = (mob_count*Math.pow(1.3, 0.5)).toFixed(0); //Прирост при победе с помощником (50/50) min_count = (mob_count / 5 - 0.5).toFixed(0); //Для минимального 5% прироста exp_min_count = (Math.floor(mob_exp * min_count / 5)).toFixed(0); //Опыт при минимальном приросте next_min_count = (mob_count*Math.pow(1.3, 0.2)).toFixed(0); //Прирост при убийстве <=20% будет ~5.4% total_exp = total_exp > pl_level*500 ? pl_level*500 : total_exp; //Если опыт больше верхней отсечки по уровню exp_with_helper = exp_with_helper > pl_level*500 ? pl_level*500 : exp_with_helper; exp_min_count = exp_min_count > pl_level*500 ? pl_level*500 : exp_min_count; if (pl_level > 2) { //Если опыт меньше нижней отсечки по уровню (3+ уровни) total_exp = total_exp < pl_level*100 ? pl_level*100 : total_exp; exp_with_helper = exp_with_helper < pl_level*35 ? pl_level*35 : exp_with_helper; exp_min_count = exp_min_count < pl_level*14 ? pl_level*14 : exp_min_count; } total_exp = (total_exp * koef).toFixed(0); exp_with_helper = (exp_with_helper * koef).toFixed(0); exp_min_count = (exp_min_count * koef).toFixed(0); //-------------- Вставим кусок кода --------------- skip_all_mob = needSkip(skip_all_mob,mob_name,full_exp,half_diamond_hunt); //alert(needSkip(true,mob_name,full_exp,half_hunt)+' skip_mode: '+skip_mode); if ((!needSkip(true,mob_name,full_exp,half_diamond_hunt)) ){//&& (!skip_mode)) { //Если есть ли моб в нашем списке all_tables[k].childNodes[1].style.background = "#D1FFD1"; } //------------------------------------------------- // total_exp - опыт с учетом коэф. перекача str_total_exp = total_exp; next_level = Number(pl_level)+1; if (total_exp > max_exp && max_exp > 0) { all_tables[k].childNodes[0].style.background = '#FFA07A' ; } if (total_exp != full_exp) str_dop = ustring(' (из ')+full_exp+ustring(')'); else str_dop =""; str_total_exp ='<br> <font style="font-size:10px;color:#0000CD">'+str_sum_exp.replace('STR1', str_total_exp).replace('dopSTR', str_dop).replace('STR6', next_count)+'</font>'; if ((total_exp < next_level*100) && (pl_level > 1)) {str_total_exp +='<br> <font style="color:#0000CD">'+str_kill_now.replace('STR9', next_level).replace('STR10',next_level*100)+'</font>';} if (enable_Exp_Half) {str_total_exp = str_total_exp + '<br> <font style="font-size:10px;color:#CD00CD">'+str_hlp_exp.replace('STR2', exp_with_helper).replace('STR7', next_half_count)+'</font>'}; if (enable_5_procent) {str_total_exp = str_total_exp + '<font style="font-size:11px;color:#007FFF"><i><center>'+str_min_kol.replace('STR3', min_count).replace('STR4', exp_min_count).replace('STR8', next_min_count)+'</center></i></font>'}; all_tables[k].childNodes[1].childNodes[0].childNodes[0].innerHTML = str_hunt + str_total_exp; } } if (skip_all_mob && hunt_available) skip_hunt(); if (!skip_all_mob && hunt_available && ((limit_exp != 0) || (!skip_mode )) ) document.title = str_hunt_found; } //**************************************************** function helpers() { //анализ страницы групповых боев if(url_cur.indexOf(url_war) == -1){ return; } var ems, ems2, elem, elem2, str_hunt, mob_count, mob_name, total_exp, backgrn, sect, s_sect; var dt = 9000; ems = document.querySelectorAll("a[href*='bselect.php']"); if (ems.length == 0) return; ems2=ems[1].parentNode.parentNode; ems = ems2.querySelectorAll( "td > a[href*='map.php?cx']"); for (var i = 0; i < ems.length; i++) { if (!ems[i].parentNode.parentNode.childNodes[6].childNodes[4]) { elem = ems[i].parentNode.parentNode.childNodes[6].childNodes[3].childNodes[0]; //odin v drugom sektore ili inoi level } else if (!ems[i].parentNode.parentNode.childNodes[6].childNodes[6]) { elem = ems[i].parentNode.parentNode.childNodes[6].childNodes[5].childNodes[0]; //odin v moem sektore elem2 = elem.parentNode.parentNode.childNodes[3].childNodes[0]; // if ((beep_if_free) && (elem2.tagName == 'B')) { new Audio("https://zvukogram.com/mp3/cats/1002/vyistrel-iz-vintovki-po-misheni.mp3").play(); dt = 15000; } } else { elem = ems[i].parentNode.parentNode.childNodes[6].lastChild.childNodes[0]; //dvoe v moem ili drugom sektore } str_hunt = elem.innerHTML; mob_count = str_hunt.substring(str_hunt.search(/\(/)+1, str_hunt.search(/\)/)); mob_name = str_hunt.substring(0, str_hunt.search(/\(/)); total_exp = Math.floor(mob_rus_exp[$ustring(mob_name)][0] * mob_count / 5); backgrn = ''; if (elem.parentNode.parentNode.childElementCount != 5) { s_sect = ems[i].href; sect = s_sect.substring(s_sect.lastIndexOf("?")+1,s_sect.length); s_sect =s_sect.replace("map.php?"+sect,"move_sector.php?id="+sectors[sect]); ems[i].innerHTML += ustring('<br><font style="color:#FF3244;"><b>Перейти</b></font>'); ems[i].href = s_sect; } if (only_Gud_ExpUm && (total_exp< pl_level*133) ){ backgrn = ' background:#cfd';} if (only_Gud_ExpUm && (total_exp< pl_level*100) ){ backgrn = ' background:#0f0';} elem.innerHTML += ' <font style="font-size:12px; color:#013220;'+ backgrn+'"><b>'+''+total_exp+'</b></font>'+str_exp; if (show_HP){ var mob_data = mob_rus_exp[$ustring(mob_name)]; mob_HP = mob_data[1] * mob_count; elem.innerHTML +=' <font style="font-size:12px;color:#CD00CD">HP: <b>'+mob_HP+'</b></font>' } } if (find_Hunt) setTimeout(function(){ window.location.href = location.protocol+'//'+location.hostname+'/'+'group_wars.php?filter=hunt'; }, dt); } //**************************************************** function hideHunt() { //режим гринпис - скрытие отображения охот var tb; if(url_cur.indexOf(url_map) == -1){ return; } for (var k = 0; k < all_tables.length; k++) { if (all_tables[k].id.indexOf("neut_show") != -1) { tb = all_tables[k]; tb.parentNode.removeChild(tb.nextSibling); tb.parentNode.removeChild(tb); k--; } } } //**************************************************************************************** function add_archive() { //добавить ссылку на архив рекордов на странице рекордов var ems, s_full, spl, s, s_url; if (url_cur.indexOf('level') == -1) return; if (url_cur.indexOf('show_archive=1') == -1) { if (url_cur.indexOf('mid') == -1) { s_url = url_cur+'&show_archive=1'; } else { spl = url_cur.split('&mid'); s_url = spl[0]+'&show_archive=1&mid'+spl[1]; } s = str_show_archive_r; } else { spl = url_cur.split('&show_archive=1'); s_url = spl[0]+spl[1]; s = str_hide_archive_r; } ems = document.querySelectorAll( "div > center > a[href*='plstats_hunters.php?level']"); if (ems.length != 0) { s_full = '<br><center><a href="'+s_url+'"><b><font color="blue">'+s+'</font></b></a></center>'; ems[0].parentNode.insertAdjacentHTML("afterEnd" ,s_full); } } //**************************************************** function hunt_hilight() { //заменяет ссылку в групповые бои на такую же с выделением свободных охот var link_old = "group_wars.php"; var link_new = "group_wars.php?filter=hunt"; var nodeList = document.getElementsByTagName("a"); for (var i = 0; i < nodeList.length; i++) { if (nodeList[i].href.indexOf(link_old)!=-1) { nodeList[i].href = nodeList[i].href.replace(link_old,link_new); return; } } } //**************************************************** getLevel(); showSettings(); show_List(); if (!grin_Pis) showExperience() else hideHunt(); helpers(); hunt_hilight(); if (url_cur.indexOf('plstats_hunters') != -1) add_archive(); //------------------------------ function GM_get_once(key, def){ var val = GM_getValue(key, def); GM_deleteValue(key); return val; } function GM_load_num(key, def){ var val = Number(GM_getValue(key, def)); return isNaN(val) ? def : val; } // 1 -> true; otherwise false function GM_load_bool_from_num(key, def){ var val = Number(GM_getValue(key, def)); return isNaN(val) ? false : val==1; } // true -> 1; otherwise 0 function GM_save_num_from_bool(key, val){ GM_setValue(key, val ? 1 : 0); } function gm_get(key, def){ return GM_getValue(gm_prefix+key, def); } function gm_set(key, val){ return GM_setValue(gm_prefix+key, val); } function gm_del(key, def){ var val = GM_getValue(gm_prefix+key); GM_deleteValue(gm_prefix+key); return val ? val : def; } function gm_get_num(key, val){ return GM_load_num(gm_prefix+key, val); } function gm_set_bool(key, val){ return GM_save_num_from_bool(gm_prefix+key, val); } function gm_get_bool(key, def){ return GM_load_bool_from_num(gm_prefix+key , def?1:0); } function getPlayerId(){ var hunter_ref = getI("//a[contains(@href, 'pl_hunter_stat')]"); //min 2 для home; min 1 для остальных - если включены выпадающие вкладки //min 1 для home; min 0 для остальных - если отключены выпадающие вкладки if ( !hunter_ref || hunter_ref.snapshotLength == 0 || (hunter_ref.snapshotLength == 1 && location.pathname == '/home.php') ) { //отключены вкладки или разлогин var ids=/pl_id=(\d+)/.exec(document.cookie); return ids ? ids[1] : 'unknown'; } else { return hunter_ref.snapshotItem(0).href.split('?id=')[1]; } } function getI(xpath,elem){return document.evaluate(xpath,(elem?elem:document),null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);} function html_if_checked(val){ return val ? ' checked' : ''; } })();