[Pasek] Zliczanie surowców w spichlerzach

jarq

Killer
Wynik reakcji
36
Skrypt zlicza sumy surowców we wszystkich wioskach.

----------------------------------------------------------------------------------------------
Kod skryptu:
Kod:
javascript:
doc=document;
if(window.frames.length>0)
doc=document.main;
url=document.URL;
var start = url.indexOf("village");
var end = url.indexOf('%26', start);
var id;
if (end > 0)
id = url.substring(start, end);
else
id = url.substring(start);
if (url.indexOf('screen=overview_villages') == -1)
location.search = '?screen=overview_villages&mode=prod&' + id;
else {

var pwood = 0;
var pclay = 0;
var piron = 0;

table = doc.getElementById("production_table");
cell = table.rows[0].cells[1].innerHTML;
if (cell.indexOf('">Wioska</a>') > -1) {
var rowsy = table.getElementsByTagName("tbody")[0].getElementsByTagName("tr").length;
for(j = 1; j < rowsy; j++){
var innerHTML = table.rows[j].cells[3].innerHTML;
if (innerHTML.indexOf('wood') > -1){

var Wstart = innerHTML.indexOf("<span");
var Wend = innerHTML.indexOf('</span> ', Wstart);
var stringHTML = innerHTML.substring(Wstart, Wend);
var innerHTML = innerHTML.replace(stringHTML,"");
stringHTML = stringHTML.replace(/[^0-9]/gi,"");
pwood = pwood + parseInt(stringHTML);
}
if (innerHTML.indexOf('stone') > -1){
var Wstart = innerHTML.indexOf("<span");
var Wend = innerHTML.indexOf('</span> ', Wstart);
var stringHTML = innerHTML.substring(Wstart, Wend);
var innerHTML = innerHTML.replace(stringHTML,"");
stringHTML = stringHTML.replace(/[^0-9]/gi,"");
pclay = pclay + parseInt(stringHTML);
}
if (innerHTML.indexOf('iron') > -1){
var stringHTML = innerHTML;
stringHTML = stringHTML.replace(/[^0-9]/gi,"");
piron = piron + parseInt(stringHTML);
}

}


table.rows[0].cells[3].innerHTML = '<span class="res wood">' + pwood.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '</span><span class="res stone">' + pclay.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '</span><span class="res iron">' + piron.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '</span>';

}


}
end();

Kod skryptu do pobrania na stronie Skryptoteki.



JAK TO WYGLĄDA W PRAKTYCE?

1) Instalujemy skrypt w pasku skrótów (instrukcja)


2) Wchodzimy w Przeglądy/Produkcja i klikamy skrypt.
7N9sPQr.jpg

3) U góry, nad listą wiosek, pokazuje się podsumowanie.
mgDpOkd.jpg
 
Ostatnio edytowane przez moderatora:

DeletedUser188425

Guest
chciałem zgłosić nieprawidłowe działanie skryptu :/
źle sumuje/pokazuje ilość surowców :(

wydaje mi się, że skrypt źle sobie radzi z sumowaniem spichlerzy w których jest powyżej 100k surowców, bo tylko wtedy pokazuje zły wynik :/
 

DeletedUser

Guest
Dokładnie :)

Mi raz wyszło koło miliona przy 4 wioskach xDDD
 

DeletedUser186885

Guest
Skrypt liczy niepoprawnie surowce w wioskach, w których spichlerz ma się zaraz zapełnić. Zawsze dostawia wtedy 90 z przodu liczby. Czyli w wiosce gdy jest np. 25,000 surowców i ostrzeżenie że się ma przepełnić spichlerz, to policzy jako 9,025,000 surowców. Problem tworzy zmieniona klasa w elemencie HTML'a - wtedy jest: <span class="warn_90 wood">25<span class="grey">.</span>000</span> zamiast <span class="res wood">25<span class="grey">.</span>000</span>
Naprawa skryptu byłaby banalna, ale przecież wg. stanowiska supportu "gdyby twórcy plemion chcieli pozwolić na to, żeby gracze mieli zliczane surowce, to nie byłoby problemu ze zrobieniem tego i zamiast etykiety "Surowce" w tabelce mieliby sumę surowców w wioskach", więc niech twórcy plemion sobie naprawiają ten skrypt
 
Do góry