[Pasek] Kolorowanie zapełnienia zagrody w zakładce produkcja

jarq

Killer
Wynik reakcji
45
Skrypt koloruje stan zagrody na podstawie % jej zapełnienia - kolory od zielonego (najwięcej miejsca w zagrodzie) do czerwonego (minimalna liczba/brak wolnych miejsc).

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 {
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++) {
innerHTML = table.rows[j].cells[6].innerHTML;
zagr=innerHTML;
zagr = zagr.split("/");
if(zagr[1].slice(-1) == "<"){
zagr[1] = zagr[1].slice(0,-1)
}
var procent = (zagr[0]/zagr[1])*100;
var red = Math.floor((255*procent)/100);
var green = Math.floor((255*(100-procent))/100);
table.rows[j].cells[6].innerHTML = '<font style="color: rgb('+red+','+green+',0); font-weight: bold;">' +zagr[0] + '/' + zagr[1] +'</font>';
}	
}
}
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 w pasku skrótów.
W rubryce "Zagroda" skrypt koloruje nam poszczególne wartości.







-------------------------------------------------------------------------------------
Zapraszam do dyskusji.
 
Ostatnio edytowane przez moderatora:

Lukasz032

Kapitan Oczywisty
Plemiona Team
SuperMod
Operator Gry
Wynik reakcji
210
Naprawić to by się dało, ale autorem tego akurat skryptu jest lol2x i to na niego musimy czekać, bo nie zawarł w skrypcie ani w opisie informacji o licencji :)
 

DeletedUser193471

Guest
Po kliknięciu normalnie włącza się przegląd ale ponowne klikniecie nie zmienia koloru.
 

DeletedUser189632

Guest
Ale po co komu w dzisiejszych czasach ten skrypt, jak teraz chyba każdy już ma konto premium, gdzie da się posortować wioski według zapełnienia zagrody?
 

promyk1

Chłop
Wynik reakcji
1
Czy jest szansa aby autor uzupełnił skrypt o kolorowanie surowców.

Dla ułatwienia przygotowałem propozycję zmian:
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 {
table = doc.getElementById("production_table");
cell = table.rows[0].cells[1].innerHTML;
wykonany =     table.rows[0].cells[3].innerHTML;
if ((cell.indexOf('">Wioska</a>') > -1) && (wykonany != "Surowce w kolorze")) {
var rowsy = table.getElementsByTagName("tbody")[0].getElementsByTagName("tr").length+1;
table.rows[0].cells[3].innerHTML ="Surowce w kolorze" ;
for (j = 1; j < rowsy; j++) {
        
innerHTML = table.rows[j].cells[6].innerHTML;
zagr=innerHTML;
zagr = zagr.split("/");
if(zagr[1].slice(-1) == "<"){
zagr[1] = zagr[1].slice(0,-1)
}
var procent = (zagr[0]/zagr[1])*100;
var red = Math.floor((255*procent)/100);
var green = Math.floor((255*(100-procent))/100);
table.rows[j].cells[6].innerHTML = '<font style="color: rgb('+red+','+green+',0); font-weight: bold;">' +zagr[0] + '/' + zagr[1] +'</font>';

innerHTML = table.rows[j].cells[4].innerHTML;
magazyn=innerHTML;

innerHTML = table.rows[j].cells[3].innerHTML;
sur=innerHTML;
sur=sur.replaceAll("<span class=\"grey\">.</span>","");
sur=sur.replaceAll("<span class=\"res wood\">","");
sur=sur.replaceAll("<span class=\"res stone\">","");
sur=sur.replaceAll("<span class=\"res iron\">","");
sur=sur.replaceAll("<span class=\"warn_90 wood\">","");
sur=sur.replaceAll("<span class=\"warn_90 stone\">","");
sur=sur.replaceAll("<span class=\"warn_90 iron\">","");
sur=sur.replaceAll("<span class=\"warn wood\">","");
sur=sur.replaceAll("<span class=\"warn stone\">","");
sur=sur.replaceAll("<span class=\"warn iron\">","");
sur = sur.split(" ");


var procent1 = (parseFloat(sur[0])/magazyn)*100;
var red1 = Math.floor((255*procent1)/100);
var green1 = Math.floor((255*(100-procent1))/100);

var procent2 = (parseFloat(sur[1])/magazyn)*100;
var red2 = Math.floor((255*procent2)/100);
var green2 = Math.floor((255*(100-procent2))/100);

var procent3 = (parseFloat(sur[2])/magazyn)*100;
var red3 = Math.floor((255*procent3)/100);
var green3 = Math.floor((255*(100-procent3))/100);

table.rows[j].cells[3].innerHTML =  '<span class="res wood">'+'<font style="color: rgb('+red1+','+green1+',0); font-weight: bold;">' +sur[0] +'</font><font style="color: rgb('+red2+','+green2+',0); font-weight: bold;">' + ' <span class="res stone">' + sur[1] + '</font><font style="color: rgb('+red3+','+green3+',0); font-weight: bold;">' +' <span class="res iron">' + sur[2] + '</font>';

}    
}
}
end();
 
Do góry