Utgående massetager versjon ØrtenTusen

Status
Stengt for ytterligere svar.

Johnny Knoxville

Populær på forumet
Reaksjonspoeng
320
Navn: Utgående massetager versjon ØrtenTusen
Versjon: 1.00
Dato: 22.12.2013
Link: -

Forklaring:
Dette scriptet gjør i likhet med de andre massetagutgående scriptet. Den tagger dine utgående angrep. Tagger bare angrep(ikke støtte), og kan tagge returnerende tropper. Brukes i kommando-oversikten.
Funker på:
  • Bueverden
  • Ikke bue verden
  • Verden med paladin
  • Verden uten paladin


Vil rename etter disse kriteriene (navnet + koordinatene til byen angrepet treffer):
Angrepet inneholderRenames til
1 eller fler adel(s)***ADELS*** + koords
Over 1000 øks, under 7000 øks, over 500 LK og under 3300 LK##NUKE## + koords
Over 7000 øks##ØKS-NUKE## + koords
Over 3300 LK##LK-NUKE## + koords
5 katapulter og 15-20 LKFake + koords
Bare speidereSpeider + koords
Mindre eller 2 enheter i angrepetFake + koords

[/tr]

Bilder:
Før:
416ce4bbf3bafd78d10ad2fa417a7c59.png
Etter:
e87f6c298502f819b84818683e925bbc.png


Scriptet:
Kode:
Javascript:
(function(){
var list = new Array;
var oversikt = document.getElementById('commands_table').children;
var lengde = oversikt.length,a,p;
var oversikt = oversikt[lengde-1].children;
var troops = oversikt[0].children;
if(oversikt[0].children[13]){
	a = 1;
}else{
	a = 0;
}
if(oversikt[0].children[10 + a*2]){
	p = 1;
}else{
	p = 0;
}
 for(i=0;i<oversikt.length-2;i++) {
    var rad = oversikt[1+i].children;
	var total = 0;
	for(j=0;j<troops.length-3;j++) {
	  total += +(rad[j+3].innerText);
	}
     for(o=0;o<rad.length-3;o++) {
       var tropper = rad[o+3].innerText;
    	list[o] = tropper;
		  }
	var kommando = rad[0].children;
	var kommando = kommando[kommando.length-1].children[0];
	 if(kommando.value.indexOf('(')!=-1) {
	  var temp = kommando.value.split("(");
	  var coords = temp[temp.length-1].split(")")[0];
	  }
	  if(list[8+p+a*2] >= 1) {
	   kommando.value="***ADELS*** " + "("+coords+")";
	  }else
      if(list[2] > 1000&& list[2] < 7000 && list[4+a] > 500 && list[4+a] < 3300) {
       kommando.value="##NUKE## " + "("+coords+")";
	  }else
	  if(list[2] > 7000) {
	   kommando.value="##ØKS-NUKE## " + "("+coords+")";
	  }else
	  if(list[4+a] > 3300) {
	   kommando.value="##LK-NUKE## " + "("+coords+")";
	  }else
	  if(list[7+a*2] == 5 && list[4+a] >= 15 && list[4+a] <= 20) {
	   kommando.value="Fake " + "("+coords+")";
	  }else
	  if(list[0] < 1 && list[1] < 1 && list[2+a] < 1 && list[3+a] > 1 && list[4+a] < 1 && list[5+a*2] < 1 && list[6+a*2] < 1 && list[7+a*2] < 1 && list[8+p+a*2] < 1) {
	   kommando.value="Speider " + "("+coords+")";
	  }else
	  if(+total <=2) {
       kommando.value="Fake " + "("+coords+")";
      }
 trykk = rad[0].children;
 trykk[trykk.length-1].children[1].click();
 }
})()


Edit: Scriptet funker nå "overalt".
Edi2: Nå funker scriptet etter 12.02.14-oppdateringen
 
Sist redigert:

The Governator

Populær på forumet
Reaksjonspoeng
363
Tusen takk for et kjempeflott script!
Er det noen mulighet for en versjon som er tilpasset verdner uten fakegrense?
F.eks: Angrep med <= 2 tropper tagges med Fake + koords

Mvh
Pelle
 

Johnny Knoxville

Populær på forumet
Reaksjonspoeng
320
Prøv dette:
Kode:
Javascript:
(function(){
var list = new Array;
var oversikt = document.getElementById('commands_table').children;
var lengde = oversikt.length,a,p;
var oversikt = oversikt[lengde-1].children;
var troops = oversikt[0].children;
var total = 0;
if(oversikt[0].children[13]){
	a = 1;
}else{
	a = 0;
}
if(oversikt[0].children[10 + a*2]){
	p = 1;
}else{
	p = 0;
}
 for(i=0;i<oversikt.length-2;i++) {
    var rad = oversikt[1+i].children;
	for(j=0;j<troops.length-3;j++) {
	  total += +(rad[j+3].innerText);
	}
     for(o=0;o<rad.length-3;o++) {
       var tropper = rad[o+3].innerText;
    	list[o] = tropper;
		  }
	var kommando = rad[0].children[3].children[0];
	 if(kommando.value.indexOf('(')!=-1) {
	  var temp = kommando.value.split("(");
	  var coords = temp[temp.length-1].split(")")[0];
	  }
	  if(list[8+p+a*2] >= 1) {
	   kommando.value="***ADELS*** " + "("+coords+")";
	  }else
      if(list[2] > 1000&& list[2] < 7000 && list[4+a] > 500 && list[4+a] < 3300) {
       kommando.value="##NUKE## " + "("+coords+")";
	  }else
	  if(list[2] > 7000) {
	   kommando.value="##ØKS-NUKE## " + "("+coords+")";
	  }else
	  if(list[4+a] > 3300) {
	   kommando.value="##LK-NUKE## " + "("+coords+")";
	  }else
	  if(list[7+a*2] == 5 && list[4+a] >= 15 && list[4+a] <= 20) {
	   kommando.value="Fake " + "("+coords+")";
	  }else
	  if(list[0] < 1 && list[1] < 1 && list[2+a] < 1 && list[3+a] > 1 && list[4+a] < 1 && list[5+a*2] < 1 && list[6+a*2] < 1 && list[7+a*2] < 1 && list[8+p+a*2] < 1) {
	   kommando.value="Speider " + "("+coords+")";
	  }else
	  if(+total <=2) {
       kommando.value="Fake " + "("+coords+")";
      }
 rad[0].children[3].children[1].click();
 }
})()
 

Dakapo

Tidligere CM
Reaksjonspoeng
392
Er ikke dette et script som det allerede finnes en slags versjon av?
Om svaret er ja: hvorfor ha et til? Dersom nei; forklar forskjellen er du snill.
 

Johnny Knoxville

Populær på forumet
Reaksjonspoeng
320
Ja, det har lik funksjon som noen andre script. Dette scriptet er bare bygd opp annerledes og har flere rename-funksjoner. Altså, det renamer flere angrep enn de andre scriptene.
 

DeletedUser

Guest
fordelene med å ha en norsk scripter (potensiell team-medlem senere) er mye større enn internasjonale scriptere - spesielt når scriptet er bedre enn det som allerede finnes!!

(støttes)
 

DeletedUser

Guest
fordelene med å ha en norsk scripter (potensiell team-medlem senere) er mye større enn internasjonale scriptere - spesielt når scriptet er bedre enn det som allerede finnes!!

(støttes)

Stian er en av de beste scripterne i Norge, og det å få han til å gi ut scripts til spillets beste, er bare positivt.
 

DeletedUser

Guest
Jeg er helt sikker på at Stian kan vinne NM i script hvis han går inn for det.
 

DeletedUser

Guest
Får det ikke til å tagge fakes. Sender fakes med 1 ram. evt + 4 speidere.
Hadde vært ålreit med en forklaring til hvordan man kan endre på scriptet. Tenker da på å legge til "taggs" med de forskjellige enhetene og hvordan man skriver mindre enn, fler enn og akkurat et visst antall enheter.
 

TrAnxZ

Tidligere CM
Reaksjonspoeng
297
Får det ikke til å tagge fakes. Sender fakes med 1 ram. evt + 4 speidere.
Hadde vært ålreit med en forklaring til hvordan man kan endre på scriptet. Tenker da på å legge til "taggs" med de forskjellige enhetene og hvordan man skriver mindre enn, fler enn og akkurat et visst antall enheter.
Ryktene i diverse chatter skal ha det til at scriptet ikke tagger noen andre fakes enn 1 speider + 1 katapult.
 

Castell0

Velkjent medlem
Reaksjonspoeng
216
Testet det så vidt nå i Opera på v14 (uten buer). Får til å tagge til kravene til fakes i scriptet (som JohnnyKnoxville har nevnt i første innlegg) :
-2 enheter eller mindre
-5 katas OG mellom 15-20 LK

MEN kjørte ikke scriptet fra "Alle kommandoer"-fanen, men "Angrep"-fanen under kommando-oversikten.
 

Castell0

Velkjent medlem
Reaksjonspoeng
216
Til dere som ønsker å endre på hva scriptet skal tagge:

Kan hoppes over, men forsøk på forklaring på a og p i scriptet:
Enhetene kommer i denne rekkefølgen normalt dersom alle enheter er med:
0=Spyd , 1=Sverd, 2=Bue, 3=Øks, 4=Speider, 5=LK, 6=RB, 7=TK, 8=Ram, 9=Katas, 10=Pal og 11=Adelsmann.

Dersom det IKKE er bueR, så ser det slik ut:
0=Spyd , 1=Sverd, 2=Øks, 3=Speider, 4=LK, 5=TK, 6=Ram, 7=Katas, 8=Pal og 9=Adelsmann.

Alt fra Øks til LK ned 1 verdi dersom bueskytteren forsvinner, mens alt fra TK til AM går ned 2 fordi den ridende bueskytteren (RB) også forsvinner (samt buen). I tilfeller der det ikke er paladin, flyttes adelsmannen ned 1 verdi :)

Scriptet finner ut om det er Bueverden, og dersom det er det får konstanten a verdien 1. Hvis det ikke er bueverden får konstanten a verdien 0.

Altså LK på en bueverden har listenummeret 5, mens på en verden uten bue 4. Som vist ovenfor. For å løse dette problemet har Stian lagt inn en konstant a (a=archer=bue). Og pluss p=1 (paladin), dersom det er paladin på verdnen.

"Navn" på enheter:
list[0] (spyd)
list[1] (sverd)
list[2+a] (øks)
list[3+a] (speider)
list[4+a] (lett kavaleri)
list[5+a*2] (tungt kavaleri)
list[6+a*2] (rambukk)
list[7+a*2] (katapulter)
list[8+p+a*2] (Adelsmann)

Antall enheter skal være i forhold til en verdi:
==(er nøyaktig lik)
>= (større eller lik)
<= (mindre eller lik)
> (større enn)
< (mindre enn)

Dersom man skal ha flere forskjellige typer enheter med i angrepet så bruker man && for å inkludere flere enheter. Og også dersom man skal ha en viss enhet i mellom 2 verdier. For eksempel slik for Øks mellom 500 og 1000, samt 250+ LK:

Kode:
if(list[2+a] > 500 && list[2+a] < 1000 && list[4+a] >= 250) {
       kommando.value="MINI" + "("+coords+")";



Det er viktig at taggen din kommer i riktig ønsket rekkefølge. Dersom du legger inn at scriptet skal tagge for eksempel alle angrep med flere enn 1 speider foran for eksempel Nuke-taggeren. Og du deretter sender en nuke som også inneholder mer enn 1 speider, så vil den allikevel kalle Nuken for "Speider" fordi dette ligger før NUKE-taggen i scriptet. Så et lite tips er å se over hvor dere limer det inn. (nerd)

Et eksempel på kode til 1 ram og 4+ speidere, som blir navngitt NAVN og koords:
Kode:
}else
	  if(list[6+a*2] == 1 && list[3+a] >= 4) {
	   kommando.value="NAVN" + "("+coords+")";

Dette vil IKKE bli tagget som NAVN, dersom det ligger etter noe som også kan bli tagget av dette. Tar med et eksempel på dette, hvor "FAKE" (er større enn eller lik 1 ram og større enn eller lik 1 speidere) og "NAVN" (er 1 ram og 4+ speidere) :

Kode:
}else
	  if(list[6+a*2] >= 1 && list[3+a] >= 1) {
	   kommando.value="FAKE" + "("+coords+")";
}else
	  if(list[6+a*2] == 1 && list[3+a] >= 4) {
	   kommando.value="NAVN" + "("+coords+")";

Da må man velge hva man prioriterer først, foreslår uansett at AM's og NUKES tagges først. Håper dere forstod litt mer av hvordan det fungerer, og at dere prøver på egenhånd! :) Og om noen oppdager feil, er det fint å bli rettet på, klokken er tross alt litt over 06:00!
 

Johnny Knoxville

Populær på forumet
Reaksjonspoeng
320
Var en liten bugg i "total"-tagging (altså der den tagger 2 eller mindre enheter). Istedenfor å BARE telle enhetene i et enkelt angrep, tok den med tallene fra forrige angrep :LOL:

Måtte bare flytte en variabel litt lengre ned i scriptet. Det er nå fikset! Oppdatert versjon er i første post.
 

Johnny Knoxville

Populær på forumet
Reaksjonspoeng
320
Består nukene dine av:
(Over 1000 øks, under 7000 øks, over 500 LK og under 3300 LK) eller (Over 7000 øks) eller (Over 3300 LK)?
 

MasterSplinter

Populær på forumet
Reaksjonspoeng
251
Jepp. Vanlig nuke, dvs det første alternativet. Her er print-screen fra hvordan det ser ut etter at jeg har brukt scriptet (i kommandoer):

ja7d.png
 
Sist redigert:

MasterSplinter

Populær på forumet
Reaksjonspoeng
251
Har løst problemet. Man må gjøre øksemenn om til [2] fra [2+a] som det står i scriptet.
 
Sist redigert:
Status
Stengt for ytterligere svar.
Topp