Olá, boa tarde!
Quando eu jogava no BR64 eu participava das OPs utilizando um script em especial, funcionava da seguinte forma:
1 - Ir na vizualização geral e colocar em combinado
2 - clicar no script
3 - inserir a coordenada alvo e apertar enter.
Em seguida, a página atualizava com as aldeias mostrando o tempo das unidades até a coordenada alvo, exemplo:
Coordenada alvo X -
Aldeia 02 - Lanceiro 3hrs - Espada 4hrs - CL 1hr - Ariete 5hrs
Aldeia 01 - Lanceiro 3;15hrs - Espada 4;20hrs - CL 1;10hr - Ariete 5;30hrs
Aldeia 04 - Lanceiro 3;33hrs - Espada 4;41hrs - CL 1;44hr - Ariete 6;12hrs
Aldeia 03 - Lanceiro 3;50hrs - Espada 5hrs - CL 2hr - Ariete 7hrs
Lembro que utilizava este script e na época era lega, achei um na lista de script permitido, talvez seja o mesmo ou semelhante porém não consegui usa-lo, só da erro.
1- Advance Proximity Script
Descrição: Permite o usuário organizar suas aldeias para um determinado alvo, adicionando o tempo até ele.
Link: https://forum.tribalwars.net/index.php?threads/all-approved-scripts.243208/
Não achei ninguém que conseguisse usa-lo
Javascript: var targetCoord = prompt(' - Script by - Insurmountable; Insira a coordenada: ', ''); if (targetCoord) { var info_xml = $.ajax({ url: "interface.php?func=get_unit_info", async: false }).responseText; var units = { spear: { visible: true, speed: $('spear speed', info_xml).text(), name: '<img src="graphic/unit/unit_spear.png"' }, sword: { visible: true, speed: $('sword speed', info_xml).text(), name: '<img src="graphic/unit/unit_sword.png"' }, archer: { visible: true, speed: $('archer speed', info_xml).text(), name: '<img src="graphic/unit/unit_archer.png"' }, axe: { visible: true, speed: $('axe speed', info_xml).text(), name: '<img src="graphic/unit/unit_axe.png"' }, spy: { visible: true, speed: $('spy speed', info_xml).text(), name: '<img src="graphic/unit/unit_spy.png"' }, light: { visible: true, speed: $('light speed', info_xml).text(), name: '<img src="graphic/unit/unit_light.png"' }, marcher: { visible: true, speed: $('marcher speed', info_xml).text(), name: '<img src="graphic/unit/unit_marcher.png"' }, heavy: { visible: true, speed: $('heavy speed', info_xml).text(), name: '<img src="graphic/unit/unit_heavy.png"' }, ram: { visible: true, speed: $('ram speed', info_xml).text(), name: '<img src="graphic/unit/unit_ram.png"' }, catapult: { visible: true, speed: $('catapult speed', info_xml).text(), name: '<img src="graphic/unit/unit_catapult.png"' }, knight: { visible: true, speed: $('knight speed', info_xml).text(), name: '<img src="graphic/unit/unit_knight.png"' }, snob: { visible: true, speed: $('snob speed', info_xml).text(), name: '<img src="graphic/unit/unit_snob.png"' } }; function fnDistance(a, b) { a = a.split('|'); b = b.split('|'); var c = b[0] - a[0]; var d = b[1] - a[1]; return Math.sqrt(c * c + d * d) } function zeroPad(number, length) { var n = number.toString(); while (n.length < length) { n = '0' + n; } return n; } function fnHour(time) { return zeroPad(Math.floor(time / 3600), 2); } function fnMinute(time) { return zeroPad(Math.floor(time / 60) % 60, 2); } function fnSecond(time) { return zeroPad(Math.round(time % 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><img src="graphic/buildings/place.png"</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 (a, b) { return fnDistance(a[0], targetCoord) - fnDistance(b[0], targetCoord) }); for (var q = 0; q < rows.length; q++) { table.tBodies[0].appendChild(rows[q][1]); } } void(0);