[Engedélyezett] Sorba rendező 2

  • Témaindító DeletedUser16246
  • Kezdés ideje
Státusz
Nem lehet hozzászólni.

DeletedUser16246

Vendég
A scriptet az áttekintéseknél kell használni. A falukat sorbarendezi egy általunk megadott falu és a mi falujaink távolsága alapján. Illetve megjeleníti a pontos menetidőket egységekre lebontva. A menetidők előtt létrehoz egy gyülekezőhely ikont, amire kattintva az adott falu gyülekezőhelyére navigálhatunk.

- működik mind a kombinált-, mind a termelés nézetben
- ha nem ezek közül az egyikben indítod, akkor a kombináltra ugrik. Persze ha a termelésnél indítod, ott is fut, és nem ugrik át a kombináltra

Beállítás:
- világ és egység sebesség megadása:​
Kód beillesztése:
var worldSpeed=1.25;
var unitSpeed=0.67;

- egységek menetidejének megjelenítése: true esetén megjelenik az adott egység menetideje, míg false esetén nem​
Kód beillesztése:
spear:{visible:false,speed:(18/worldSpeed)/unitSpeed,name:'Lándzsás'},
    sword:{visible:false,speed:(22/worldSpeed)/unitSpeed,name:'Kardforgató'},
    archer:{visible:false,speed:(18/worldSpeed)/unitSpeed,name:'Íjász'},
    axe:{visible:false,speed:(18/worldSpeed)/unitSpeed,name:'Bárdos'},
    spy:{visible:false,speed:(9/worldSpeed)/unitSpeed,name:'Felderítő'},
    light:{visible:false,speed:(10/worldSpeed)/unitSpeed,name:'Könnyűlovas'},
    marcher:{visible:false,speed:(11/worldSpeed)/unitSpeed,name:'Lovasíjász'},
    heavy:{visible:false,speed:(11/worldSpeed)/unitSpeed,name:'Nehézlovas'},
    ram:{visible:false,speed:(30/worldSpeed)/unitSpeed,name:'Kos'},
    catapult:{visible:true,speed:(30/worldSpeed)/unitSpeed,name:'Katapult'},
    knight:{visible:false,speed:(10/worldSpeed)/unitSpeed,name:'Lovag'},
    snob:{visible:false,speed:(35/worldSpeed)/unitSpeed,name:'Nemes'}


Kód beillesztése:
javascript:
var worldSpeed=1.25;
var unitSpeed=0.67;
var units={
    spear:{visible:false,speed:(18/worldSpeed)/unitSpeed,name:'Lándzsás'},
    sword:{visible:false,speed:(22/worldSpeed)/unitSpeed,name:'Kardforgató'},
    archer:{visible:false,speed:(18/worldSpeed)/unitSpeed,name:'Íjász'},
    axe:{visible:false,speed:(18/worldSpeed)/unitSpeed,name:'Bárdos'},
    spy:{visible:false,speed:(9/worldSpeed)/unitSpeed,name:'Felderítő'},
    light:{visible:false,speed:(10/worldSpeed)/unitSpeed,name:'Könnyűlovas'},
    marcher:{visible:false,speed:(11/worldSpeed)/unitSpeed,name:'Lovasíjász'},
    heavy:{visible:false,speed:(11/worldSpeed)/unitSpeed,name:'Nehézlovas'},
    ram:{visible:false,speed:(30/worldSpeed)/unitSpeed,name:'Kos'},
    catapult:{visible:true,speed:(30/worldSpeed)/unitSpeed,name:'Katapult'},
    knight:{visible:false,speed:(10/worldSpeed)/unitSpeed,name:'Lovag'},
    snob:{visible:false,speed:(35/worldSpeed)/unitSpeed,name:'Nemes'}
};
var doc = document;
var win = window.frames.length > 0 ? window.main : window;
if (doc.URL.indexOf('overview_villages') != -1) {
    var targetCoord = prompt('Kérem a koordinátát:', '');
    if (targetCoord) {
        function fnDistance(e, t) {
            e = e.split('|');
            t = t.split('|');
            var n = t[0] - e[0];
            var r = t[1] - e[1];
            return Math.sqrt(n * n + r * r)
        }

        function zeroPad(e, t) {
            var n = e.toString();
            while (n.length < t) {
                n = '0' + n
            }
            return n
        }

        function fnHour(e) {
            return zeroPad(Math.floor(e / 3600), 2)
        }

        function fnMinute(e) {
            return zeroPad(Math.floor(e / 60) % 60, 2)
        }

        function fnSecond(e) {
            return zeroPad(Math.round(e % 60), 2)
        }
        var win = window.main || self,
            $ = win.$;
        $('.dsm').remove();
        var table = $('[id$=\'_table\']').filter(':not(#group_table)').get(0);
        var ii = $('[src*=\'note.png\'],[class*=\'note-icon\']').length > 0 ? 1 : 0;
        var rows = [];
        var row, coords, distance, unitDistance, villageID, rowHTML;
        var hdrHTML = '<th class="dsm"><b>Gyh</b></th>';
        for (var q = 1; q < table.tBodies[0].rows.length; q++) {
            rowHTML = "";
            row = table.tBodies[0].rows[q];
            coords = $.trim($(row.cells[ii]).text()).match(/\d+\|\d+/g);
            coords = coords ? coords[coords.length - 1] : null;
            distance = fnDistance(coords, targetCoord);
            for (var unit in units) {
                if (units[unit].visible) {
                    if (q == 1) {
                        hdrHTML += '<th class="dsm"><b>' + units[unit].name + "</b></th>"
                    }
                    unitDistance = distance * units[unit].speed * 60;
                    rowHTML += '<td class="dsm"><b>' + fnHour(unitDistance) + ":" + fnMinute(unitDistance) + ":" + fnSecond(unitDistance) + "</b></td>"
                }
            }
            villageID = ($(row).find("a:eq(0)").attr("href") || "").match(/village\=\d+/);
            row.innerHTML += '<td class="dsm"><a href="' + win.game_data.link_base_pure.replace(/village\=\d*/i, villageID).replace(/screen\=\w*/i, "screen=place") + '" target="_blank"><img src="graphic/buildings/place.png" alt="Rally point" width="16" height="16"/></a></td>';
            row.innerHTML += rowHTML;
            rows[q - 1] = [coords, row]
        }
        table.tBodies[0].rows[0].innerHTML += hdrHTML;
        rows = rows.sort(function (e, t) {
            return fnDistance(e[0], targetCoord) - fnDistance(t[0], targetCoord)
        });
        for (var q = 0; q < rows.length; q++) {
            table.tBodies[0].appendChild(rows[q][1])
        }
    }
} else {
    alert("A script csak az áttekintéseknél működik.\n(Kombinált, Termelés, stb...)\nUgrás az áttekintésekhez (Kombinált...)");
    self.location = win.game_data.link_base_pure.replace(/screen\=\w*/i, "screen=overview_villages&mode=combined")
}
void 0;
 
Utoljára egy moderátor szerkesztette:
Státusz
Nem lehet hozzászólni.
Fent