Skripty

Z Tribalwars Wiki CZ
Jump to navigation

Pojem a definice

Skripty jsou pomocné aplikace psané v jazyce Javascript. Vykonávají různé funkce od přidávání textu až po kompletní změnu vzhledu stránky. Zpracovávají se převážně po načtení stránky k uživatelovi, tedy k Vám. Skripty jsou užitečné vychytávky, mají ale dva menší problémy. Za prvé nemusí jít bezchybně ve všech prohlížečích a za druhé většina nefunguje bez aktivovaného prémiového účtu.

Pozor! Aby mohl být skript používán, musí být schválen Supportem. Kdo používá neschválené skripty, může být zabanován.

Instalační skript

Instalační skript je skript obsahující seznam všech povolených skriptů pro Divoké kmeny CZ u kterých lze i nahlásit jejich nefunkčnost. Funguje na bázi AJAXu, čili instaluje v reálném čase, takže znovu načtení stránky není potřeba.

Odkaz

Skript najdete na DK nářadí

Seznam povolených skriptů

Pozn: Skripty povoluje národní support pro každou zemi zvlášť. Budete-li hrát Divoké Kmeny na serveru jiné země, ověřte si, zda jsou vámi používané skripty povolené i tam.

Lokalizace šlechtice

Script profiltruje tabulku v kombinovaném náhledu a nechá pouze vesnice ve kterých je jeden nebo více šlechticů. Zbylé řádky smaže a ohlásí, že filtrování bylo ukončeno.

Autor Pan Ořech
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ CZ DK fórum
Otestováno v prohlížečích Google Chrome 8.0, Firefox 3.6, Internet Explorer 8.0, Opera 11.00
Nefunguje v prohlížečích -

Kód:

javascript:
if(document.getElementById("combined_table")){
  $("#combined_table tr:gt(0)").each(function(){
    cell = $(this).children("td").length - 2;
    if($(this).children("td:eq("+cell+")").text() == "0"){
      $(this).css("display","none");
    }
  });
  alert("Šlechtici byli vyfiltrováni.");
}
else{
  alert("Script funguje jen na stránce náhledu 'Kombinované'.");
  window.location="/game.php?screen=overview_villages&mode=combined";
}
void 0;

Hromadné přejmenování vesnic

Skript se zeptá na požadovaný název a tím pojmenuje všechny vesnice, které jsou zrovna zobrazeny v kombinovaném náhledu. Přejmenování je nezvratné, původní názvy již nelze obnovit.

Autor Servy
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ US/EN Forum TribalWars
Otestováno v prohlížečích Firefox 4.0
Nefunguje v prohlížečích -

Kód:

javascript:
var%20text=prompt('Enter village name');var%20doc=document;
if(window.frames.length>0)doc=window.main.document;
var%20inputs=doc.getElementsByTagName('input');for(i=0;i<inputs.length;
i++){if(inputs[i].id.indexOf('edit_input')!=-1){inputs[i].value=text;
inputs[i+1].click();}}end();

Druhá verze, umožňující vložit do názcu číslování. To se učiní sekvencí &n&. Ta bude v názvu nahrazena číslem. Pokud tedy zadáte "Vesnice &n&", vznikne z toho "Vesnice 01", "Vesnice 02", "Vesnice 03", ... Počet nul je doplněn podle celkového počtu vesnic.

Kód:

javascript:function CorrectNumber(curNumber, maxNumber)
{var lenM=maxNumber.toString().length;
var lenC=curNumber.toString().length;var nulls="";
if(lenC<lenM){for(v=lenC;v<lenM;v++)
{nulls+="0";}curNumber=nulls+curNumber.toString();}return curNumber;}
if(game_data.screen=="overview_villages" && 
!(game_data.mode=="incomings"||game_data.mode=="commands"||game_data.mode=="trader"))
{var text=prompt('Zadejte název vesnice:\n\n&n& - tento řetězec v textu bude nahrazen\n pořadovým číslem vesnice.');
if(text.replace(/&n&/g,"_").length>2)
{var inputs=document.getElementsByTagName('input');n=1;
for(i=0;i<inputs.length;i++){if(inputs[i].id.indexOf('edit_input')!=-1)
{inputs[i].value=text.replace(/&n&/gi,CorrectNumber(n,game_data.player.villages));
inputs[i+1].click();n++;}}}
else{alert("Název vesnice musí obsahovat minimálně 3 znaky");}}
else{alert("Chyba! Na této stránce/náhledu nelze skript použít!");}
void 0;


Seřazení vzdálenosti vesnic od koordinátoru

Setřídí v kombinovaném náhledu vesnice podle vzdálenosti od zapsané souřadnice a vypíše čas.

Autor 1Pupik1989
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ DK nářadí
Otestováno v prohlížečích Google Chrome 12.0
Nefunguje v prohlížečích -

Kód:

javascript:
$.getScript('http://dk-naradi.707.cz/Skripty/VzdalenostVesnice2/VzdalenostVesnice2.js');

Filtrování šlechticů z kombinovaného náhledu

Vyfiltruje šlechtice z kombinovaného náhledu a seřadí je. Vesnice bez šlechticů nezapisuje. Jiná verze prvního skriptu.

Autor 1Pupik1989
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ DK nářadí
Otestováno v prohlížečích Google Chrome 12.0
Nefunguje v prohlížečích -

Kód:

javascript:
$.getScript('http://dk-naradi.707.cz/Skripty/FiltrSlechticuJquery/FiltrSlechticuJquery.js');

Filtrování souřadnic z textu

Script najde v označeném textu v DK /a interního föra DK/ souřadnice vesnic a vypíše je samostatně, do nově otevřeného okna, v BBC formátu "[village]souřadnice[/village]". Stačí v DK označit kus textu (nutné!) který obsahuje i souřadnice a pak spustit (ťuknout na) script.

Autor Turgon
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ CZ DK Fórum
Otestováno v prohlížečích Internet Explorer 5.5 a vyšší, Mozilla Firefox
Nefunguje v prohlížečích Internet Explorer 5.0 a nižší

Kód:

javascript:function%20mySel(mydoc)
{return%20(mydoc.selection)?mydoc.selection.createRange().text:mydoc.getSelection();}
var%20doc=window.top;if(doc.frames.length>0)doc=doc.main;doc=doc.document;
vyber=mySel(doc);var%20tdt=doc.getElementsByTagName('iframe');for(var%20i=0;
i<tdt.length;i++)
{myifr=tdt[i].contentDocument;
if(!myifr)myifr=tdt[i].contentWindow.document;
vyber+=mySel(myifr);}vbbc=window.open('');
vbbc.document.writeln('<html><head><title>Vesnice BBC</title></head><body>');
arr=vyber.split(/\s/);
for(var%20i=0;i<arr.length;i++){m=arr[i].match(/\d+\|\d+/);
if(m)vbbc.document.writeln('[village]'+m+'[/village]<BR>');}
vbbc.document.close();end();

Hromadné přejmenování oznámení

Pro hromadné přejmenování oznámení - odmazání textu "hráč (vesnice) útočí na ", takže zbude jen nápis cílové vesnice. Script funguje na stránce seznamu oznámení, kde přejmenuje všechny (pozor! všechny) nápisy oznámení na stránce. Použití na vlastní nebezpečí.

Autor Turgon
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ CZ DK Fórum
Otestováno v prohlížečích Mozilla Firefox
Nefunguje v prohlížečích Internet Explorer

Kód:

javascript:
var%20doc=document;
if(window.frames.length>0)doc=window.main.document;
var%20inputs=doc.getElementsByTagName('input');
for(i=0;i<inputs.length;i++){
if(inputs[i].id.indexOf('editInput')!=-1){
if((j=inputs[i].value.indexOf(' útočí na '))!=-1){
inputs[i].value=inputs[i].value.substring(j+10);
inputs[i+1].click(); }}}void 0;

Hromadné přejmenování příchozích útoků

Pracuje na stránce s příchozími útoky. Všechny dosud neoznačené (jakkoliv nepřejmenované) útoky označí formátem "[datum čas]" a vypíše počet nových útoků od posledního použití.

Autor Turgon
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ CZ DK Fórum
Otestováno v prohlížečích Mozilla Firefox
Nefunguje v prohlížečích Internet Explorer

Kód:

javascript:function labelAttacks(){var arrInputs=document.getElementsByTagName('input');
var txtAttack="Útok";
var strDate=document.getElementById('serverDate').childNodes[0].nodeValue;
strDate=strDate.substring(0,strDate.length-5);
var strTime=document.getElementById('serverTime').childNodes[0].nodeValue;
var j=0;for(i=0;i<arrInputs.length;i++)
{if(arrInputs[i].id.indexOf('editInput')!=-1&&arrInputs[i].value==txtAttack)
{j++; arrInputs[i].value='['+strDate+' '+strTime+']';
arrInputs[i+1].click();}}alert("Nových:"+j);}labelAttacks();

Lepší přehled dostavěnosti jednotek

Všude, kde je na stránce v jedné buňce (sloupci,...) nápis "24000/24000" tento text zamění za malý nápis "24000". Pro optické odlišení.

Autor Turgon
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ CZ DK Fórum
Otestováno v prohlížečích Mozilla Firefox

Kód:

javascript:var%20configuration=[24000,24000];
var%20doc=document;
if(window.frames.length>0)doc=window.main.document;
var%20tdt=doc.getElementsByTagName('td');
for(var%20i=0;i<tdt.length;i++){s=tdt[i].innerHTML;
if(s.length==11&&s.substr(5,6)=='/24000')
{var%20nn=parseInt(s.substr(0,5),10);
if((nn>=configuration[1])||((nn>=configuration[0])&&!(nn%25%31%30%30)))
{tdt[i].innerHTML=%22<span%20class='small'><i>%22+nn.toString(10)
+%22<i></span>%22;}}}end();

Třídění vesnic v náhledu

Tento skript při použití v náhledu (skoro v každém s prémiovým účtem) změní první čast, že je možné třídit vesnice podle jakéhokoliv roztřídění k dispozici v daném náhledu.

Autor SlowTarget, Senky
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ CZ DK Fórum
Otestováno v prohlížečích Mozilla Firefox

Kód:

javascript:function c(){var a=document;
if(window.frames.length>0)a=window.main.document;
var b=a.createElement('script');
b.type='text/javascript';
b.src='http://www.online-hry-help.sk/skripty/sort.js';
a.getElementsByTagName('head')[0].appendChild(b);}c();

Souřadnice z mapy

Vypisuje souřadnice opuštěných vesnic z mapy do textového pole. Při každém posunu a puštění tlačítka myši přidá další barbarské vesnice z aktuální polohy mapy. Skript má možnost i filtrovat vesnice podle ID hráče - příklad: screen=info_player&id=960412. Tučně zvýrazněné je ID hráče, které naleznete na profilové stránce ve webové adrese.

Tip: Pro barbarské vesnice zadejte ID hráče "0".

Autor 1Pupik1989
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ DK Nářadí
Otestováno v prohlížečích Google Chrome 12.0

Kód:

javascript:
$.getScript('http://dk-naradi.707.cz/Skripty/SouradniceZMapy2/SouradniceZMapy2.php');

Sbírání souřadnice z mapy

Při klikání na vesnice na mapě zapisuje souřadnice kliknuté vesnice do textového pole. Bohužel jistý problém působí jak přítomnost grafického kontextového menu (zavazí při klikání), tak jeho nepřítomnost (mapa má zas tendenci ihned reagovat náhledem vesnice).

Autor Stotty2009
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ US/EN Forum TribalWars
Otestováno v prohlížečích Google Chrome 12.0

Kód:

javascript:
function cr(){
    var n_div=document.createElement('textarea');
    n_div.id="t";
    n_div.cols="30";
    n_div.rows="20";
    $('.minimap_container').after(n_div);
}
$('#map').click(function()
{
    a = $('#info_title').html();
    b = a.split(/[(|)]/);
    $('#t').html($('#t').html()+'[coord]'+b[1]+'|'+b[2]+'[/coord] \n');
});
cr();

Univerzální přidání vzdálenosti

Všude na stránce, kde se vyskytuje klasický popis libovolné vsi (tedy souřadnice v závorkách) přidá za tuto závorku vzdálenost od aktuální vsi (od vsi, ve které právě jste). Vzdálenost se zobrazí červeně, s přesností na jedno desetinné místo.

Autor Turgon
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ CZ DK Fórum
Otestováno v prohlížečích Mozilla Firefox 3.6, Google Chrome 12.0

Kód:

javascript:
 function zamena(text){
  var xy=window.game_data.village.coord.split('|');
  var dxy=text.split('|'); dxy[0]=parseInt(dxy[0].substr(1)); dxy[1]=parseInt(dxy[1].split(')'));
  xy[0]=Math.abs(xy[0]-dxy[0]); xy[1]=Math.abs(xy[1]-dxy[1]);
  var vzdal=Math.sqrt((xy[0]*xy[0])+(xy[1]*xy[1]));
  vzdal=Math.round(vzdal*10)/10;
  return '('+dxy[0]+'|'+dxy[1]+') <font color="red">'+vzdal+'</font>';
 }
var re1=/\(\d+\|\d+\)/g;
document.body.innerHTML=document.body.innerHTML.replace(re1,zamena);
void 0;

Filtrování vesnic v profilu hráče

Vyfiltruje souřadnice z profilu hráče podle vámi zadaných podmínek.

Autor File Not Found
Podporovaný jazyk čeština
Premiový účet nutný
Původ US/EN Forum TribalWars
Otestováno v prohlížečích Google Chrome 12.0

Kód:

javascript:
$.getScript("http://taktimer.net/scripts/ppSelectCoords.js");
void(0);

FAKE skript / Vyplnění souřadnic a vojska na nádvoří

Skript vybere náhodně vesnici z předdefinovaného seznamu vesnic a její souřadnice vyplní spolu s předdefinovanými jednotkami v Nádvoří.

Počet jednotek a seznam souřadnic, z něhož se náhodně vybírá, je nutné doplnit do kódu uživatelem!

Zde je skript nastaven na 1 beranidlo.

Autor neznámý
Podporovaný jazyk nezávislé
Premiový účet není třeba
Původ CZ DK Fórum
Otestováno v prohlížečích Google Chrome 12.0

Kód:

Luky + Paladin

javascript:
var%20cook="1";
sp=0;sw=0;ax=0;ar=0;
scout=0;lc=0;ma=0;hv=0;
cat=0;ra=0;
no=0;kn=0;
coords="500|500 600|600 700|700 800|800 900|900";
var%20doc=document;%20if(window.frames.length>0)doc=window.main.document;
url=document.URL;
if(url.indexOf("screen=place")==-1)
alert("This%20script%20needs%20to%20be%20run%20from%20the%20rally%20point");
coords=coords.split("%20");index=0;
farmcookie=document.cookie.match("(^|;)%20?"+cook+"=([^;]*)(;|$)");
if(farmcookie!=null)index=parseInt(farmcookie[2]);
if(index>=coords.length)alert("last%20village");
if(index>=coords.length)index=0;coords=coords[index];
coords=coords.split("|");index=index+1;
cookie_date=new%20Date(2015,11,11);document.cookie%20=cook+"="+index+";
expires="+cookie_date.toGMTString%20();
doc.forms[0].x.value=coords[0];
doc.forms[0].y.value=coords[1];
doc.forms[0].spear.value=sp;
doc.forms[0].knight.value=kn;
doc.forms[0].marcher.value=ma;
doc.forms[0].archer.value=ar;
doc.forms[0].snob.value=no;
doc.forms[0].sword.value=sw;
doc.forms[0].axe.value=ax;
doc.forms[0].spy.value=0;
doc.forms[0].light.value=0;
doc.forms[0].heavy.value=hv;
doc.forms[0].ram.value=ra;
doc.forms[0].catapult.value=cat;
end();

Luky bez Paladina

javascript:
var%20cook="1";
sp=0;sw=0;ax=0;ar=0;
scout=0;lc=0;ma=0;hv=0;
cat=0;ra=1;
no=0;
coords="500|500 600|600 700|700 800|800 900|900";
var%20doc=document;%20if(window.frames.length>0)doc=window.main.document;
url=document.URL;
if(url.indexOf("screen=place")==-1)
alert("This%20script%20needs%20to%20be%20run%20from%20the%20rally%20point");
coords=coords.split("%20");index=0;
farmcookie=document.cookie.match("(^|;)%20?"+cook+"=([^;]*)(;|$)");
if(farmcookie!=null)index=parseInt(farmcookie[2]);
if(index>=coords.length)alert("last%20village");
if(index>=coords.length)index=0;coords=coords[index];
coords=coords.split("|");index=index+1;
cookie_date=new%20Date(2015,11,11);document.cookie%20=cook+"="+index+";
expires="+cookie_date.toGMTString%20();
doc.forms[0].x.value=coords[0];
doc.forms[0].y.value=coords[1];
doc.forms[0].spear.value=sp;
doc.forms[0].marcher.value=ma;
doc.forms[0].archer.value=ar;
doc.forms[0].snob.value=no;
doc.forms[0].sword.value=sw;
doc.forms[0].axe.value=ax;
doc.forms[0].spy.value=0;
doc.forms[0].light.value=0;
doc.forms[0].heavy.value=hv;
doc.forms[0].ram.value=ra;
doc.forms[0].catapult.value=cat;
end();

Bez luků, s Paladinem

javascript:
var%20cook="1";
sp=0;sw=0;ax=0;
scout=0;lc=0;hv=0;
cat=0;ra=1;
no=0;kn=0;
coords="500|500 600|600 700|700 800|800 900|900";
var%20doc=document;%20if(window.frames.length>0)doc=window.main.document;
url=document.URL;
if(url.indexOf("screen=place")==-1)
alert("This%20script%20needs%20to%20be%20run%20from%20the%20rally%20point");
coords=coords.split("%20");index=0;
farmcookie=document.cookie.match("(^|;)%20?"+cook+"=([^;]*)(;|$)");
if(farmcookie!=null)index=parseInt(farmcookie[2]);
if(index>=coords.length)alert("last%20village");
if(index>=coords.length)index=0;coords=coords[index];
coords=coords.split("|");index=index+1;
cookie_date=new%20Date(2015,11,11);document.cookie%20=cook+"="+index+";
expires="+cookie_date.toGMTString%20();
doc.forms[0].x.value=coords[0];
doc.forms[0].y.value=coords[1];
doc.forms[0].spear.value=sp;
doc.forms[0].knight.value=kn;
doc.forms[0].snob.value=no;
doc.forms[0].sword.value=sw;
doc.forms[0].axe.value=ax;
doc.forms[0].spy.value=0;
doc.forms[0].light.value=0;
doc.forms[0].heavy.value=hv;
doc.forms[0].ram.value=ra;
doc.forms[0].catapult.value=cat;
end();

Bez luků, bez Paladina

javascript:
var%20cook="1";
sp=0;sw=0;ax=0;
scout=0;lc=0;hv=0;
cat=0;ra=1;
no=0;
coords="500|500 600|600 700|700 800|800 900|900";
var%20doc=document;%20if(window.frames.length>0)doc=window.main.document;
url=document.URL;
if(url.indexOf("screen=place")==-1)
alert("This%20script%20needs%20to%20be%20run%20from%20the%20rally%20point");
coords=coords.split("%20");index=0;
farmcookie=document.cookie.match("(^|;)%20?"+cook+"=([^;]*)(;|$)");
if(farmcookie!=null)index=parseInt(farmcookie[2]);
if(index>=coords.length)alert("last%20village");
if(index>=coords.length)index=0;coords=coords[index];
coords=coords.split("|");index=index+1;
cookie_date=new%20Date(2015,11,11);document.cookie%20=cook+"="+index+";
expires="+cookie_date.toGMTString%20();
doc.forms[0].x.value=coords[0];
doc.forms[0].y.value=coords[1];
doc.forms[0].spear.value=sp;
doc.forms[0].snob.value=no;
doc.forms[0].sword.value=sw;
doc.forms[0].axe.value=ax;
doc.forms[0].spy.value=0;
doc.forms[0].light.value=0;
doc.forms[0].heavy.value=hv;
doc.forms[0].ram.value=ra;
doc.forms[0].catapult.value=cat;
end();

Filtr nedostavěného opevnění

V Náhledy -> Budovy vyfiltruje vesnice, kde není dostavěné opevnění.

Autor brwar
Podporovaný jazyk nezávislé
Premiový účet nutný
Původ US/EN Forum TribalWars
Otestováno v prohlížečích Google Chrome 12.0

Kód

javascript:
$.getScript('http://equipetribalwars.com/scripts/filtro_de_muralha.js');
void(0);