DeletedUser
Guest
Scripts
Most useful thing in TribalWars. They can do the smallest of things, like insert troops into the rally point to large scale things such as recruiting troops.
Here's a few I use that I'm going to share, and I will help anyone that needs help with scripts.
NOTE: Premium is necessity for most of these scripts, so I'm going to guide people who have premium how to do it.
Background:
A TW Script is Javascript, Javascript is a coding language used to manipulate webpages, it is mainly used inside Webpage code, but it can be used in the URL bar to manipulate the page, using a Javascript in the URL bar can make a change to the look/purpose of a webpage, but the change is not permanent and it is for the user only.
The Quick Bar:
Also reffered to as QB, the Quick Bar is like your favourites folder, it has a address saved to it and has a name of the Address, The Quick Bar is mainly used to insert scripts so that when you click, the script initiates and runs, but some like myself use it for storing the address of web pages.
NOTE: The Quick Bar is only active if you have premium.
Link To Editing Quick Bar
Here's the part where you add scripts.
>> Add A New Link - This is how to add a new script, you click this then fill out the following info.
Make a entry like the following one.
Entry Name:Test-Script
Image-URL:http://en6.tribalwars.net/graphic/unit/unit_axe.png?1
Target-URL:javascript:alert("Gman1994 iz 1337");
Now to define each box:
Entry Name is the name of the script, make sure the name is related to the script/link to make it beneficial to you.
Image-URL is not needed to be filled, generally I don't fill it in because I find that images in the QB make it look tacky. But to see what it's like try the above tester.
Target-URL, the most important part, where the actual script goes.
And finally, » Add line break adds a line (enter) to your Quick Bar so that not all scripts are on one line, my Quick BAr in the following picture has 2 Line Breaks because of the amount of scripts I have.
Here's my Quick Bar For Reference:
Now What They Do:
The first Line are the links you automatically are given, they just redirect you to the Specific Building in the village you are overviewing.
They are not really scripts but rather links, they take you to the Market/RallyPoint/etc page, the neat thing of these links though are that they stay on the same village, to do this the link is something like this: {game}&screen=main, this is a link to the HQ of your current village, {game} is a shortcut for http://en6.tribalwars.net/staemme.php?.
Mint - Redirects to the Mint page with all villages on one page for one click minting.
[spoil]{game}&screen=snob&mode=coin&from=-1[/spoil]
Train Off - Redirects to the Mass Recruiment Page, with my Offensive villages group selected.
[spoil]{game}&screen=train&mode=mass&group=29223
For this to work, you need to know the ID of your offensive group and change 29223 for its value.[/spoil]
Offensive Script - Inserts Troop Numbers into Mass Recruitment page, Offensive Troops.
[spoil]javascript:var%20configuration=[0,0,5000,0,0,2675,500,0,350,0];var%20archers=true;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=='Village'){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=['Spear%20Fighter','Swordsman','Axeman','Archer','Scout','Light%20Cavalry','Mounted%20Archer',%20'Heavy%20Cavalry','Ram','Catapult'];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(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');}[/spoil]
Train Def - Redirects to the Mass Recruiment Page, with my Defensive villages group selected.
[spoil]{game}&screen=train&mode=mass&group=29224
For this to work, you need to know the ID of your defensive group and change 29224 for its value.[/spoil]
Defensive Script - Inserts Troop Numbers into Mass Recruitment page, Defensive Troops.
[spoil]javascript:var%20configuration=[6850,6850,0,6850,250,0,0,0,0,0];var%20archers=true;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=='Village'){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=['Spear%20Fighter','Swordsman','Axeman','Archer','Scout','Light%20Cavalry','Mounted%20Archer',%20'Heavy%20Cavalry','Ram','Catapult'];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(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');}[/spoil]
Rename - Renames my villages according to the co-ordinates, E.G A village with co-ords 403|283 would be named 24:80:33.
[spoil]javascript:function%20convert_coords(x,y){con=Math.floor(y/100)+''+Math.floor(x/100);sec=(Math.floor(y/10)%2510)+''+(Math.floor(x/10)%2510);sub=(y%2510)+''+(x%2510);return%20con+':'+sec+':'+sub;}var%20doc=document;if(window.frames.length>0)doc=window.main.document;var%20inputs=doc.getElementsByTagName('input');for(i=0;i<inputs.length;i++){id=inputs.id;index=id.indexOf('edit_input');if(index!=-1){id=id.substring(index+11);str=doc.getElementById('label_text_'+id).innerHTML;mid=str.lastIndexOf('|');x=str.substring(str.lastIndexOf('(')+1,mid);y=str.substring(mid+1,str.lastIndexOf(')'));inputs.value=convert_coords(x,y);inputs[i+1].click();}}end();[/spoil]
Incomings - I click on a incoming then click this script, this is what it does:
[spoil]javascript:function V(){return 1;}window.onerror=V;function Z(){a=1.5;b=.666667;c='{unit} ({coords}) {player} F{distance} {sent}'; p=['Scout','LC','HC','Axe','Sword','Ram','***Noble***'];d=document;function J(e){return/\s\(((\d+)\|(\d+))\)\sK/i.exec(e);}function K(e){f=parseInt(e,10);return(f>9?f:'0'+f);}function L(g,e){return g.getElementsByTagName(e);}function N(g){return g.innerHTML;}function M(g){return N(L(g,'a')[0]);}function O(){return k.insertRow(E++);}function W(f){return B.insertCell(f);}function P(g,e){g.innerHTML=e;return g;}function X(e){C=B.appendChild(d.createElement('th'));return P(C,e);}function Y(f){return K(f/U)+':'+K(f%(U)/T )+':'+K(f%T);}U=3600;T=60;R='table';S='width';s=L(document,R);for(j=0;j<s.length;j++){s[j].removeAttribute(S);if(s[j].className=='main'){s=L(L(s[j],'tbody')[0],R);break;}}D=0;for(j=0;j<s.length;j++){s[j].removeAttribute(S);if(s[j].className='vis'){k=s[j];if(t=k.rows)D=t.length;break;}}for(E=0;E<D;E++){l=t[E];m=(u=l.cells)?u.length:0;if(m){u[m-1].colSpan=5-m;if(N(u[0])=='Arrival:')Q=new Date(N(u[1]).replace(/<.*/i,''));else{if(N(u[0])=='Arrival in:')v=N(u[1]).match(/\d+/ig);}if(E==1)G=M(u[2]);if(E==2)w=J(M(u[1]));if(E==4)x=J(M(u[1]));}}y=v[0]*U+v[1]*T+v[2]*1;n=w[2]-x[2];o=w[3]-x[3];F=Math.sqrt(n*n+o*o);H=F.toFixed(2);E=D-2;s=L(k,'input');i=s[1];h=s[0];h.size=T;B=O();P(W(0),'Distance:').colSpan=2;P(W(1),H+' Fields').colSpan=2;B=O();X('Unit');X('Sent');X('Duration');X('Name to');c=c.replace(/\{coords\}/i,w[1]).replace(/\{distance\}/i,H).replace(/\{player\}/i,G);for(j in p){z=Math.round([9,10,11,18,22,30,35][j]*T*F/a/b);A=z-y;if(A>0){I=Y(z);B=O();P(W(0),p[j]);P(W(1),A<T&&'just now'||A<U&&Math.floor(A/T)+' mins ago'||Y(A)+' ago');P(W(2),I);C=W(3);q=C.appendChild(i.cloneNode(1));r=C.appendChild(h.cloneNode(1));r.id='I'+j;r.value=c.replace(/\{duration\}/i,I).replace(/\{sent\}/i,new Date(Q-z*1000).toLocaleString().replace(/.\d{4}/i,'').replace(/(\w{3})\w*/i,'$1')).replace(/\{unit\}/i,p[j]);q.onmousedown=new Function('h.value=d.getElementById(\'I'+j+'\').value;');}}}Z();[/spoil]
Now the Next line of my Quick Bar is the most useful:
Sort Overview - This script is VERY useful, you can use it on all overviews (I think), you can use it to sort your village in ascending or descending order of virtually anything, for instance, you want to see which of your villages has the most spears, you click the script and arrows appear you click the up arrow near the Spear and it will sort your villages by spear count.
[spoil]javascript:function c(){var a=document;if(window.frames.length>0)a=window.main.document;var b=a.createElement('script');b.type='text/javascript';b.src='http://legion.problemsolver.co.uk/SlowTarget/sort.js';a.getElementsByTagName('head')[0].appendChild(b);}c();[/spoil]
Nuke - This inserts all my offensive troops into the rally point, NOTE: Not a certain amount but just whatever offensive troops I have in the village.
[spoil]javascript:Array.prototype.contains = function(obj) {var i, listed = false;for (i=0; i<this.length; i++) {if (this === obj) {listed = true;break;}}return listed;};function getGameDoc() {getdoc = window.document;if(! getdoc.URL.match('game\.php')) {for(var i=0; i<window.frames.length; i++) {if(window.frames.document.URL.match('game\.php')) {getdoc = window.frames.document;}}}return getdoc;};units = Array('axe','light','ram','marcher','catapult');doc = getGameDoc();form = doc.units;inputs = form.getElementsByTagName('input');for (var i=0; i<inputs.length; i++) {if (inputs.type == 'text') {if (units.contains(inputs.name)) {next = inputs.nextSibling;do {next = next.nextSibling;} while (next.nodeType != 1);s = next.firstChild.nodeValue;insertUnit(form.elements[inputs.name], next.firstChild.nodeValue.replace(/\(/g, "").replace(/\)/g, ""));}}}[/spoil]
Nuke Noble - This is for when I send a noble train, if I used Nuke I would have no troops to accompany my nobles, this script inserts all my Offensive troops but minus 99 LC, and 3 nobles into the rally point. 33 LC for each noble.
[spoil]javascript:function j(){var d=(window.frames.length>0)?window.main.document:document;function a(b,c){var g,e;var h=d.units;if(h==null)return 0;e=h.nextSibling;do{e=e.nextSibling;}while(e.nodeType!=1);g=parseInt(e.firstChild.nodeValue.match(/(\d+)/)[1],10);f=(c<0)?c*-1:g-c;if(f>g)f=g;h.value=f;return f;}a('axe',0);a('spy',0);a('light',99);a('marcher',0);a('ram',0);a('catapult',0);}j();[/spoil]
Noble - This script inserts 33 LC and a noble into the rally point.
[spoil]javascript: insertUnit(document.forms[0].light, 33);insertUnit(document.forms[0].snob, 1);[/spoil]
Support - This inserts all my defensive troops into the rally point.
[spoil]javascript:Array.prototype.contains = function(obj) {var i, listed = false;for (i=0; i<this.length; i++) {if (this === obj) {listed = true;break;}}return listed;};function getGameDoc() {getdoc = window.document;if(! getdoc.URL.match('game\.php')) {for(var i=0; i<window.frames.length; i++) {if(window.frames.document.URL.match('game\.php')) {getdoc = window.frames.document;}}}return getdoc;};units = Array('spear','archer','sword','knight','heavy');doc = getGameDoc();form = doc.units;inputs = form.getElementsByTagName('input');for (var i=0; i<inputs.length; i++) {if (inputs.type == 'text') {if (units.contains(inputs.name)) {next = inputs.nextSibling;do {next = next.nextSibling;} while (next.nodeType != 1);s = next.firstChild.nodeValue;insertUnit(form.elements[inputs.name], next.firstChild.nodeValue.replace(/\(/g, "").replace(/\)/g, ""));}}}[/spoil]
Faking - This is a script that inserts all offensive troops into the rally point, it is called faking but it's just a name if I am mass nuking a player or certain villages I get the co-ords and copy the script into notepad, I then add the co-ords into a specific part of the script, now when I go to rally point and click the script it inserts the co-ords of the first village and my offensive troops. I then go to my next village, go to rally point and click the script, it enters all my offensive troops again and the co-ords of the next village in the script.
[spoil]javascript:coords='';var%20doc=document;if(window.frames.length>0)doc=window.main.document;url=document.URL;if(url.indexOf('screen=place')==-1)alert('This%20script%20needs%20to%20be%20run%20from%20the%20rally%20point');coords=coords.split("%20");index=Math.round(Math.random()*(coords.length-1));coords=coords[index];coords=coords.split("|");doc.forms[0].x.value=coords[0];doc.forms[0].y.value=coords[1];Array.prototype.contains = function(obj) {var i, listed = false;for (i=0; i<this.length; i++) {if (this === obj) {listed = true;break;}}return listed;};function getGameDoc() {getdoc = window.document;if(! getdoc.URL.match('game\.php')) {for(var i=0; i<window.frames.length; i++) {if(window.frames.document.URL.match('game\.php')) {getdoc = window.frames.document;}}}return getdoc;};units = Array('axe','light','ram','catapult');doc = getGameDoc();form = doc.units;inputs = form.getElementsByTagName('input');for (var i=0; i<inputs.length; i++) {if (inputs.type == 'text') {if (units.contains(inputs.name)) {next = inputs.nextSibling;do {next = next.nextSibling;} while (next.nodeType != 1);s = next.firstChild.nodeValue;insertUnit(form.elements[inputs.name], next.firstChild.nodeValue.replace(/\(/g, "").replace(/\)/g, ""));}}}end();[/spoil]
Map - Just look is all I can say <3
[spoil]javascript:var doc=(window.frames.length>0)?window.main.document:document;var player="gman1994";var display=['Defensive','Offensive'];var color=['#0033CC','#00FF00'];function getElementByClass(a,b){var c=doc.getElementsByTagName(a);for(var x=0;x<c.length;x++){if(c[x].className==b){return c[x]}}return-1}function setStatusTitle(a,b){var c=doc.getElementsByTagName("h2");if(c[0].innerHTML.length>12){c[0].innerHTML=c[0].innerHTML.replace(c[0].innerHTML.substring(12)," ("+a+"/"+b+")")}else{c[0].innerHTML+=" ("+a+"/"+b+")"}}if(doc.URL.match(/screen=map/)){el=getElementByClass("table","map");var teller=1;maxaantal=(el.rows.length*el.rows[1].cells.length);for(var x=0;x<el.rows.length;x++){for(var y=0;y<el.rows[x].cells.length;y++){setStatusTitle(teller++,maxaantal);for(var z=0;z<display.length;z++){if(el.rows[x].cells[y].innerHTML.match(display[z],"i")&&el.rows[x].cells[y].innerHTML.match(player,"i")){el.rows[x].cells[y].innerHTML+="<div style = \"position: absolute; background-color:"+color[z]+"; filter:alpha(opacity=80); opacity:.8; -moz-opacity:.8; width:53px; height:12px; margin-top:-13px; display:block; color:black;\">"+display[z]+"</div>"}}}}}else{alert("This option can only be used in the map!")};void 0;
[spoil]Change:
var player="gman1994"; to var player="Your Username";
var display=['Defensive','Offensive']; to var display=['Your Defensive Group Name','Your Offensive Group Name'];
Not Necessary Changes but you can:
var color=['#0033CC','#00FF00']; - This is the colours of the villages on the map, I set mine Defensive = Blue, Offensive = Green. Use the colour tool in the forums to find the colour you want.
NOTE: Use a text editor such as Notepad/Word/Notepad++ to change the scripts, makes it much easier [/spoil][/spoil]
Rename - Renames villages to 001 Your Momma Waz Here, 002 etc.
[spoil]javascript:var%20text='1337man';var%20doc=document;if(window.frames.length>0)doc=window.main.document;var%20inputs=doc.getElementsByTagName('input');var%20index=1;for(i=0;i<inputs.length;i++){if(inputs.id.indexOf('edit_input')!=-1){inputs.value="";if(index<100)inputs.value+="0";if(index<10)inputs.value+="0";inputs.value+=index%20+%20"%20";inputs.value+=text;inputs[i+1].click();index++;}}end();[/spoil]
Jimsta and Jim are the Faking scripts edited to have Jimstas barbs as the target. <3
For your own search for scripts here is the dedicated Public forum, Scripts & Independent Tools and Links
Much <3
Feedback pl0x!
1337man(Gman).
Most useful thing in TribalWars. They can do the smallest of things, like insert troops into the rally point to large scale things such as recruiting troops.
Here's a few I use that I'm going to share, and I will help anyone that needs help with scripts.
NOTE: Premium is necessity for most of these scripts, so I'm going to guide people who have premium how to do it.
Background:
A TW Script is Javascript, Javascript is a coding language used to manipulate webpages, it is mainly used inside Webpage code, but it can be used in the URL bar to manipulate the page, using a Javascript in the URL bar can make a change to the look/purpose of a webpage, but the change is not permanent and it is for the user only.
The Quick Bar:
Also reffered to as QB, the Quick Bar is like your favourites folder, it has a address saved to it and has a name of the Address, The Quick Bar is mainly used to insert scripts so that when you click, the script initiates and runs, but some like myself use it for storing the address of web pages.
NOTE: The Quick Bar is only active if you have premium.
Link To Editing Quick Bar
Here's the part where you add scripts.
>> Add A New Link - This is how to add a new script, you click this then fill out the following info.
Make a entry like the following one.
Entry Name:Test-Script
Image-URL:http://en6.tribalwars.net/graphic/unit/unit_axe.png?1
Target-URL:javascript:alert("Gman1994 iz 1337");
Now to define each box:
Entry Name is the name of the script, make sure the name is related to the script/link to make it beneficial to you.
Image-URL is not needed to be filled, generally I don't fill it in because I find that images in the QB make it look tacky. But to see what it's like try the above tester.
Target-URL, the most important part, where the actual script goes.
And finally, » Add line break adds a line (enter) to your Quick Bar so that not all scripts are on one line, my Quick BAr in the following picture has 2 Line Breaks because of the amount of scripts I have.
Here's my Quick Bar For Reference:
Now What They Do:
The first Line are the links you automatically are given, they just redirect you to the Specific Building in the village you are overviewing.
They are not really scripts but rather links, they take you to the Market/RallyPoint/etc page, the neat thing of these links though are that they stay on the same village, to do this the link is something like this: {game}&screen=main, this is a link to the HQ of your current village, {game} is a shortcut for http://en6.tribalwars.net/staemme.php?.
Mint - Redirects to the Mint page with all villages on one page for one click minting.
[spoil]{game}&screen=snob&mode=coin&from=-1[/spoil]
Train Off - Redirects to the Mass Recruiment Page, with my Offensive villages group selected.
[spoil]{game}&screen=train&mode=mass&group=29223
For this to work, you need to know the ID of your offensive group and change 29223 for its value.[/spoil]
Offensive Script - Inserts Troop Numbers into Mass Recruitment page, Offensive Troops.
[spoil]javascript:var%20configuration=[0,0,5000,0,0,2675,500,0,350,0];var%20archers=true;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=='Village'){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=['Spear%20Fighter','Swordsman','Axeman','Archer','Scout','Light%20Cavalry','Mounted%20Archer',%20'Heavy%20Cavalry','Ram','Catapult'];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(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');}[/spoil]
Train Def - Redirects to the Mass Recruiment Page, with my Defensive villages group selected.
[spoil]{game}&screen=train&mode=mass&group=29224
For this to work, you need to know the ID of your defensive group and change 29224 for its value.[/spoil]
Defensive Script - Inserts Troop Numbers into Mass Recruitment page, Defensive Troops.
[spoil]javascript:var%20configuration=[6850,6850,0,6850,250,0,0,0,0,0];var%20archers=true;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=='Village'){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=['Spear%20Fighter','Swordsman','Axeman','Archer','Scout','Light%20Cavalry','Mounted%20Archer',%20'Heavy%20Cavalry','Ram','Catapult'];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(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');}[/spoil]
Rename - Renames my villages according to the co-ordinates, E.G A village with co-ords 403|283 would be named 24:80:33.
[spoil]javascript:function%20convert_coords(x,y){con=Math.floor(y/100)+''+Math.floor(x/100);sec=(Math.floor(y/10)%2510)+''+(Math.floor(x/10)%2510);sub=(y%2510)+''+(x%2510);return%20con+':'+sec+':'+sub;}var%20doc=document;if(window.frames.length>0)doc=window.main.document;var%20inputs=doc.getElementsByTagName('input');for(i=0;i<inputs.length;i++){id=inputs.id;index=id.indexOf('edit_input');if(index!=-1){id=id.substring(index+11);str=doc.getElementById('label_text_'+id).innerHTML;mid=str.lastIndexOf('|');x=str.substring(str.lastIndexOf('(')+1,mid);y=str.substring(mid+1,str.lastIndexOf(')'));inputs.value=convert_coords(x,y);inputs[i+1].click();}}end();[/spoil]
Incomings - I click on a incoming then click this script, this is what it does:
[spoil]javascript:function V(){return 1;}window.onerror=V;function Z(){a=1.5;b=.666667;c='{unit} ({coords}) {player} F{distance} {sent}'; p=['Scout','LC','HC','Axe','Sword','Ram','***Noble***'];d=document;function J(e){return/\s\(((\d+)\|(\d+))\)\sK/i.exec(e);}function K(e){f=parseInt(e,10);return(f>9?f:'0'+f);}function L(g,e){return g.getElementsByTagName(e);}function N(g){return g.innerHTML;}function M(g){return N(L(g,'a')[0]);}function O(){return k.insertRow(E++);}function W(f){return B.insertCell(f);}function P(g,e){g.innerHTML=e;return g;}function X(e){C=B.appendChild(d.createElement('th'));return P(C,e);}function Y(f){return K(f/U)+':'+K(f%(U)/T )+':'+K(f%T);}U=3600;T=60;R='table';S='width';s=L(document,R);for(j=0;j<s.length;j++){s[j].removeAttribute(S);if(s[j].className=='main'){s=L(L(s[j],'tbody')[0],R);break;}}D=0;for(j=0;j<s.length;j++){s[j].removeAttribute(S);if(s[j].className='vis'){k=s[j];if(t=k.rows)D=t.length;break;}}for(E=0;E<D;E++){l=t[E];m=(u=l.cells)?u.length:0;if(m){u[m-1].colSpan=5-m;if(N(u[0])=='Arrival:')Q=new Date(N(u[1]).replace(/<.*/i,''));else{if(N(u[0])=='Arrival in:')v=N(u[1]).match(/\d+/ig);}if(E==1)G=M(u[2]);if(E==2)w=J(M(u[1]));if(E==4)x=J(M(u[1]));}}y=v[0]*U+v[1]*T+v[2]*1;n=w[2]-x[2];o=w[3]-x[3];F=Math.sqrt(n*n+o*o);H=F.toFixed(2);E=D-2;s=L(k,'input');i=s[1];h=s[0];h.size=T;B=O();P(W(0),'Distance:').colSpan=2;P(W(1),H+' Fields').colSpan=2;B=O();X('Unit');X('Sent');X('Duration');X('Name to');c=c.replace(/\{coords\}/i,w[1]).replace(/\{distance\}/i,H).replace(/\{player\}/i,G);for(j in p){z=Math.round([9,10,11,18,22,30,35][j]*T*F/a/b);A=z-y;if(A>0){I=Y(z);B=O();P(W(0),p[j]);P(W(1),A<T&&'just now'||A<U&&Math.floor(A/T)+' mins ago'||Y(A)+' ago');P(W(2),I);C=W(3);q=C.appendChild(i.cloneNode(1));r=C.appendChild(h.cloneNode(1));r.id='I'+j;r.value=c.replace(/\{duration\}/i,I).replace(/\{sent\}/i,new Date(Q-z*1000).toLocaleString().replace(/.\d{4}/i,'').replace(/(\w{3})\w*/i,'$1')).replace(/\{unit\}/i,p[j]);q.onmousedown=new Function('h.value=d.getElementById(\'I'+j+'\').value;');}}}Z();[/spoil]
Now the Next line of my Quick Bar is the most useful:
Sort Overview - This script is VERY useful, you can use it on all overviews (I think), you can use it to sort your village in ascending or descending order of virtually anything, for instance, you want to see which of your villages has the most spears, you click the script and arrows appear you click the up arrow near the Spear and it will sort your villages by spear count.
[spoil]javascript:function c(){var a=document;if(window.frames.length>0)a=window.main.document;var b=a.createElement('script');b.type='text/javascript';b.src='http://legion.problemsolver.co.uk/SlowTarget/sort.js';a.getElementsByTagName('head')[0].appendChild(b);}c();[/spoil]
Nuke - This inserts all my offensive troops into the rally point, NOTE: Not a certain amount but just whatever offensive troops I have in the village.
[spoil]javascript:Array.prototype.contains = function(obj) {var i, listed = false;for (i=0; i<this.length; i++) {if (this === obj) {listed = true;break;}}return listed;};function getGameDoc() {getdoc = window.document;if(! getdoc.URL.match('game\.php')) {for(var i=0; i<window.frames.length; i++) {if(window.frames.document.URL.match('game\.php')) {getdoc = window.frames.document;}}}return getdoc;};units = Array('axe','light','ram','marcher','catapult');doc = getGameDoc();form = doc.units;inputs = form.getElementsByTagName('input');for (var i=0; i<inputs.length; i++) {if (inputs.type == 'text') {if (units.contains(inputs.name)) {next = inputs.nextSibling;do {next = next.nextSibling;} while (next.nodeType != 1);s = next.firstChild.nodeValue;insertUnit(form.elements[inputs.name], next.firstChild.nodeValue.replace(/\(/g, "").replace(/\)/g, ""));}}}[/spoil]
Nuke Noble - This is for when I send a noble train, if I used Nuke I would have no troops to accompany my nobles, this script inserts all my Offensive troops but minus 99 LC, and 3 nobles into the rally point. 33 LC for each noble.
[spoil]javascript:function j(){var d=(window.frames.length>0)?window.main.document:document;function a(b,c){var g,e;var h=d.units;if(h==null)return 0;e=h.nextSibling;do{e=e.nextSibling;}while(e.nodeType!=1);g=parseInt(e.firstChild.nodeValue.match(/(\d+)/)[1],10);f=(c<0)?c*-1:g-c;if(f>g)f=g;h.value=f;return f;}a('axe',0);a('spy',0);a('light',99);a('marcher',0);a('ram',0);a('catapult',0);}j();[/spoil]
Noble - This script inserts 33 LC and a noble into the rally point.
[spoil]javascript: insertUnit(document.forms[0].light, 33);insertUnit(document.forms[0].snob, 1);[/spoil]
Support - This inserts all my defensive troops into the rally point.
[spoil]javascript:Array.prototype.contains = function(obj) {var i, listed = false;for (i=0; i<this.length; i++) {if (this === obj) {listed = true;break;}}return listed;};function getGameDoc() {getdoc = window.document;if(! getdoc.URL.match('game\.php')) {for(var i=0; i<window.frames.length; i++) {if(window.frames.document.URL.match('game\.php')) {getdoc = window.frames.document;}}}return getdoc;};units = Array('spear','archer','sword','knight','heavy');doc = getGameDoc();form = doc.units;inputs = form.getElementsByTagName('input');for (var i=0; i<inputs.length; i++) {if (inputs.type == 'text') {if (units.contains(inputs.name)) {next = inputs.nextSibling;do {next = next.nextSibling;} while (next.nodeType != 1);s = next.firstChild.nodeValue;insertUnit(form.elements[inputs.name], next.firstChild.nodeValue.replace(/\(/g, "").replace(/\)/g, ""));}}}[/spoil]
Faking - This is a script that inserts all offensive troops into the rally point, it is called faking but it's just a name if I am mass nuking a player or certain villages I get the co-ords and copy the script into notepad, I then add the co-ords into a specific part of the script, now when I go to rally point and click the script it inserts the co-ords of the first village and my offensive troops. I then go to my next village, go to rally point and click the script, it enters all my offensive troops again and the co-ords of the next village in the script.
[spoil]javascript:coords='';var%20doc=document;if(window.frames.length>0)doc=window.main.document;url=document.URL;if(url.indexOf('screen=place')==-1)alert('This%20script%20needs%20to%20be%20run%20from%20the%20rally%20point');coords=coords.split("%20");index=Math.round(Math.random()*(coords.length-1));coords=coords[index];coords=coords.split("|");doc.forms[0].x.value=coords[0];doc.forms[0].y.value=coords[1];Array.prototype.contains = function(obj) {var i, listed = false;for (i=0; i<this.length; i++) {if (this === obj) {listed = true;break;}}return listed;};function getGameDoc() {getdoc = window.document;if(! getdoc.URL.match('game\.php')) {for(var i=0; i<window.frames.length; i++) {if(window.frames.document.URL.match('game\.php')) {getdoc = window.frames.document;}}}return getdoc;};units = Array('axe','light','ram','catapult');doc = getGameDoc();form = doc.units;inputs = form.getElementsByTagName('input');for (var i=0; i<inputs.length; i++) {if (inputs.type == 'text') {if (units.contains(inputs.name)) {next = inputs.nextSibling;do {next = next.nextSibling;} while (next.nodeType != 1);s = next.firstChild.nodeValue;insertUnit(form.elements[inputs.name], next.firstChild.nodeValue.replace(/\(/g, "").replace(/\)/g, ""));}}}end();[/spoil]
Map - Just look is all I can say <3
[spoil]javascript:var doc=(window.frames.length>0)?window.main.document:document;var player="gman1994";var display=['Defensive','Offensive'];var color=['#0033CC','#00FF00'];function getElementByClass(a,b){var c=doc.getElementsByTagName(a);for(var x=0;x<c.length;x++){if(c[x].className==b){return c[x]}}return-1}function setStatusTitle(a,b){var c=doc.getElementsByTagName("h2");if(c[0].innerHTML.length>12){c[0].innerHTML=c[0].innerHTML.replace(c[0].innerHTML.substring(12)," ("+a+"/"+b+")")}else{c[0].innerHTML+=" ("+a+"/"+b+")"}}if(doc.URL.match(/screen=map/)){el=getElementByClass("table","map");var teller=1;maxaantal=(el.rows.length*el.rows[1].cells.length);for(var x=0;x<el.rows.length;x++){for(var y=0;y<el.rows[x].cells.length;y++){setStatusTitle(teller++,maxaantal);for(var z=0;z<display.length;z++){if(el.rows[x].cells[y].innerHTML.match(display[z],"i")&&el.rows[x].cells[y].innerHTML.match(player,"i")){el.rows[x].cells[y].innerHTML+="<div style = \"position: absolute; background-color:"+color[z]+"; filter:alpha(opacity=80); opacity:.8; -moz-opacity:.8; width:53px; height:12px; margin-top:-13px; display:block; color:black;\">"+display[z]+"</div>"}}}}}else{alert("This option can only be used in the map!")};void 0;
[spoil]Change:
var player="gman1994"; to var player="Your Username";
var display=['Defensive','Offensive']; to var display=['Your Defensive Group Name','Your Offensive Group Name'];
Not Necessary Changes but you can:
var color=['#0033CC','#00FF00']; - This is the colours of the villages on the map, I set mine Defensive = Blue, Offensive = Green. Use the colour tool in the forums to find the colour you want.
NOTE: Use a text editor such as Notepad/Word/Notepad++ to change the scripts, makes it much easier [/spoil][/spoil]
Rename - Renames villages to 001 Your Momma Waz Here, 002 etc.
[spoil]javascript:var%20text='1337man';var%20doc=document;if(window.frames.length>0)doc=window.main.document;var%20inputs=doc.getElementsByTagName('input');var%20index=1;for(i=0;i<inputs.length;i++){if(inputs.id.indexOf('edit_input')!=-1){inputs.value="";if(index<100)inputs.value+="0";if(index<10)inputs.value+="0";inputs.value+=index%20+%20"%20";inputs.value+=text;inputs[i+1].click();index++;}}end();[/spoil]
Jimsta and Jim are the Faking scripts edited to have Jimstas barbs as the target. <3
For your own search for scripts here is the dedicated Public forum, Scripts & Independent Tools and Links
Much <3
Feedback pl0x!
1337man(Gman).
Last edited by a moderator: