Hallo Leute,
ich hab gestern ein kleines Javascript zum zählen der Truppen geschrieben... einfach so aus Interesse und Schwanzlängenvergleich
Da ich selber nur auf Welt 7 Spiele, kann ich es auch nur da testen. Wer ein bisschen Ahnung von Javascript hat, kann es aber sicherlich auch schnell für andere Welten anpassen.
Um es zu nutzen erstellt ihr einfach einen neuen Link in der Schnellleiste mit folgendem Code als Ziel-URL:
Code:
javascript:javascript:var b=new Array(0,0,0,0,0,0,0,0);var c=0;var d=document.getElementsByTagName('table');for(var a=0;a<d.length;a++){if(d[a].className=='main'){var e=d[a].getElementsByTagName('table');for(var i=0;i<e.length;i++){if(e[i].className='vis'){var f=e[i].getElementsByTagName('tr');for(var j=0;j<f.length;j++){if(f[j].className=='nowrap row_a'||f[j].className=='nowrap row_b'){var g=f[j].getElementsByTagName('td');for(var k=7;k<=14;k++){b[k-7]+=parseInt(g[k].firstChild.nodeValue);}c++;}}}}}}alert("Einheit - Truppen - Durchschnitt\n---------------------------------\nSpeerträger: "+b[0]+" ("+Math.round(b[0]/c)+")\nSchwertkämpfer: "+b[1]+" ("+Math.round(b[1]/c)+")\nAxtkämpfer: "+b[2]+" ("+Math.round(b[2]/c)+")\nSpäher: "+b[3]+" ("+Math.round(b[3]/c)+")\nLeichte Kavallerie: "+b[4]+" ("+Math.round(b[4]/c)+")\nSchwere Kavallerie: "+b[5]+" ("+Math.round(b[5]/c)+")\nRammböcke: "+b[6]+" ("+Math.round(b[6]/c)+")\nKatapulte: "+b[7]+" ("+Math.round(b[7]/c)+")");
Zum Zählen der Truppen geht ihr auf die Dorfübersicht in der "Kombiniert"-Ansicht und klickt auf den erstellten Link in der Schnellleiste. Es erscheint ein Popup mit der Summe aller Truppen.
Es werden dabei nur die Truppen gezählt, die auch auf der Dorf-Übersicht angezeigt werden. Truppen die nicht im Heimatdorf stehen, werden nicht gezählt.
Viel Spaß damit
Und ganz hinten noch der Code ohne Komprimierung, damit jeder sehen kann, dass der Code nichts böses macht
Code:
var troups = new Array(0, 0, 0, 0, 0, 0, 0, 0);
var numvil = 0;
var main = document.getElementsByTagName('table');
for(var a = 0; a < main.length; a++)
{
if(main[a].className == 'main')
{
var par = main[a].getElementsByTagName('table');
for(var i = 0; i < par.length; i++)
{
if(par[i].className = 'vis')
{
var rows = par[i].getElementsByTagName('tr');
for(var j = 0; j < rows.length; j++)
{
if(rows[j].className == 'nowrap row_a' || rows[j].className == 'nowrap row_b')
{
var cells = rows[j].getElementsByTagName('td');
for(var k = 7; k <= 14; k++)
{
troups[k-7] += parseInt(cells[k].firstChild.nodeValue);
}
numvil++;
}
}
}
}
}
}
alert(
"Einheit - Truppen - Durchschnitt\n" +
"---------------------------------\n" +
"Speerträger: " + troups[0] + " (" + Math.round(troups[0]/numvil) + ")\n" +
"Schwertkämpfer: " + troups[1] + " (" + Math.round(troups[1]/numvil) + ")\n" +
"Axtkämpfer: " + troups[2] + " (" + Math.round(troups[2]/numvil) + ")\n" +
"Späher: " + troups[3] + " (" + Math.round(troups[3]/numvil) + ")\n" +
"Leichte Kavallerie: " + troups[4] + " (" + Math.round(troups[4]/numvil) + ")\n" +
"Schwere Kavallerie: " + troups[5] + " (" + Math.round(troups[5]/numvil) + ")\n" +
"Rammböcke: " + troups[6] + " (" + Math.round(troups[6]/numvil) + ")\n" +
"Katapulte: " + troups[7] + " (" + Math.round(troups[7]/numvil) + ")"
);