- // ==UserScript==
- // @name HWM Map Move
- // @version 2.02.3
- // @description HWM Mod - Перемещение по карте в один клик
- // @namespace xo4yxa & fix Mefistophel_Gr
- // @homepage http://hwm.xo4yxa.ru/js/mapmove/
- // @include http://*heroeswm.ru/map.php*
- // @include http://*lordswm.com/map.php*
- // @include http://178.248.235.15/map.php*
- // @grant GM_getValue
- // @grant GM_setValue
- // @grant GM_deleteValue
- // ==/UserScript==
-
- // (c) 2008-2013, xo4yxa - оригинальный скрипт
- // 2014-2015, Mefistophel_Gr - последняя модификация
-
- (function() {
-
- var ver = '2.02.3'
-
- if (typeof GM_getValue != '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 coop = '<center style="font-size:10px;">© <a href="http://www.heroeswm.ru/pl_info.php?id=130" target=_blank style="font-size:10px;">xo4yxa</a> 2011-13 | <a href="http://www.heroeswm.ru/pl_info.php?id=2287844" target=_blank style="font-size:10px;">Mefistophel_Gr</a> 2014-15 | <a href="http://heroeswm.ru/forum_messages.php?tid=1401609&page=last" 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">Настройки</span> <br><br> </center>' ;
-
- var url = 'http://www.heroeswm.ru/' ;
- var url_cur = location.href ;
- var url_ref = document.referrer ;
- //var ems = getI( "//embed[@name='map']" ).snapshotItem(0) ;
- //var pl = ems.getAttribute( 'FlashVars' ).split('=')[1].split(':') ;
- var ems;
- var els = document.getElementsByTagName('param');
- for (var i = 0; i < els.length; i++) {
- var el = els[i];
- if (el.getAttribute('value').contains('map.swf')) {
- ems = els[i+1];
- break;
- }
- }
-
- var pl = ems.getAttribute( 'value' ).split('=')[1].split(':') ;
- var road = new Array() ;
- var transp = GM_getValue( "transport" , 3 ) ;
-
- var trtime = new Array( 120 , 84 , 60 , 36 , 24 , 12 ) ; // время перемещения по прямой
- var trtimed = new Array( 169 , 118 , 84 , 50 , 33 , 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 == 'http://www.heroeswm.ru/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="http://www.heroeswm.ru/ranger_guild.php"><img src="http://im.heroeswm.ru/i/houses/ranger.gif" border="0" title="Гильдия Рейнджеров"></a> <a href="http://www.heroeswm.ru/hunter_guild.php"><img src="http://im.heroeswm.ru/i/houses/hunter.gif" border="0" title="Гильдия Охотников"></a> <a href="http://www.heroeswm.ru/mercenary_guild.php"><img src="http://im.heroeswm.ru/i/houses/merc.gif" border="0" title="Гильдия Наёмников"></a> <a href="http://www.heroeswm.ru/thief_guild.php"><img src="http://im.heroeswm.ru/i/houses/thief.gif" border="0" title="Гильдия Воров"></a> <a href="http://www.heroeswm.ru/map.php?action=skip"><img src="http://i.imgur.com/rDyCmwf.png" border="0" title="Пропустить охоту"></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>' ;
-
- if( GM_getValue( "checklng" ) && GM_getValue( "checklng" ) == 1 ) {
- var check_lng_v = 1 ;
- var lng = 2 + 3 ;
- } else {
- var check_lng_v = 0 ;
- var lng = 1 + 3 ;
- }
-
-
- // 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, //Empty //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 , 'Empty' , 'Пусто' ] ,
- [ 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: 7 ,
-
- 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: 5 ,
-
- l20_14: 19 ,
- l20_15: 19 ,
- l20_16: 19 ,
- l20_17: 19 ,
- l20_18: 19 ,
- l20_27: 19 ,
-
- l21_14: 19 ,
- l21_15: 19 ,
- l21_16: 19 ,
- l21_17: 19 ,
- l21_18: 19 ,
- l21_27: 20 ,
-
- 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 {
- var el = ems;
- nado = el.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 ) {
- //ems.style.display = 'none' ; //старый формат
- 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><center><div id="hint_move">Пункт назначения: <b>' + locArr[pl[0]][lng] + '</b></center></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] ;
- }
- // если какой другой
- else {
- a = document.createElement( 'a' );
- a.style.fontSize = '11px' ;
- a.href = 'http://www.heroeswm.ru/move_sector.php?id='+l ;
- // если задание Наёмников
- if( pl[13] != 0 && l == pl[13] ) {
- a.style.color = 'FF0000' ;
- }
- a.innerHTML = locArr[l][lng] ;
- a.setAttribute( 'tZ' , l ) ;
-
- a.addEventListener( "mouseover", viewPath , false );
- a.addEventListener( "mouseout", hidePath , false );
-
- a.title = locArr[l][lng] + ' (' + 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= 'http://www.heroeswm.ru/map.php?cx=' + locArr[l][1] + '&cy=' + locArr[l][2] ;
- a.style.display = 'block' ;
- a.style.width = '100%';
- a.title = 'Осмотреть сектор '+locArr[l][lng] ;
- 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 setting() {
- bg = $('bgOverlay') ;
- bgc = $('bgCenter') ;
- if( !bg ) {
- bg = document.createElement('div') ;
- bg.id = 'bgOverlay' ;
- document.body.appendChild( bg );
- 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.addEventListener( "click", form_close , false );
-
- bgc = document.createElement('div') ;
- bgc.id = 'bgCenter' ;
- document.body.appendChild( bgc );
- bgc.style.position = 'absolute' ;
- bgc.style.width = '400px';
- bgc.style.background = "#F6F3EA";
- bgc.style.left = ( ( document.body.offsetWidth - 400 ) / 2 ) + 'px' ;
- }
-
- 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="Закрыть">x</div> <center><table> <tr><td><b>Настройки:</b></td></tr><tr><td><div><label style="cursor:pointer;"><input type="checkbox" id="id_check_vm"> Не отображать flash-карту</lable></div>' +
- '<div><label style="cursor:pointer;"><input type="checkbox" id="id_check_vs"> Отображать кнопки осмотра секторов</lable></div>' +
- '<div><label style="cursor:pointer;"><input type="checkbox" id="id_check_lng" title=""lng ru> Названия секторов по-русски</lable></div>' +
- '<div><label style="cursor:pointer;"><input type="checkbox" id="id_check_gn"> Сдавать задания Гильдии Наёмников с дороги</lable></div>' +
- '<div><label style="cursor:pointer;"><input type="checkbox" id="id_check_gv"> Автоматически вступать в бои Гильдии Рейнджеров</lable></div>' +
- '<div><label style="cursor:pointer;"><input type="checkbox" id="id_check_gvn"> Заходить в Гильдию Рейнджеров</lable></div><br><div>Ваш транспорт (<a href="http://www.heroeswm.ru/shop.php?cat=transport">транспорт в магазине</a>):<br><table><tr><td style="padding:5px;cursor:pointer;" id="transp3"><img src="http://www.heroeswm.ru/i/transport/3.jpg"></td><td style="padding:5px;cursor:pointer;" id="transp4"><img src="http://www.heroeswm.ru/i/transport/4.jpg"></td><td style="padding:5px;cursor:pointer;" id="transp5"><img src="http://www.heroeswm.ru/i/transport/5.jpg"></td></tr></table></div></td></tr></table></center></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 );
-
- $("bt_close").addEventListener( "click", form_close , 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 getI( xpath ) {
- return document.evaluate( xpath, document, null, XPathResult.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;
- }
-
- })();