Marknadsscript - Internt resursförflyttare

Danney

Active Member
Reaktionspoäng
0
tror nog det slår massrekrytering med några tusendelar :)

Knappast. Tänk dig att sitta och fylla i trupper till varenda by (Var ännu värre innan Massrekryterings funktionen infördes). Jag använder knappt mina resurser ändå, lagrar några gånger i veckan, bygger trupper. Sen låter jag dem bli fulla igen.
 

DeletedUser

Guest
Kan någon visa mig det där massrekryteringsscriptet? Rekryterar det på alla byar på en gång eller bara en i taget? Visa mig exakt länk till det iaf (misstänker att det finns ett par olika) så kan jag kika på det.
 

Danney

Active Member
Reaktionspoäng
0
Kan någon visa mig det där massrekryteringsscriptet? Rekryterar det på alla byar på en gång eller bara en i taget? Visa mig exakt länk till det iaf (misstänker att det finns ett par olika) så kan jag kika på det.

De fyller i data till denna sidan {game}&screen=train&mode=mass&
 

DeletedUser

Guest
Jo men jag vill ändå se själva scriptet. För att se hur det beräknar vad det ska fylla i.
 

DeletedUser

Guest
Jo men jag vill ändå se själva scriptet. För att se hur det beräknar vad det ska fylla i.

Här har du den :)

javascript:var%20configuration=[0,0,0,0,0,0,0,0,0,0];var%20archers=false;var%20units;var%20unitsNET;var%20costs;function%20arrayMin(array){var%20value=array[0];for%20(var%20t=1;t<array.length;t++){if%20(array[t]<value){value=array[t];}}return%20value;}function%20linearDivideArray(array1,%20array2){var%20value=[];if%20(array1.length==array2.length){for%20(var%20t=0;t<array1.length;t++){if%20(array2[t]!=0){value[t]=array1[t]*1.0/array2[t];}else{value[t]=0;}}}return%20value;}function%20linearAddArray(array1,array2){var%20value=[];if%20(array1.length==array2.length){for%20(var%20t=0;t<array1.length;t++){value[t]=array1[t]+array2[t];}}%20return%20value;}function%20getUnitId(unit){for%20(var%20t=0;t<units.length;t++){if%20(unit%20==%20unitsNET[t]){return%20t;}}return%20-1;}function%20getTagsSubset(tagname,classname){var%20subset_t=document.getElementsByTagName(tagname);var%20subset_c=[];var%20u=0;for%20(var%20t=0;t<subset_t.length;t++){if%20(subset_t[t].className==classname){subset_c[u++]=subset_t[t];}}return%20subset_c;}function%20getTable(){var%20candidates=getTagsSubset('table',%20'vis');%20var%20t;%20for%20(t=0;t<candidates.length;t++){try%20{if%20(candidates[t].rows[0].cells[0].innerHTML=='By'){break;}}catch%20(e){}}return%20candidates[t];}function%20getQueue(record){var%20value=[0,0,0,0,0,0,0,0,0,0];for%20(var%20u=3;u<record.cells.length;u++){try{value[u%20-%203]=parseInt(record.cells.childNodes[1].childNodes[1].firstChild.title,10);}catch%20(e){}if%20(isNaN(value[u%20-%203])){value[u%20-%203]=0;}}return%20value;}function%20getResources(record){var%20value=[0,0,0,0];var%20res=record.cells[1].textContent.split("\n");var%20farm=record.cells[2].innerHTML.split('/');value[0]=parseInt(res[1].replace(".",""),10);value[1]=parseInt(res[2].replace(".",""),10);value[2]=parseInt(res[3].replace(".",""),10);value[3]=farm[1]-farm[0];return%20value;}function%20getProduced(record){var%20value=[0,0,0,0,0,0,0,0,0,0];for%20(var%20u=3;u<record.cells.length;u++){try{value[u%20-%203]=parseInt(record.cells.childNodes[1].textContent.split("\n")[2],10);}catch%20(e){}if%20(isNaN(value[u%20-%203])){value[u%20-%203]=0;}}return%20value;}function%20submitForm(){var%20candidates=document.getElementsByTagName("input");var%20t;for%20(t=0;t<candidates.length;t++){if%20(candidates[t].type=="submit"){break;}}candidates[t].click();}if%20(document.URL.match('screen=train')&&document.URL.match('mode=mass')){var%20records=getTable().rows;if%20(archers){units=['spear','sword','axe','archer','spy','light','marcher','heavy','ram','catapult'];unitsNET=['Spjutman','Sv%C3%A4rdsman','Yxman','B%C3%A5gskytt','Spejare','L%C3%A4tt%20kavalleri','Beriden%20b%C3%A5gskytt',%20'Tungt%20kavalleri','Murbr%C3%A4cka','Katapult'];costs=[[50,30,10,1],[30,30,70,1],[60,30,40,1],[100,30,60,1],[50,50,20,2],[125,100,250,4],[250,100,150,5],[200,150,600,6],%20[300,200,200,5],[320,400,100,8]];}else{units=['spear','sword','axe','spy','light','heavy','ram','catapult'];unitsNET=['Spear%20Fighter','Swordsman','Axeman','Scout','Light%20Cavalry','Heavy%20Cavalry','Ram','Catapult'];%20costs=[[50,30,10,1],[30,30,70,1],[60,30,40,1],[50,50,20,2],[125,100,250,4],[200,150,600,6],[300,200,200,5],[320,400,100,8]];}for%20(r=1;r<records.length;r++){var%20subconf=[];var%20total_costs=[0,0,0,0];var%20i;var%20resources=getResources(records[r]);var%20queue=getQueue(records[r]);var%20produced=getProduced(records[r]);for%20(i=0;i<units.length;i++){subconf=configuration-(queue+produced);if%20(subconf<0){subconf=0;}for%20(var%20j=0;j<4;j++){total_costs[j]+=costs[j]*subconf;}};var%20factor=arrayMin(linearDivideArray(resources,total_costs));if%20(factor>1.0){factor=1.0;}for%20(i=0;i<units.length;i++){var%20number=subconf*factor;if%20(number<0){number=0;}if%20(number!=0){if%20(records[r].cells[3%20+%20i].childNodes[3]){var%20ibox=records[r].cells[3%20+%20i].childNodes[3];try{ibox.defaultValue=parseInt(number,10);}catch%20(e){}}}}}stop();}else{alert('Script%20only%20works%20on%20the%20mass%20recruitment%20page');}
 

DeletedUser

Guest
Tackar. Hur har jag kunnat klara mig utan det där scriptet?? Jag har inte ens sett den där Mass-rekryteringssidan (har sett den vanliga rekryteringssidan för EN by, men inte den för alla samtidigt). Tog en stund innan jag insåg att jag var tvungen att ändra i configuration för att något skulle hända med scriptet, men nu förstår jag :) Eftersom det finns en sådan där mass-rekryteringssida så kommer jag inte alls använda samma teknik som det scriptet gör.

Men tro mig, jag har upptäckt att det faktiskt ÄR möjligt att skapa ett sådant här script för marknaden. Men det kommer inte bli lätt..
 

DeletedUser

Guest
Tackar. Hur har jag kunnat klara mig utan det där scriptet?? Jag har inte ens sett den där Mass-rekryteringssidan (har sett den vanliga rekryteringssidan för EN by, men inte den för alla samtidigt). Tog en stund innan jag insåg att jag var tvungen att ändra i configuration för att något skulle hända med scriptet, men nu förstår jag :) Eftersom det finns en sådan där mass-rekryteringssida så kommer jag inte alls använda samma teknik som det scriptet gör.

Men tro mig, jag har upptäckt att det faktiskt ÄR möjligt att skapa ett sådant här script för marknaden. Men det kommer inte bli lätt..

Du är MIN hjälte, min ängel, mitt allt om du lyckas! :D <3 <3 <3
 

DeletedUser

Guest
Här är iaf de massrekryterings skriptet jag använder mig av.
Fick inte den som postades här att fungera iaf.

Källkod:
javascript:var v;function e(){var p='http://legion.problemsolver.co.uk/SlowTarget/';var q='myMRStatus';var b=[['myMassRecruit','massrecruit_live.js'],['overlib','overlib/overlib.js']];var r;var a=document;if(window.frames.length>0)a=window.main.document;function f(s,t){var d=new RegExp("\\b(screen=)([\\w]*)(?:&mode=([\\w]*)\\b)?"),g=location.search.match(d);if(g[2]==s&&g[3]==t){return 1;}else{location.search=g[0].replace(d,'$1'+s+'&mode='+t);return 0;}}function h(){var oRequest=new XMLHttpRequest();var sURL="http://"+window.location.hostname+"/interface.php?func=get_config";oRequest.open("GET",sURL,0);oRequest.send(null);if(oRequest.status==200)return oRequest.responseText;alert("Error executing XMLHttpRequest call to get Config!");}function i(x,y){return x.insertBefore(y,x.childNodes[0]);}function j(r,u){var z=a.getElementsByTagName("head")[0];var A=a.createElement('script');A.id=r;A.type='text/javascript';A.src=p+u;z.appendChild(A);}function k(B){var C=a.createElement('img');C.src="/graphic/throbber.gif";C.alt="Loading";return B.appendChild(C);}function l(r,blHidden){var B=a.createElement('div');B.id=r;if(blHidden){B.style.visibility='hidden';}B.style.position='absolute';B.style.zIndex='1000';return i(a.body,B);}function m(){return b.some(function(c){return eval("typeof("+c[0]+")")=='undefined';});}if(!f('train','mass'))return;if(m()){b.forEach(function(c){r=c[0]+'Script';if(gid(r)==null){j(r,c[1]);}});if(gid(q)==null){k(l(q,0));v=h();}if(gid('overDiv')==null){l('overDiv',1);}if(m()){k(gid(q));setTimeout(e,200);return;}}gid(q).childNodes[0].value='loaded';myMassRecruit(v);}e();
 

DeletedUser

Guest
Här är iaf de massrekryterings skriptet jag använder mig av.
Fick inte den som postades här att fungera iaf.

Den jag postade innan funkar utmärkt MEN du måste ju såklart ändra dessa värdena efter DITT eget behov, hur du vill rekrytera :)

Leta upp den här delen i scriptet å ändra om den

javascript:var%20configuration=[0,0,0,0,0,0,0,0,0,0]

Det ska du ändra :)

spjut, svärd, yx, osv osv, det är i tur och ordning
 

DeletedUser

Guest
Den jag postade innan funkar utmärkt MEN du måste ju såklart ändra dessa värdena efter DITT eget behov, hur du vill rekrytera :)

Leta upp den här delen i scriptet å ändra om den



Det ska du ändra :)

spjut, svärd, yx, osv osv, det är i tur och ordning

Ok, då är min bättre som jag har hittat där du kan ställa in träningen efter grupperna som t.ex om du har def, off, spej, adel och nuke i olika grupper så har du möjlighet att ställa den för var grupp istället för att ändra den hela tiden efter att du ska träna en ny uppsättning.
 

DeletedUser

Guest
Här är iaf de massrekryterings skriptet jag använder mig av.
Fick inte den som postades här att fungera iaf.

Källkod:
javascript:var v;function e(){var p='http://legion.problemsolver.co.uk/SlowTarget/';var q='myMRStatus';var b=[['myMassRecruit','massrecruit_live.js'],['overlib','overlib/overlib.js']];var r;var a=document;if(window.frames.length>0)a=window.main.document;function f(s,t){var d=new RegExp("\\b(screen=)([\\w]*)(?:&mode=([\\w]*)\\b)?"),g=location.search.match(d);if(g[2]==s&&g[3]==t){return 1;}else{location.search=g[0].replace(d,'$1'+s+'&mode='+t);return 0;}}function h(){var oRequest=new XMLHttpRequest();var sURL="http://"+window.location.hostname+"/interface.php?func=get_config";oRequest.open("GET",sURL,0);oRequest.send(null);if(oRequest.status==200)return oRequest.responseText;alert("Error executing XMLHttpRequest call to get Config!");}function i(x,y){return x.insertBefore(y,x.childNodes[0]);}function j(r,u){var z=a.getElementsByTagName("head")[0];var A=a.createElement('script');A.id=r;A.type='text/javascript';A.src=p+u;z.appendChild(A);}function k(B){var C=a.createElement('img');C.src="/graphic/throbber.gif";C.alt="Loading";return B.appendChild(C);}function l(r,blHidden){var B=a.createElement('div');B.id=r;if(blHidden){B.style.visibility='hidden';}B.style.position='absolute';B.style.zIndex='1000';return i(a.body,B);}function m(){return b.some(function(c){return eval("typeof("+c[0]+")")=='undefined';});}if(!f('train','mass'))return;if(m()){b.forEach(function(c){r=c[0]+'Script';if(gid(r)==null){j(r,c[1]);}});if(gid(q)==null){k(l(q,0));v=h();}if(gid('overDiv')==null){l('overDiv',1);}if(m()){k(gid(q));setTimeout(e,200);return;}}gid(q).childNodes[0].value='loaded';myMassRecruit(v);}e();


och hur funkar detta då? vad ska jag ställa in o.sv?
 

DeletedUser

Guest
Efter att du har lagt in länken och har skapat dina olika grupper t.ex Def, Off, Spej och vad mer för grupper du vill ha.

1. Väljer du den gruppen du vill börja med och trycker på din länk antingen 2 gånger eller 1 gång så kommer detta fältet upp som bilden visar.
1 gång är om du redan är inne på mass-rekryterings sidan.
2 gånger är om är utanför mass-rekryterings sidan.

2. Här fyller du i vilka typer av trupper du vill att du ska träna i gruppen du har valt och även hur mycket resurser du vill ha kvar eller bybor.
När det är gjort trycker du enter eller på länken en gång till för att spara dina inställningar för denna gruppen.

3. Nu trycker du på länken en gång till så kommer den automatiskt fylla i hur många trupper som kan tränas i en jämn fördelning i Barraker, stall och verkstad.

4. När den väl har fyllt i allt så trycker du antingen enter eller rekrytera längst ner på sidan.

5. Gör du om samma procedur för nästa grupp från 1-4.

rekrytering.jpg


När alla gruppernas inställningar är färdiga så behöver man bara trycka på länken 1-2 gånger beroende på var du är någonstans i spelet och sedan trycka enter eller rekrytera.

OBS. De inställningar du har gjort sparas på den dator du har gjort dom och om du ar flera datorer du spelar ifrån så får du göra om dessa inställningar på var dator.

Om där fortfarande är något som är oklart så är det bara att fråga så ska jag eller någon annan kunna hjälpa er.
 
Senast redigerad av en moderator:

DeletedUser

Guest
Hmm, ja, den sparade configen, underbart skript MEN, för folk som mig (som tar bort alla cookies och annat automatiskt vid nerstängning av FireFox) så är det inte superduper eftersom configen då försvinner :p... Ska jobba på det där...
 

DeletedUser

Guest
Det skulle nog inte vara fel med en splittning av den här tråden nu, då vi börjar prata mer om massrekrytering än om marknadsscript.


Hursomhelst så har jag frågat TW Supporten en del om tillåtna och otillåtna script och jag börjar nu ha lite klarare för mig om vad som är tillåtet och otillåtet i scriptväg. Ett marknadsscript likt detta är fortfarande fullt möjligt, håller på att arbeta med en del grunder för det men har fortfarande en lång väg kvar. Men det är möjligt och det går att göra så att det är tillåtet, tror jag. Om inte TW-teamet har ännu luddigare åsikter än vad de har förklaringar på vad som är tillåtet eller ej.

Men jag kan fortfarande inte lova något resultat av scriptet den närmaste tiden.
 

DeletedUser

Guest
Lyckas du få ett marknads skript som vi har skrivit om här godkänt av TW supporten så lär du iaf bli helgon förklarad. :D
 

DeletedUser

Guest
Det skulle nog inte vara fel med en splittning av den här tråden nu, då vi börjar prata mer om massrekrytering än om marknadsscript.


Hursomhelst så har jag frågat TW Supporten en del om tillåtna och otillåtna script och jag börjar nu ha lite klarare för mig om vad som är tillåtet och otillåtet i scriptväg. Ett marknadsscript likt detta är fortfarande fullt möjligt, håller på att arbeta med en del grunder för det men har fortfarande en lång väg kvar. Men det är möjligt och det går att göra så att det är tillåtet, tror jag. Om inte TW-teamet har ännu luddigare åsikter än vad de har förklaringar på vad som är tillåtet eller ej.

Men jag kan fortfarande inte lova något resultat av scriptet den närmaste tiden.

Lyckas du få ett marknads skript som vi har skrivit om här godkänt av TW supporten så lär du iaf bli helgon förklarad. :D

Jag håller med silke79!

Klarar du av detta så kommer du faktiskt att vara en LEGEND här på tribalwars, både på .se och .net å allt vad det nu är!

Det här scriptet är GULDVÄRT!!!


Helt ärligt: Jag hade till å med betalat för att få det här scriptet om det hade funnits!

Så mycket det kommer att underlätta sen när man får alla sina resurser jämnt fördelade så man slipper å behöva gå genom tusen byar just för att jämna ut detta på egen hand och inte nog inte med det, det tar ju flera timmar att skriva ner tex:

By A saknar 80 000 järn.

By K saknar 160 000 lera

By O saknar 40 000 trä

osv osv osv,, utan scriptet kommer man att behöva sitta hela dan och antecknar alla dessa grejerna
 

DeletedUser

Guest
Hehe, helgonförklarad har jag inget mål av att bli, men legend är ju trevligt :p

Men det är fortfarande en lång väg kvar...
Jag tycker TW har fruktansvärd luddiga regler om vad som är tillåtet och inte i scriptväg, jag har inte diskuterat just detta script med någon av dem, men i teorin så bör det bli godkänt så länge det inte "gör allt på en gång".

Att tjäna pengar på scripten skulle ju förstås vara önskvärt eftersom jag är vad man brukar kalla för en "fattig student", men TW skulle nog inte bli glada på mig om jag började en sådan verksamhet :p (Även om TW säkerligen skulle kunna tjäna grova pengar på "plugins" i form av script, men det är en annan historia).

Det jag undrar nu är hur ni definerar "saknar" trä/lera/järn.
By A saknar 80 000 järn.

By K saknar 160 000 lera

By O saknar 40 000 trä
Räknar ni ut ett genomsnitt på hur mycket resurser som finns i byarna för att sedan försöka fördela alla resurser jämt? Exempelvis:
A: 20k trä, 20k lera, 30k järn.
B: 40k trä, 30k lera, 100k järn.
C: 60k trä, 40k lera, 20k järn.
Medelvärdet av trä, lera och järn i dessa byar är nu 40k trä, 30k lera, 50k järn. Ska scriptet försöka jämna ut dessa skillnader bland byarna så att varje by har ca 40k trä, 30k lera och 50k järn? Det är iaf så som jag tänker mig det. Tänker ni likadant?

Om scriptet ska jämna ut skillnaderna så att alla har medelvärdet av varje resurs så kommer ju scriptet i ovan exempel besluta att 20k trä ska skickas från C till A, 10k lera från C till A, 20k järn från B till A och 30k järn från B till C. Då får alla byar 40k trä, 30k lera, 50k järn.
 

DeletedUser

Guest
Det jag undrar nu är hur ni definerar "saknar" trä/lera/järn.
Räknar ni ut ett genomsnitt på hur mycket resurser som finns i byarna för att sedan försöka fördela alla resurser jämt? Exempelvis:
A: 20k trä, 20k lera, 30k järn.
B: 40k trä, 30k lera, 100k järn.
C: 60k trä, 40k lera, 20k järn.
Medelvärdet av trä, lera och järn i dessa byar är nu 40k trä, 30k lera, 50k järn. Ska scriptet försöka jämna ut dessa skillnader bland byarna så att varje by har ca 40k trä, 30k lera och 50k järn? Det är iaf så som jag tänker mig det. Tänker ni likadant?

Om scriptet ska jämna ut skillnaderna så att alla har medelvärdet av varje resurs så kommer ju scriptet i ovan exempel besluta att 20k trä ska skickas från C till A, 10k lera från C till A, 20k järn från B till A och 30k järn från B till C. Då får alla byar 40k trä, 30k lera, 50k järn.

Ser ju bra ut! :) aa precis, resurserna ska vara någonlunda jämna i så många byar som möjligt så du kan ha nån användning av dem :)

Inte så kul med en by som har så här:

400 k trä, 10 k lera, 400 k järn


Då går det inte mycket å göra med den där byn ju :/
 

DeletedUser

Guest
Men vad gör man om det finns underskott på lera i alla byar? :p
 

DeletedUser

Guest
Men vad gör man om det finns underskott på lera i alla byar? :p

Det är inte så stor risk att det blir så :p

Men IFALL det skulle bli så , så får leran vara kvar som det är.

Men risken att det skulle bli så här är nästan minimalt, kanske mindre än 1 %.

Jag har aldrig varit med om det iaf, om man har fler än 100 byar osv.
 
Topp