Flaggscriptet

Status
Stengt for ytterligere svar.

Johnny Knoxville

Populær på forumet
Reaksjonspoeng
320
Navn: Flaggscriptet
Dato: 12.02.14
Link: -
Forklaring:

Dette scriptet er for å få bedre oversikt, og gjøre det lettere å administrere flagg på servere med flagg. Har prøvd å lage scriptet så strategisk som mulig mtp når flaggene blir satt på. Alle byene med de forskjellige kriteriene vil bli lagt til i egne lister som igjen får forskjellig farge. Noe som gjør det lett å skifte flagg i flaggoversikten.

En liten oversikt av hvilke flagg den kan administrere:
Rekrutteringshastighet-flagg
Angreps-flagget
Gullmynt-flagget
Ress-flagget



Rekrutteringshastighet-flagg
Dette var selve pågangdriften til scriptet, og er derfor det som er jobbet mest med. Alle byer som har 30 (eller mindre) i gård, mer enn 50 gårdplasser (hvis gården er i 30), brakkeproduksjon og stallproduksjon vil bli lagt til i gruppen "Byer som gjerne vil ha rek-flagg og en kopp juice". Byer som ikke har brakkeproduksjon, stallproduksjon, gård i 30 og mindre enn 50 gårdplasser vil bli lagt til gruppen "Byer som ikke trenger rek-flagg, bare en kopp juice".
Scriptet kjøres i kombinert siden.

Angreps-flagget
Denne funksjonen gjør det lettere å sette angrepflagg på de riktige byene. Det vil si byer som har utgående nukes. Derfor tar scriptet å lagrer byene med tagget utgående angrep med navn som inneholder "NUKE". Det betyr at man må bruke massetag utgående. Samtidig gjør denne funksjonen en fin liten telling av alle nukes som er ute å løper.
Scriptet kjøres i angrep-utgående siden.

Gullmynt-flagget
Alle ferdigbygde byer vil bli lagt til i listen "Byer som ikke trenger rek-flagg, bare en kopp juice". Disse byene vil ha gullflagget, noe de fortjener.
Scriptet kjøres i kombinert siden.

Ress-flagget
Alle byer med mindre enn 9000 poeng trenger et ressflagg!
Scriptet kjøres i forskesiden sammen med alt annet.


Scriptet har 3 forskjellige sider det må kjøres på for å virke. Først kjører man det på kombinertsiden der den tar opp informasjon og lagrer det i din nettleser. Informasjon om hvilke byer som skal ha rekflagg og gullmyntflagg. Deretter må går man til utgående angrep siden og kjører scriptet igjen. Der vil den ta opp info om hvilke byer som har nukes utgående nukes. Alle informasjonsidene vil få en "ok" bekreftelse for å vite at scriptet funker. Til slutt samler den all infoen i en stor gryte og sprer det ut på forskningsiden der man kan bytte flagg. Bytte flagg må man gjøre selv.

Liten bildeserie av informasjonsamlingen
Kombinertsiden etter scriptet har blitt kjørt!

352c301efbe0c151d7f2e5c960cf823c.png



Utgående angrep etter at scriptet har blitt kjørt

a4f998601f7cf9809d04b97cfacbbe55.png

Nå kommer den mest spennende og brukbare delen. Her vil byene forandre farge etter hvilke liste de er, sånn man lettere kan se hvilke by som skal ha akkurat hvilke script. Dere husker kanskje "Byer som ikke trenger rek-flagg, bare en kopp juice"-listen. Denne listen brukes til å fjerne rek-flagg fra byer som ikke trenger de. Altså byer uten brakke/stall-prod og full gård. Samme gjør angreps-flagg-listen. Har byen et angrepflagg og ikke et utgående nuke, vil scriptet fjerne flagget fra byen.

Rekrutteringshastighet-flagg - Aqua
Angreps-flagget - Red
Gullmynt-flagget - Oldgold
Ress-flagget -#49E20E

9317cd14a7fe552c4f6b5668f7a5864b.png
Deretter er det bare å bytte flaggene manuelt. Siden har en tendens til å bli litt laggy etterhvert som flere byer får byttet flagg. Skjer dette er det bare å refreshe siden og kjøre samme script på nytt igjen. Den vil ikke bytte ut de nye flaggene pga. 24 timers grensa. Og nå som byene har flagget det ønsker, vil de heller ikke bli farget.


Kode:
Javascript:
/*Notes:
>>Rekflagg - Kombinertsiden
>>Angrepsflagg - Utgående angrep
>>Gullmynt - Kombinertsiden*/
(function() {
function nukes () {
  nukes = new Array;
  var oversikt = document.getElementById('commands_table').children;
  var oversikt = oversikt[oversikt.length-1].children;
  for(i=0;i<oversikt.length-2;i++) {
    loop = oversikt[1+i].children;
	navn = loop[0].innerText;
	by = loop[1].innerText;
	by = /\d+\|\d+/.exec(by);
	if(navn.indexOf("NUKE")!=-1) {
	  nukes = nukes.concat(by);
	}
	localStorage.nukes = nukes.join("sex");
  }
  alert("Ok!\n\n"+nukes.length+" Nukes ute");
}
function kombinert() {
  fjern = new Array;
  add = new Array;
  var oversikt = document.getElementById('combined_table').children[0].children;
  for(i=0;i<oversikt.length-1;i++) {
    loop = oversikt[i+1].children;
    coords = loop[1].innerText;
    coords = /\d+\|\d+/.exec(coords);
    gård = loop[7].innerText.split(" ");
    gård2 = /\d+/.exec(gård[1]);
    brakke = loop[3].children[0].className;
    stall = loop[4].children[0].className;
    if(+gård[0] < 50&&gård2 == 30 && brakke=="avail" && stall=="avail") {
      fjern = fjern.concat(coords);
    }
    if(+gård[0] > 50 && gård2 == 30 && brakke!="avail" && stall!="avail") {
      add = add.concat(coords);
    }
  }
  localStorage.fjern = fjern.join("sex");
  localStorage.add = add.join("sex");
  alert("Ok!");
}
function tech() {
  oversikt = document.getElementById('techs_table').children[0].children;
  fjern = localStorage.fjern;
  add = localStorage.add;
  nukes = localStorage.nukes;
  addlist = new Array;
  for(i=0;i<oversikt.length-1;i++) {
    loop = oversikt[i+1].children;
	lengde = loop.length;
	kryss = loop[lengde-1].children[0].children[1];
	fargendre = loop[0].children[0].children[0];
	bykords = /\d+\|\d+/.exec(loop[0].innerHTML);
	flaggtrykk = loop[lengde-1].children[0].children[0];
	flagg = kryss.parentNode.parentNode.children[0].children[0].children[1].innerText;
	if(flagg.indexOf("rek")!=-1 && fjern.indexOf(bykords)!=-1) {
	  kryss.click();
	}
	var poeng = loop[1].innerText.split(".");
	var poeng = +poeng[0]*1000 + +poeng[1];
	if(poeng < 9000 && flagg.indexOf("Ress")==-1) {
		fargendre.style.color="#49E20E";
	}
	if(add.indexOf(bykords)!=-1 && flagg.indexOf("rek")==-1) {
	  addlist = addlist.concat(bykords);
	  fargendre.style.color="aqua";
/*	  flaggtrykk.click();
	  flaggoversikt = document.getElementById('ds_body').children;
	  lengde2 = flaggoversikt.length;
	  flaggoversikt = flaggoversikt[lengde2].children[1].children[2].children[0].children[2].children;
	  for(z=flaggoversikt.length-1;z>0;z--) {
	  alert(flaggoversikt[z+1].innerText);
	    if(flaggoversikt[z+1].innerText > "0") {
	      flaggoversikt[z].click();
		}
	   }	  
	  document.getElementById('ds_body').children[lengde2-1].children[0].children[0].click();*/
	}
	if(flagg.indexOf("Angrep")!=-1 && nukes.indexOf(bykords)==-1) {
	  kryss.click();
	}
	if(flagg.indexOf("gull")==-1 && fjern.indexOf(bykords)!=-1 && nukes.indexOf(bykords)==-1) {
	  fargendre.style.color="oldgold";
	}
	if(flagg.indexOf("Angrep")==-1 && nukes.indexOf(bykords)!=-1) {
	  fargendre.style.color="red";
	}
  }
}
if(location.href.indexOf("&mode=combined")!=-1) {
  kombinert();
}
if(location.href.indexOf("&type=attack")!=-1) {
  nukes();
}
if(location.href.indexOf("&mode=tech")!=-1) {
 tech();
} 
})()
 
Sist redigert av en moderator:

Dakapo

Tidligere CM
Reaksjonspoeng
392
Ville bare gi beskjed om at du er ikke glemt. Ble bare en viss usikkerhet rundt hvor mye (unødvendig) informasjon scriptet henter og må testes litt først.
 

DeletedUser

Guest
Det henter ikke ut mer informasjon enn det som er tilgjengelig på siden :) Det er like ressurskrevende for serveren om du satt å noterte alt med penn og papir. Det eneste scriptet hjelper deg med er å samle informasjonen (som allerede er lastet inn på siden) og så visualisere hvilke byer scriptet anbefaler deg å manuelt bytte flag på etterpå.
 
Status
Stengt for ytterligere svar.
Topp