[S] Troepenteller die werkt op elke wereld (Nu en in de toekomst)

.Mark.

Guest
De titel legt het doel van deze tool al genoeg uit, dus hier volgt wat technisch geneuzel.

De meest gangbare troepen tellers gaan uit van een specifieke wereldinstellingen. Al dan niet het bestaan van boogschutters (en hun vrienden te paard), het bestaan van een ridder en sinds kort het bestaan van een burgerwacht.
Ik heb een tool geschreven die dynamisch bepaald welke eenheden er zijn (en hoe deze heten) en werkt dus altijd. :cool:

Daarnaast maak ik gebruik van jQuery functies aangezien TW deze fantastische library gebruikt. Dank hiervoor :D

Hier is de volledige code:
Code:
javascript:

/* Troepenteller
Voor elke willekeurige wereldinstelling
@author Mark Biesheuvel */

var i;
var units = [];
var amounts = [];

var find_valid_units = function(){
	var unit = $(this).find('img').attr('title');
	if(unit!=undefined){
		units[i] = unit;
		amounts[i] = 0;
		i++;
	}
};
var iterate_over_village = function(){
	iterate_over_row(this, 0);
	iterate_over_row(this, 2);
	iterate_over_row(this, 3);
};

var iterate_over_row = function(row, j){
	i = 0;
	$(row).find('tr:eq(' + j + ') td.unit-item').each(add_to_amount);
};

var add_to_amount = function(){
	amounts[i] += parseInt($(this).text());
	i++;
};

i = 0;
$('#units_table').find('thead th').each(find_valid_units);

$('#units_table').find('tbody').each(iterate_over_village);

var result = '';
for(i=0; i<units.length; i++){
	result += units[i] + ': ' + amounts[i] + '\r\n';
}
alert(result);

En hier is de code die je in je snellijst kan plaatsen:
Code:
javascript:/*Troepenteller-Mark Biesheuvel*/var i,u=[],a=[],t='',f=function(){var x=$(this).find('img').attr('title');if(x!=undefined){u[i]=x;a[i]=0;i++}},v=function(){r(this,0);r(this,2);r(this,3)},r=function(w,j){i=0;$(w).find('tr:eq('+j+') td.unit-item').each(b)},b=function(){a[i]+=parseInt($(this).text());i++};i=0;$('#units_table').find('thead th').each(f);$('#units_table').find('tbody').each(v);for(i=0;i<u.length;i++){t+=u[i]+': '+a[i]+'\r\n'};alert(t)

Daarnaast is deze link wellicht ook handig voor in de snellijst (hiermee ga je direct naar het troepenoverzicht):
Code:
{game}&mode=units&screen=overview_villages&type=complete

Tot nu toe heb ik het script alleen getest in Opera en alleen op W26, maar ik verwacht dat er geen problemen zijn met andere browsers en andere werelden.
 
Laatst bewerkt door een moderator:
Reactiescore
81
Re: [8.8] Troepenteller die werkt op elke wereld (Nu en in de toekomst)

Klinkt erg goed!
 

martijnkjr

Guest
Re: [8.8] Troepenteller die werkt op elke wereld (Nu en in de toekomst)

w14 opera werkt ;)

wel handig
 

Roccom

Guest
Re: [8.8] Troepenteller die werkt op elke wereld (Nu en in de toekomst)

waarom geen JS bestanden meer ?
maar hele codes op het forum ?
 
Reactiescore
81
Re: [8.8] Troepenteller die werkt op elke wereld (Nu en in de toekomst)

waarom geen JS bestanden meer ?
maar hele codes op het forum ?
Omdat dit een snellijstscript is?
Userscripts zijn bestanden die gedownload moeten worden, dit is wat anders ;)
 

Terr0rNL

Guest
Re: [8.8] Troepenteller die werkt op elke wereld (Nu en in de toekomst)

Mag en kan ik deze tool toevoegen aan tribetool.nl ?
 

Mcmartens

Guest
Re: [8.9] Troepenteller die werkt op elke wereld (Nu en in de toekomst)

Zou het mogelijk zijn dit script op meerdere pagina's te laten werken?
Daarmee bedoel ik dan bijvoorbeeld de 'Bevel' pagina zodat je kan zien hoeveel troepen je onderweg hebt, of het dorpsinformatie scherm, zodat je sneller kan zien hoeveel OS er bijvoorbeeld bij iemand staat.
 

DeletedUser40384

Guest
Sangu effe uitzetten. Script werkt goed in firefox op wereld 19 en 35. Verder zie ik ook geen rare dingen staan in de code die problemen zou moeten geven.