Greasy Fork is available in English.
HWM Mod - Перемещение по карте в один клик
// ==UserScript== // @name HWM Map Move // @version 2.2.5 // @description HWM Mod - Перемещение по карте в один клик // @author xo4yxa // @namespace fix Mefistophel_Gr // @homepage https://greasyfork.org/ru/scripts/9472-hwm-map-move // @include http://*heroeswm.ru/map.php* // @include http://178.248.235.15/map.php* // @include http://*lordswm.com/map.php* // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // ==/UserScript== // (c) 2008-2013, xo4yxa (http://www.heroeswm.ru/pl_info.php?id=130) - оригинальный скрипт // 2014-2015, Mefistophel_Gr (http://www.heroeswm.ru/pl_info.php?id=2287844) - последняя модификация (function() { var ver = '2.2.5' if (typeof GM_deleteValue != 'function') { this.GM_getValue=function (key,def) {return localStorage[key] || def;}; this.GM_setValue=function (key,value) {return localStorage[key]=value;}; this.GM_deleteValue=function (key) {return delete localStorage[key];}; } var url = 'http://'+location.hostname; var url_cur = location.href; var url_ref = document.referrer; var url_upd = 'https://greasyfork.org/ru/scripts/9472-hwm-map-move'; var str_send_sms = '/sms-create.php?mailto=Mefistophel_Gr&subject=Скрипт: HWM Map Move. Версия: '+ ver; // установка языковых параметров if( GM_getValue( "checklng" ) && GM_getValue( "checklng" ) == 1 ) { var check_lng_v = 1; //русский var lng_main = 2 + 3; var lng_add = 1 + 3; var lng_set = 'Настройки'; var lng_RG = 'Гильдия Рейнджеров'; var lng_HG = 'Гильдия Охотников'; var lng_MG = 'Гильдия Наёмников'; var lng_TG = 'Гильдия Воров'; var lng_skip = 'Пропустить охоту'; var lng_dest = 'Пункт назначения'; var lng_view = 'Осмотреть сектор: '; var lng_close = 'Закрыть'; var lng_main_set = 'Основные Настройки'; var lng_set_map = ' Не отображать Flash-карту'; var lng_set_view = ' Отображать кнопки осмотра секторов'; var lng_set_lang = ' Установить - русский - основным языком в скрипте'; var lng_set_return = ' Сдавать задания Гильдии Наёмников с дороги'; var lng_set_autoIn = ' Автоматически вступать в бои Гильдии Рейнджеров'; var lng_set_enterRG = ' Заходить в Гильдию Рейнджеров'; var lng_set_carriage = 'Ваш транспорт'; var lng_set_shop = 'транспорт в магазине'; var str_update = 'Проверить обновление'; var str_error = 'Обратная связь'; } else { var check_lng_v = 0 ; //английский var lng_main = 1 + 3; var lng_add = 2 + 3; var lng_set = 'Settings'; var lng_RG = 'Rangers\' Guild'; var lng_HG = 'Hunters\' Guild'; var lng_MG = 'Mercenaries\' Guild'; var lng_TG = 'Thieves\' Guild'; var lng_skip = 'Skip Hunting'; var lng_dest = 'Destination'; var lng_view = 'Inspect sector: '; var lng_close = 'Close'; var lng_main_set = 'Main Settings'; var lng_set_map = ' Do not Display Flash-map'; var lng_set_view = ' Show the buttons for view sectors'; var lng_set_lang = ' Set the Main language - Russian'; var lng_set_return = ' Hand over the tasks of Mercenaries\' Guild after traveling'; var lng_set_autoIn = ' Automatically engage of the Rangers\' Guild'; var lng_set_enterRG = ' Заходить в Гильдию Рейнджеров'; var lng_set_carriage = 'Your carriage'; var lng_set_shop = 'carriage from the Shop'; var str_update = 'Check update'; var str_error = 'Feedback'; } var coop = '<center style="font-size:10px;">© <a href="'+ url +'/pl_info.php?id=130" target=_blank style="font-size:10px;">xo4yxa</a> 2011-13 | <a href="'+ url +'/pl_info.php?id=2287844" target=_blank style="font-size:10px;">Mefistophel_Gr</a> 2014-15 | <a href="https://greasyfork.org/ru/scripts/9472-hwm-map-move" target=_blank style="font-size:10px;">HWM Map Move</a> v.' + ver + ' | <span style="text-decoration:underline;cursor:pointer;font-weight:bold;" id="hwmmm_options">'+ lng_set +'</span> <br><br> </center>'; var els = document.querySelector("object > param[value*='map.swf']"); if ( els ) { els = els.parentNode.querySelector("param[name='FlashVars']"); } if ( els ) { var pl = els.value.split('=')[1].split(':'); //if (pl[0].indexOf('*') != -1) { pl[0] = pl[0].split('*')[1]; } if (pl[0].indexOf('*') != -1) { var tt = pl[0].split('*'); pl[0] = tt[tt.length-1]; } //alert(els.getAttribute('value')); } else { return; } var road = new Array() ; var transp = GM_getValue( "transport", 3 ) ; // Время перемещения: Без транспорта, Слон, Буйвол, Конь, Единорог, Дракон, транспорт с Абу-Бекром var trtime = new Array ( 120, 84, 60, 36, 24, 12, 12 ) ; // по прямой var trtimed = new Array ( 169, 118, 84, 50, 33, 16, 16 ) ; // по диагонали var plgn = [ 2 , 6 , 16 , 21 ] ; // сектора с ГН var b = document.getElementsByTagName( 'body' ) ; // вступать в бой ГРж if( pl[14] == 0 && b[0].innerHTML.indexOf( 'ranger_attack.php' ) > 0 && ( GM_getValue( "checkgv" , 0 ) == 1 ) ) window.location.href = url +'/ranger_attack.php' ; //если в столице и ГРж нонстоп /* if( pl[14] == 0 && pl[0] == 1 && ( GM_getValue( "checkgvn" , 0 ) == 1 ) && url_ref == url +'/map.php' ) window.location.href = url + '/ranger_guild.php' ; */ // если было задание ГН и пришли в сектор где есть ГН if( pl[14] == 0 && pl[13] == -1 && in_array( pl[0] , plgn ) && GM_getValue( "checkgn" , 0 ) == 1 ) window.location.href = url +'/mercenary_guild.php' ; /* карта локаций -- x | y 47 48 49 50 51 52 53 54 -- -- -- -- -- -- -- -- -- -- | 00 | 23 | 09 | 06 | 24 | 16 | 00 | 00 | 48 //Непокор. степь, Орл. Гнездо, Мирн. Лагерь, Крист. Сад, Маг. Лес -- -- -- -- -- -- -- -- -- -- | 00 | 13 | 12 | 03 | 04 | 15 | 18 | 00 | 49 //Солн. Город, Сияющ. Родн., Тигр. Озеро, Лес Разбойн., Медв. Гора, Мифр. Берег -- -- -- -- -- -- -- -- -- -- | 00 | 27 | 08 | 01 | 02 | 14 | 17 | 00 | 50 //Великое Древо, Зел. Лес, Стол. Империи, Вост. Река, Магма Шахты, Порт. Город -- -- -- -- -- -- -- -- -- -- | 00 | 00 | 07 | 05 | 11 | 00 | 00 | 00 | 51 //Равнина Ящеров, Долина Волков, Пещеры Драконов -- -- -- -- -- -- -- -- -- -- | 00 | 00 | 26 | 10 | 19 | 00 | 25 | 00 | 52 //Дикие земли, Руины Портала, Великая Стена, море , Вост. Остров -- -- -- -- -- -- -- -- -- -- | 00 | 00 | 00 | 00 | 20 | 21 | 00 | 00 | 53 //Равнина Титанов, Рыбачье село -- -- -- -- -- -- -- -- -- -- | 00 | 00 | 00 | 00 | 00 | 22 | 00 | 00 | 54 //Замок Королевства -- -- -- -- -- -- -- -- -- -- */ // отрисовка карты var dm = document.createElement( 'div' ); dm.innerHTML = '<br><center> <a href="'+ url +'/ranger_guild.php"> <img src="'+ url +'/i/houses/ranger.gif" border="0" title="'+ lng_RG +'"></a> <a href="'+ url +'/hunter_guild.php"> <img src="'+ url +'/i/houses/hunter.gif" border="0" title="'+ lng_HG +'"></a> <a href="'+ url +'/mercenary_guild.php"> <img src="'+ url +'/i/houses/merc.gif" border="0" title="'+ lng_MG +'"></a> <a href="'+ url +'/thief_guild.php"> <img src="'+ url +'/i/houses/thief.gif" border="0" title="'+ lng_TG +'"></a> <a href="'+ url +'/map.php?action=skip"> <img src="http://i.imgur.com/rDyCmwf.png" border="0" title="'+ lng_skip +'"></a></center> <table>' + '<tr>' + '<td><div id="loc_23"></div></td>' + '<td><div id="loc_9"></div></td>' + '<td><div id="loc_6"></div></td>' + '<td><div id="loc_24"></div></td>' + '<td><div id="loc_16"></div></td>' + '<td></td>' + '</tr>' + '<tr>' + '<td><div id="loc_13"></div></td>' + '<td><div id="loc_12"></div></td>' + '<td><div id="loc_3"></div></td>' + '<td><div id="loc_4"></div></td>' + '<td><div id="loc_15"></div></td>' + '<td><div id="loc_18"></div></td>' + '</tr>' + '<tr>' + '<td><div id="loc_27"></div></td>' + '<td><div id="loc_8"></div></td>' + '<td><div id="loc_1"></div></td>' + '<td><div id="loc_2"></div></td>' + '<td><div id="loc_14"></div></td>' + '<td><div id="loc_17"></div></td>' + '</tr>' + '<tr>' + '<td></td>' + '<td><div id="loc_7"></div></td>' + '<td><div id="loc_5"></div></td>' + '<td><div id="loc_11"></div></td>' + '<td></td>' + '<td></td>' + '</tr>' + '<tr>' + '<td><div id="loc_25"></div></td>' + '<td><div id="loc_26"></div></td>' + '<td><div id="loc_10"></div></td>' + '<td><div id="loc_19"></div></td>' + '<td></td>' + '<td></td>' + '</tr>' + '<tr>' + '<td></td>' + '<td></td>' + '<td></td>' + '<td><div id="loc_20"></div></td>' + '<td><div id="loc_21"></div></td>' + '<td></td>' + '</tr>' + '<tr>' + '<td></td>' + '<td></td>' + '<td></td>' + '<td></td>' + '<td><div id="loc_22"></div></td>' + '<td></td>' + '</tr>' + '</table><br>' + coop + '<br>' ; // cX_Y координаты по карте var locX = { c50_50: 1, //Empire Capital c51_50: 2, //East River c50_49: 3, //Tiger's Lake c51_49: 4, //Rogue's Wood c50_51: 5, //Wolf's Dale c50_48: 6, //Peaceful Camp c49_51: 7, //Lizard's Lowland c49_50: 8, //Green Wood c49_48: 9, //Eagle's Nest //Inferno portal 2 c50_52: 10, //Portal Ruins //Inferno portal 1 c51_51: 11, //Dragon's Caves c49_49: 12, //Shining Spring c48_49: 13, //Sunny City c52_50: 14, //Magma Mines c52_49: 15, //Bear' Mountain c52_48: 16, //Fairy Trees c53_50: 17, //Harbour City c53_49: 18, //Mythril Coast //Inferno portal 3 c51_52: 19, //Great Wall c51_53: 20, //Titans' Valley c52_53: 21, //Fishing Village c52_54: 22, //Kingdom Castle c48_48: 23, //Ungovernable Steppe c51_48: 24, //Crystal Garden c49_52: 25, //East Island (Old Location) c49_52: 26, //The Wilderness c48_50: 27 //Sublime Arbor } // Массив локаций var locArr = new Array( // 0i 1x 2y 3r 4ne 5nr [] , [ 1 , 50 , 50 , 1 , 'Empire Capital' , 'Столица Империи' ] , [ 2 , 51 , 50 , 1 , 'East River' , 'Восточная Река' ] , [ 3 , 50 , 49 , 1 , 'Tiger\'s Lake' , 'Тигриное Озеро' ] , [ 4 , 51 , 49 , 1 , 'Rogue\'s Wood' , 'Лес Разбойников' ] , [ 5 , 50 , 51 , 1 , 'Wolf\'s Dale' , 'Долина Волков' ] , [ 6 , 50 , 48 , 1 , 'Peaceful Camp' , 'Мирный Лагерь' ] , [ 7 , 49 , 51 , 1 , 'Lizard\'s Lowland' , 'Равнина Ящеров' ] , [ 8 , 49 , 50 , 1 , 'Green Wood' , 'Зелёный Лес' ] , [ 9 , 49 , 48 , 1 , 'Eagle\'s Nest' , 'Орлиное Гнездо' ] , [ 10 , 50 , 52 , 1 , 'Portal\'s ruins' , 'Руины Портала' ] , [ 11 , 51 , 51 , 1 , 'Dragon\'s Caves' , 'Пещеры Драконов' ] , [ 12 , 49 , 49 , 1 , 'Shining Spring' , 'Сияющий Родник' ] , [ 13 , 48 , 49 , 1 , 'Sunny City' , 'Солнечный Город' ] , [ 14 , 52 , 50 , 1 , 'Magma Mines' , 'Магма Шахты' ] , [ 15 , 52 , 49 , 1 , 'Bear\' Mountain' , 'Медвежья Гора' ] , [ 16 , 52 , 48 , 1 , 'Fairy Trees' , 'Магический Лес' ] , [ 17 , 53 , 50 , 1 , 'Harbour City ' , 'Портовый Город' ] , [ 18 , 53 , 49 , 1 , 'Mythril Coast' , 'Мифриловый Берег' ] , [ 19 , 51 , 52 , 1 , 'Great Wall' , 'Великая Стена' ] , [ 20 , 51 , 53 , 1 , 'Titans\' Valley' , 'Равнина Титанов' ] , [ 21 , 52 , 53 , 1 , 'Fishing Village' , 'Рыбачье Село' ] , [ 22 , 52 , 54 , 1 , 'Kingdom Castle' , 'Замок Королевства' ] , [ 23 , 48 , 48 , 1 , 'Ungovernable Steppe' , 'Непокорная Степь' ] , [ 24 , 51 , 48 , 1 , 'Crystal Garden' , 'Кристальный Сад' ] , [ 25 , 49 , 52 , 1 , 'East Island' , 'Восточный Остров' ] , [ 26 , 49 , 52 , 1 , 'The Wilderness' , 'Дикие Земли' ] , [ 27 , 48 , 50 , 1 , 'Sublime Arbor' , 'Великое Древо' ] ) // location error // сначала путь берёт диагональ, а потом катет var locP = { l1_14: 11 , l1_17: 11 , l1_26: 5 , l1_27: 8 , l2_14: 15 , l2_17: 15 , l2_18: 15 , l2_21: 11 , l2_22: 11 , l2_27: 1 , l3_14: 4 , l3_16: 4 , l3_17: 4 , l3_26: 1 , l3_27: 12 , l4_14: 15 , l4_16: 15 , l4_17: 15 , l4_21: 2 , l4_22: 2 , l4_26: 2 , l4_27: 3 , l5_14: 11 , l5_17: 11 , l5_19: 10 , l5_20: 10 , l5_21: 10 , l5_22: 10 , l5_27: 8 , l6_2: 4 , l6_16: 4 , l6_26: 3 , l6_27: 12 , l7_13: 8 , l7_14: 5 , l7_17: 5 , l7_23: 8 , l7_26: 5 , l8_14: 5 , l8_17: 5 , l8_26: 5 , l9_16: 3 , l9_26: 3 , l10_27: 5 , l11_3: 2 , l11_6: 2 , l11_9: 2 , l11_21: 19 , l11_22: 19 , l11_26: 10 , l11_27: 5 , l12_14: 3 , l12_16: 3 , l12_17: 3 , l12_26: 1 , l13_14: 12 , l13_16: 12 , l13_17: 12 , l14_1: 11 , l14_2: 15 , l14_3: 15 , l14_4: 15 , l14_6: 15 , l14_8: 11 , l14_9: 15 , l14_12: 15 , l14_13: 15 , l14_18: 15 , l14_21: 11 , l14_22: 11 , l14_23: 15 , l14_24: 15 , l14_27: 11 , //l15_6: 4 , //l15_9: 4 , l15_23: 24 , l15_26: 2 , l15_27: 4 , l16_1: 15 , l16_2: 15 , l16_3: 15 , l16_4: 15 , l16_5: 15 , l16_6: 15 , l16_7: 15 , l16_8: 15 , l16_9: 15 , l16_10: 15 , l16_11: 15 , l16_12: 15 , l16_13: 15 , l16_19: 15 , l16_20: 15 , l16_23: 15 , l16_24: 15 , l16_26: 15 , l16_27: 15 , l17_2: 15 , l17_5: 14 , l17_7: 14 , l17_10: 14 , l17_11: 14 , l17_19: 14 , l17_20: 14 , l17_21: 14 , l17_22: 14 , l17_26: 14 , l17_27: 14 , l18_1: 15 , l18_2: 15 , l18_5: 15 , l18_6: 15 , l18_7: 15 , l18_8: 15 , l18_9: 15 , l18_10: 17 , l18_11: 17 , l18_14: 17 , l18_19: 17 , l18_20: 17 , l18_21: 17 , l18_22: 17 , l18_23: 15 , l18_24: 15 , l18_26: 17 , l18_27: 15 , l19_1: 11 , l19_3: 11 , l19_5: 10 , l19_6: 11 , l19_7: 10 , l19_8: 10 , l19_9: 11 , l19_12: 10 , l19_13: 10 , l19_14: 11 , l19_15: 11 , l19_16: 11 , l19_17: 11 , l19_18: 11 , l19_23: 10 , l19_27: 10 , l20_14: 19 , l20_15: 19 , l20_16: 19 , l20_17: 19 , l20_18: 19 , l20_27: 10 , l21_14: 19 , l21_15: 19 , l21_16: 19 , l21_17: 19 , l21_18: 19 , l21_27: 19 , l22_17: 21 , l22_18: 21 , l22_27: 20 , l23_16: 15 , l23_26: 1 , l23_27: 13 , l24_16: 15 , l24_21: 2 , l24_22: 2 , l24_26: 2 , l24_27: 3 , l26_7: 5 , l26_8: 5 , l26_9: 5 , l26_11: 10 , l26_12: 5 , l26_13: 5 , l26_14: 10 , l26_17: 10 , l26_20: 10 , l26_21: 10 , l26_22: 10 , l26_23: 5 , l26_24: 5 , l26_27: 5 , l27_1: 8 , l27_2: 8 , l27_3: 12 , l27_4: 12 , l27_5: 7 , l27_6: 12 , l27_9: 12 , l27_10: 7 , l27_11: 7 , l27_14: 11 , l27_15: 4 , l27_16: 15 , l27_17: 15 , l27_18: 12 , l27_19: 10 , l27_20: 10 , l27_21: 20 , l27_22: 20 , l27_23: 13 , l27_24: 12 , l27_26: 8 } init(); function init() { try { nado = els.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode /* 0 - cur place 1 - view place 2-10 - have move 11 - gO 12 - gV 13 - gN 14 - loc from move (only move) 15 - last time move (only move) 16 - all time move (only move) 17 - ? 18 - clan id 19 - ? 20 - ? */ //+ отображение карты var vm = GM_getValue( "checkvm" ) ; if( vm == 1 ) { document.getElementsByName('movie')[2].parentNode.parentNode.style.display = 'none'; } else { //ems.width = 500; // широкая карта, убрана в 1.16.4 } //- // происходит передвижение if( pl[14] > 0 ) { div = document.createElement( 'div' ); div.innerHTML = '<br><div style="text-align: center; font-weight:bold; color:#A52A2A;" id="hint_move"><i>'+ lng_dest +':</i> '+ locArr[pl[0]][lng_main] +' ('+ locArr[pl[0]][lng_add] +')</div><br>' + coop; nado.appendChild( div ); $("hwmmm_options").addEventListener( "click", setting , false ); var mTitle = document.title ; var start_time = new Date() ; update_time( start_time.getTime() , mTitle ) ; } // стоим в секторе else { nado.appendChild( dm ) ; $("hwmmm_options").addEventListener( "click", setting , false ); for( l = 1 ; l < locArr.length; l++ ) { if(l!=25) { var d = $( 'loc_' + l ) ; d.parentNode.style.textAlign = 'center' ; d.style.padding = '1px 3px' ; d.style.fontSize = '11px' ; d.parentNode.style.border = pl[1] == l ? '1px solid #00f' : '1px solid #abc' ; // если текущий сектор if( l == pl[0] ) { d.style.fontWeight = 'bold' ; d.parentNode.style.backgroundColor = 'FFF8DC' ; if( pl[13] != 0 && l == pl[13] ) { d.style.color = 'FF0000' ; } d.innerHTML = locArr[l][lng_main] ; } // если какой другой else { a = document.createElement( 'a' ); a.style.fontSize = '11px' ; a.href = url +'/move_sector.php?id='+l ; // если задание Наёмников if( pl[13] != 0 && l == pl[13] ) { a.style.color = 'FF0000' ; } a.innerHTML = locArr[l][lng_main] ; a.setAttribute( 'tZ' , l ) ; a.addEventListener( "mouseover", viewPath , false ); a.addEventListener( "mouseout", hidePath , false ); a.title = locArr[l][lng_main] + ' (' + getTimeL( pl[0] , l , 0 ) + ')' ; d.appendChild( a ); } if( pl[13] == -1 && in_array( l , plgn ) ) { b = document.createElement( 'b' ); b.style.color = '#00F' ; b.innerHTML = ' X' ; d.appendChild( b ) ; } if( GM_getValue( "checkvs" ) ) { if( pl[1] != l ) { a = document.createElement( 'a' ); a.href = url +'/map.php?cx='+ locArr[l][1] +'&cy='+ locArr[l][2]; a.style.display = 'block' ; a.style.width = '100%'; a.title = lng_view + locArr[l][lng_main] ; vi = document.createElement( 'img' ); vi.src = "data:image/gif,GIF89a%10%00%10%00%D5%00%00B%40B%15%15%18((-PPUzz%7FHHJ%5D%5D_--.zz%7BWWX23%3BEHS%80%88%A2rx%8C%DA%DD%E7bj%80sx%87%88%8C%97%7D%85%98HO_%7D%85%97%88%8C%95psz%DC%DD%DF%D4%D5%D7x%7F%8C%2B-0%C2%DF%FF%DF%F4%FFMOPmop%EF%F1%F2%E7%F9%FF%EA%FD%FF%E7%FF%FF%13%15%15%E9%FF%FF%18%1A%1A%FA%FF%FFmoo%FC%FF%FF%FD%FF%FFZ%5B%5B%5D%5D%5B%40%3F%3F%FF%FF%FF%16%16%16%10%10%10%05%05%05%00%00%00%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%002%00%2C%00%00%00%00%10%00%10%00%00%06%5C%40%99pH%2C%12%13%01%8D%80e%24%02ZP%A8%A2)k%C8%A2%D1As%01Ma'%CDF%D4%14%7D4!-%94%A8%95%BAJ%9A%07P%8B%E4mm%2C%D4H(%CA%A9%AC%A82%05%19%0C%14%041*%17%80E0%1D%18%8AD%2F%06%89%8FB%25'%1F%94B.%08-%992%23%1E%9ECA%00%3B" ; vi.style.border = '0px' ; a.appendChild( vi ) ; d.parentNode.appendChild( a ) ; } } } } } } catch(e) { alert(e) } } function update_time(start, title) { new_time = new Date(); s = pl[15]-Math.round((new_time.getTime()-start)/1000.); m = 0; h = 0; if (s < 0) { } else { if (s > 59) { m = Math.floor(s/60); s = s-m*60; } if (m > 59) { h = Math.floor(m/60); m = m-h*60; } if (s < 10) { s = "0"+s; } if (m < 10) { m = "0"+m; } // document.title=" ["+h+":"+m+":"+s+"] " + title; document.title = " ["+m+":"+s+"] " + title; setTimeout (function () { update_time(start,title)}, 999); } } function setCheck(ch) { if( GM_getValue( ch ) && GM_getValue( ch ) == 1 ) GM_setValue( ch , 0 ); else GM_setValue( ch , 1 ); } function setTransport(id) { $("transp"+transp).style.background="#F6F3EA"; $("transp"+id).style.background="#0000ff"; GM_setValue( "transport" , id ); transp = id ; } function getTimeL( cz , mz , t ) { /* cz текущий сектор обсчёта mz конечный сектор обсчёта t сумма времени */ // если прибыли в конечный пункт if (mz == cz) { var myT = new Date(t*1000) myTs = myT.getSeconds() return myT.getMinutes() + ':' + ( myTs < 10 ? '0' : '' ) + myTs ; } var nz = 0; // следующий сектор, к которому надо действительно двигаться var kC = locArr[cz]; //координаты текущие if (kC == undefined) return 0; var kM = locArr[mz]; //координаты назначения id1 = eval( 'locP.l' + cz + '_' + mz ) //id исключение // если есть исключения, следующий сектор будет равен ид исключения if (id1 && id1 > 0) { nz = id1 ; } // если исключения, то переназначаем координаты назначения if (nz != 0) var kM = locArr[nz] ; tx = kM[1] > kC[1] ? 1 : ( kM[1] == kC[1] ? 0 : -1 ) ; ty = kM[2] > kC[2] ? 1 : ( kM[2] == kC[2] ? 0 : -1 ) ; nx = parseInt( kC[1] ) + tx ; ny = parseInt( kC[2] ) + ty ; // t = ( ty == 0 || tx == 0 ) ? t + 120 : t + 169 ; t = (ty == 0 || tx == 0) ? t + trtime[transp] : t + trtimed[transp] ; id = eval( 'locX.c' + nx + '_' + ny ) ; // t = t + ' ' + id + '(' + nz + ')' ; return getTimeL( id , mz , t ); } function viewPath() { mz = this.getAttribute( 'tz' ); path (pl[0], mz); function path( cz , mz ) { if (mz == cz) return ; var nz = 0; // следующий сектор, к которому надо действительно двигаться var kC = locArr[cz]; //координаты текущие var kM = locArr[mz]; //координаты назначения id1 = eval( 'locP.l' + cz + '_' + mz ) //ID исключение // если есть исключения, следующий сектор будет равен id исключения if (id1 && id1 > 0) { nz = id1; } // если исключения, то переназначаем координаты назначения if (nz != 0) var kM = locArr[nz]; tx = kM[1] > kC[1] ? 1 : ( kM[1] == kC[1] ? 0 : -1 ); ty = kM[2] > kC[2] ? 1 : ( kM[2] == kC[2] ? 0 : -1 ); nx = parseInt( kC[1] ) + tx ; ny = parseInt( kC[2] ) + ty ; id = eval( 'locX.c' + nx + '_' + ny ) ; td = $('loc_'+id) td.parentNode.style.backgroundColor = 'F0E68C' ; road[road.length] = id ; path( id , mz ); } return ; } function hidePath() { for (i = 0; i < road.length ; i ++) { $('loc_'+road[i]).parentNode.style.backgroundColor = 'DDD9CD' ; } road = new Array() ; } //+ закрытие форм function form_close() { bg = $('bgOverlay') ; bgc = $('bgCenter') ; if ( bg ) { bg.style.display = bgc.style.display = 'none' ; } } function open_transfer() { if ( location.href.match('lordswm') ) { window.location = "transfer.php?nick=Mefistophel_Gr&shortcomment=Transferred 10000 Gold 5 Diamonds"; } else { window.location = "transfer.php?nick=Mefistophel_Gr&shortcomment=%CF%E5%F0%E5%E4%E0%ED%EE%2010000%20%C7%EE%EB%EE%F2%EE%205%20%C1%F0%E8%EB%EB%E8%E0%ED%F2%FB"; } } //+ форма настроек function setting() { var bg = $('bgOverlay'); var bgc = $('bgCenter'); var bg_height = ScrollHeight(); if( !bg ) { bg = document.createElement('div'); document.body.appendChild( bg ); bg.id = 'bgOverlay'; bg.style.position = 'absolute'; bg.style.left = '0'; bg.style.width = '100%'; bg.style.height = '100%'; bg.style.background = "#000000"; bg.style.opacity = "0.5"; bg.style.zIndex = "1100"; bg.addEventListener( "click", form_close , false ); bgc = document.createElement('div'); document.body.appendChild( bgc ); bgc.id = 'bgCenter' ; bgc.style.position = 'absolute'; bgc.style.width = '400px'; bgc.style.background = "#F6F3EA"; bgc.style.left = ( ( document.body.offsetWidth - 400 ) / 2 ) + 'px'; bgc.style.zIndex = "1105"; } bgc.innerHTML = '<div style="border:1px 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" title="'+ lng_close +'">x</div> <div style="text-align: center; font-size: 14px; font-weight:bold; color:#6A5ACD;">HWM Map Move <font style="color:#008B00;">'+ ver +'</font></div><hr/> <table width="100%" cellspacing=0 cellpadding=0 border=0> <tr><td colspan=3 style="text-align:center; font-size: 13px; font-weight:bold;"><i>'+ lng_main_set +':</i></td></tr> <tr><td colspan=3><div><label style="cursor:pointer;"><input type="checkbox" id="id_check_vm">'+ lng_set_map +'</label></div>' + '<div><label style="cursor:pointer;"><input type="checkbox" id="id_check_vs">'+ lng_set_view +'</label></div>' + '<div><label style="cursor:pointer;"><input type="checkbox" id="id_check_lng" title=""lng ru>'+ lng_set_lang +'</label></div>' + '<div><label style="cursor:pointer;"><input type="checkbox" id="id_check_gn">'+ lng_set_return +'</label></div>' + '<div><label style="cursor:pointer;"><input type="checkbox" id="id_check_gv">'+ lng_set_autoIn +'</label></div>' + /*'<div><label style="cursor:pointer;"><input type="checkbox" id="id_check_gvn">'+ lng_set_enterRG +'</label></div>' + * это было для строк 104-108 */ '<hr/><div style="text-align: center;">'+ lng_set_carriage +' (<a href = "'+ url +'/shop.php?cat=transport" target=_blank>'+ lng_set_shop +'</a>):<br> <table border="0" width="54%" align="center"><tr><td style="padding:5px;cursor:pointer;" id="transp3"> <img src="'+ url +'/i/transport/3.jpg"></td> <td style="padding:5px;cursor:pointer;" id="transp4"> <img src="'+ url +'/i/transport/4.jpg"></td> <td style="padding:5px;cursor:pointer;" id="transp5"> <img src="'+ url +'/i/transport/5.jpg"></td> <td style="padding:5px;cursor:pointer;" id="transp6"> <img src="http://dcdn.heroeswm.ru/i/transport/104.jpg" alt="Abu-Bekr"></td></tr></table> </div><hr/> </td></tr> <tr><td width="48%" align="center"><a href="'+ url_upd +'" target=_blank>'+ str_update +'</a></td> <td width="48%" align="center"><a href="'+ str_send_sms +'" target=_blank>'+ str_error +'</a></td> <td width="4%" align="right"><a href="javascript:void(0);" id="open_transfer_id">?</a></td></tr> </table> </div>'; $("transp"+transp).style.background="#0000ff"; $("transp3").addEventListener( "click", function(){setTransport(3)} , false ); $("transp4").addEventListener( "click", function(){setTransport(4)} , false ); $("transp5").addEventListener( "click", function(){setTransport(5)} , false ); $("transp6").addEventListener( "click", function(){setTransport(6)} , false ); $("bt_close").addEventListener( "click", form_close , false ); $("open_transfer_id").addEventListener( "click", open_transfer , false ); //шутка var check_gv = $('id_check_gv') check_gv.checked = GM_getValue( "checkgv" , 0 ) == 1 ? 'checked' : '' ; check_gv.addEventListener( "click", function(){setCheck('checkgv')} , false ); /*var check_gvn = $('id_check_gvn') check_gvn.checked = GM_getValue( "checkgvn" , 0 ) == 1 ? 'checked' : '' ; check_gvn.addEventListener( "click", function(){setCheck('checkgvn')} , false ); */ var check_gn = $('id_check_gn') check_gn.checked = GM_getValue( "checkgn" , 0 ) == 1 ? 'checked' : '' ; check_gn.addEventListener( "click", function(){setCheck('checkgn')} , false ); var check_vm = $('id_check_vm') check_vm.checked = GM_getValue( "checkvm" , 0 ) == 1 ? 'checked' : '' ; check_vm.addEventListener( "click", function(){setCheck('checkvm')} , false ); var check_vs = $('id_check_vs') check_vs.checked = GM_getValue( "checkvs" , 0 ) == 1 ? 'checked' : '' ; check_vs.addEventListener( "click", function(){setCheck('checkvs')} , false ); var check_lng = $('id_check_lng') ; check_lng.checked = check_lng_v == 1 ? 'checked' : '' ; check_lng.addEventListener( "click", function(){setCheck('checklng')} , false ); bg.style.top = (-document.body.scrollTop)+'px'; bgc.style.top = ( document.body.scrollTop + 100 ) + 'px'; bg.style.display = bgc.style.display = 'block' ; } //- function ScrollHeight() { return Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); } function getI( xpath ) { return document.evaluate( xpath, document, null, XPathR###lt.ORDERED_NODE_SNAPSHOT_TYPE, null ); } function $( id ) { return document.getElementById( id ); } function in_array(needle, haystack, strict) { var found = false, key, strict = !!strict; for (key in haystack) { if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) { found = true; break; } } return found; } })();