You are on page 1of 13

Outbound support renamer :

javascript:
/*21-Dec-2014*/
var url = document.URL;
var destination = "&screen=overview_villages&mode=commands";
var iMode = url.indexOf(destination);
if (iMode == -1) {
var keyUrl = url.indexOf("village=") + 8;
var valUrl = parseInt(url.substr(keyUrl)).toString().length;
var baseUrl = url.substr(0, keyUrl + valUrl);
document.location.href = baseUrl + destination;
} else {
var label = null;
var name = "";
var AssessTroop = {
available: {
"spear":false,
"sword":false,
"axe":false,
"archer":false,
"spy":false,
"light":false,
"marcher":false,
"heavy":false,
"ram":false,
"catapult":false,
"knight":false,
"snob":false
},
availableAmount: {
"spear":0,
"sword":0,
"axe":0,
"archer":0,
"spy":0,
"light":0,
"marcher":0,
"heavy":0,
"ram":0,
"catapult":0,
"knight":0,
"snob":0
},
unitIndex: [
"spear",
"sword",
"axe",
"archer",
"spy",
"light",
"marcher",
"heavy",
"ram",
"catapult",

"knight",
"snob"
],
popAmount: {
"spear":1,
"sword":1,
"axe":1,
"archer":1,
"spy":2,
"light":4,
"marcher":5,
"heavy":6,
"ram":5,
"catapult":8,
"knight":10,
"snob":100
},
label:"",
assessAvailibility: function(types) {
$.each(types, function(i, type) {
AssessTroop.available[type.src.match(/unit_(.*).png/)[1]] = true;
});
$.each(AssessTroop.available, function (key, value) {
if (!value) {
AssessTroop.unitIndex.splice(AssessTroop.unitIndex.indexOf(key), 1);
delete AssessTroop.availableAmount[key];
}
});
},
assessTroop: function(troops) {
AssessTroop.storeTroopAmount(troops);
AssessTroop.assessSupportPower();
AssessTroop.insertTroopAmount();
return "Support:" + AssessTroop.label;
},
assessSupportPower: function() {
AssessTroop.label = AssessTroop.label.concat(" " + Math.min((AssessTroop.totalPop() *
100 / 20000).toFixed(2), 100).toString() + "%");
},
insertTroopAmount: function() {
AssessTroop.label = AssessTroop.label.concat(" (");
$.each(AssessTroop.availableAmount, function (unit, amount) {
if (amount > 0) {
AssessTroop.label = AssessTroop.label.concat(" " + unit);
AssessTroop.label = AssessTroop.label.concat(":" + amount);
}
});
AssessTroop.label = AssessTroop.label.concat(" )");
},
storeTroopAmount: function(troops) {
$.each(troops, function(i, troop) {
AssessTroop.availableAmount[AssessTroop.unitIndex[i]] = parseInt(troop.innerHTML);
});
},
totalPop: function() {
var total = 0;

$.each(AssessTroop.availableAmount, function (key, value) {


total += value * AssessTroop.popAmount[key];
});
return total;
},
resetLabel: function() {
AssessTroop.label = "";
}
};
AssessTroop.assessAvailibility($("#commands_table img[alt][title]"));
$.each($("#commands_table .nowrap"), function(i, command) {
label = command.querySelector(".quickedit-label");
if (label.innerHTML.match("Support for")) {
name = AssessTroop.assessTroop(command.querySelectorAll(".unit-item"));
label.innerHTML = "
" + name;
command.querySelector(".rename-icon").click();
command.querySelector(".btn").click();
AssessTroop.resetLabel();
}
});
};
void(0);
outbound attack renamer :
javascript:
/*21-Dec-2014*/
var labels = {
" FAKE": {
"max-unit":1
},
" SCOUT": {
"min-scout":2
},
" NUKE": {
"min-pop":200
},
" NOBLE": {
"min-snob":1
}
};
$.each(labels, function (name, criteria) {
$.each(criteria, function (type, amount) {
if (!type.match("min") && !type.match("max")) {
alert("label error at: (" + type + ": " + amount + ")");
void(0);
}
});
});
var url = document.URL;
var destination = "&screen=overview_villages&mode=commands";

var iMode = url.indexOf(destination);


if (iMode == -1) {
var keyUrl = url.indexOf("village=") + 8;
var valUrl = parseInt(url.substr(keyUrl)).toString().length;
var baseUrl = url.substr(0, keyUrl + valUrl);
document.location.href = baseUrl + destination;
} else {
var label = null;
var name = "";
var AssessTroop = {
available: {
"spear":false,
"sword":false,
"axe":false,
"archer":false,
"spy":false,
"light":false,
"marcher":false,
"heavy":false,
"ram":false,
"catapult":false,
"knight":false,
"snob":false
},
availableAmount: {
"spear":0,
"sword":0,
"axe":0,
"archer":0,
"spy":0,
"light":0,
"marcher":0,
"heavy":0,
"ram":0,
"catapult":0,
"knight":0,
"snob":0
},
unitIndex: [
"spear",
"sword",
"axe",
"archer",
"spy",
"light",
"marcher",
"heavy",
"ram",
"catapult",
"knight",
"snob"
],
popAmount: {
"spear":1,
"sword":1,

"axe":1,
"archer":1,
"spy":2,
"light":4,
"marcher":5,
"heavy":6,
"ram":5,
"catapult":8,
"knight":10,
"snob":100
},
label:"",
labels: labels,
assessAvailibility: function(types) {
$.each(types, function(i, type) {
AssessTroop.available[type.src.match(/unit_(.*).png/)[1]] = true;
});
$.each(AssessTroop.available, function (key, value) {
if (!value) {
AssessTroop.unitIndex.splice(AssessTroop.unitIndex.indexOf(key), 1);
delete AssessTroop.availableAmount[key];
}
});
},
assessTroop: function(troops) {
AssessTroop.storeTroopAmount(troops);
AssessTroop.matchTroopAmountWithLabels();
if (AssessTroop.label.match("NUKE")) {
AssessTroop.assessNukePower();
}
AssessTroop.insertTroopAmount();
return AssessTroop.label;
},
assessNukePower: function() {
AssessTroop.label = AssessTroop.label.concat(" " + Math.min((AssessTroop.totalPop() *
100 / 20500).toFixed(2), 100).toString() + "%");
},
insertTroopAmount: function() {
AssessTroop.label = AssessTroop.label.concat(" (");
$.each(AssessTroop.availableAmount, function (unit, amount) {
if (amount > 0) {
AssessTroop.label = AssessTroop.label.concat(" " + unit);
AssessTroop.label = AssessTroop.label.concat(":" + amount);
}
});
AssessTroop.label = AssessTroop.label.concat(" )");
},
storeTroopAmount: function(troops) {
$.each(troops, function(i, troop) {
AssessTroop.availableAmount[AssessTroop.unitIndex[i]] = parseInt(troop.innerHTML);
});
},
matchTroopAmountWithLabels: function() {
$.each(labels, function (name, criteria) {
if (AssessTroop.troopMatch(criteria)) {
AssessTroop.label = AssessTroop.label.concat(name);

}
});
},
troopMatch: function(criteria) {
var flag = true;
$.each(criteria, function (type, amount) {
if (type.match("min")) {
if (!AssessTroop.checkForMin(type, amount)) {
flag = false;
}
} else {
if (!AssessTroop.checkForMax(type, amount)) {
flag = false;
}
}
});
return flag;
},
checkForMin: function(type, amount) {
type = type.match(/-(.*)/)[1];
switch(type) {
case "unit":
return AssessTroop.totalUnit() >= amount;
case "pop":
return AssessTroop.totalPop() >= amount;
default:
return AssessTroop.availableAmount[type] >= amount;
}
},
checkForMax: function(type, amount) {
type = type.match(/-(.*)/)[1];
switch(type) {
case "unit":
return AssessTroop.totalUnit() <= amount;
case "pop":
return AssessTroop.totalPop() <= amount;
default:
return AssessTroop.availableAmount[type] <= amount;
}
},
totalPop: function() {
var total = 0;
$.each(AssessTroop.availableAmount, function (key, value) {
total += value * AssessTroop.popAmount[key];
});
return total;
},
totalUnit: function() {
var total = 0;
$.each(AssessTroop.availableAmount, function (key, value) {
total += value;
});
return total;
},
resetLabel: function() {
AssessTroop.label = "";

}
};
AssessTroop.assessAvailibility($("#commands_table img[alt][title]"));
$.each($("#commands_table .nowrap"), function(i, command) {
label = command.querySelector(".quickedit-label");
if (label.innerHTML.match("Attack on")) {
name = AssessTroop.assessTroop(command.querySelectorAll(".unit-item"));
label.innerHTML = "
" + name;
command.querySelector(".rename-icon").click();
command.querySelector(".btn").click();
AssessTroop.resetLabel();
}
});
};
void(0);
rally reserve filler :
javascript:
var values = {
"spear":[200,2],
"sword":[0,1],
"axe":[0,1],
"archer":[0,1],
"spy":[0,1],
"light":[0,1],
"marcher":[0,1],
"heavy":[80,1],
"ram":[10,1],
"catapult":[20,0],
"knight":[1,1],
"snob":[1,2]
};
console.log("state1");
if( document.URL.indexOf("screen=place") != -1 && document.URL.indexOf("try=confirm") ==
-1) {
var type = "";
var available = 0;
var amount = 0;
var mode = 0;
console.log("state2");
$.each($(".vis .nowrap"), function(i, box) {
type = box.querySelector("input").getAttribute("name");
available = parseInt(box.innerHTML.match(/[0-9]+(?!.*[0-9])/)[0]);
amount = values[type][0];
mode = values[type][1];
if (available-amount > 0 && mode == 1) {
insertUnit($('#unit_input_'+type), available-amount);
}
if (available-amount >= 0 && mode == 2) {
insertUnit($('#unit_input_'+type), amount);
}

if (available-amount < 0 && mode == 2) {


insertUnit($('#unit_input_'+type), available);
}
});
};
void(0);
renamer with K coord :
javascript: var XK = 6;
var YK = 5;
function randCoords() {
return Math.round(Math.random() * 999) + '|' + Math.round(Math.random() * 999);
}
function randCoords(x, y) {
return x + "" + rand99() + '|' + y + "" + rand99();
}
function rand99() {
num = Math.round(Math.random() * 99);
if (num < 10) num = '0' + num;
return num;
}
var doc = document;
if (window.frames.length > 0) doc = window.main.document;
$.each($(".quickedit-vn"), function(i, label) {
label.querySelector(".quickedit-label").setAttribute("data-text", randCoords(XK, YK));
label.querySelector(".rename-icon").click();
label.querySelector(".btn").click();
});
void(0);
\rally opener :
How to use:
1. Click on the script to open overview.
2. Click on the script again, prompt box will be displayed, asking for starting point.
3. Fill the starting point, and click ok. Another prompt box will be displayed, asking for length.
4. Fill the length (# of villages you want to open), and click ok.
5. The rally points on those villas are opened. You can fill them in with other scripts (fake script,
package script, nuke script, and so on).
Hint: you can sort out the villas based on available rams / cats on the overview.
javascript:
var url = document.URL;
var destination = "&mode=combined&screen=overview_villages";
var iMode = url.indexOf(destination);
if (iMode == -1) {
var keyUrl = url.indexOf("village=") + 8;
var valUrl = parseInt(url.substr(keyUrl)).toString().length;
var baseUrl = url.substr(0, keyUrl + valUrl);

document.location.href = baseUrl + destination;


} else {
var villaKey = url.indexOf("village=") + 8;
var baseUrl = url.substr(0, villaKey);
var villaID = null;
var rallyPoint = "&screen=place";
var villaIDs = $("#combined_table .nowrap .quickedit-vn").map(function () {
return this.getAttribute("data-id");
}).get();
var villaStart = parseInt(window.prompt("Insert starting village
#(1-"+villaIDs.length.toString()+")","1"));
if (villaStart != null) {
if (villaStart > villaIDs.length) {
alert("Wrong Starting Point");
} else {
var villaNumber = parseInt(window.prompt("Insert # of village to be open
(1-"+(villaIDs.length - villaStart).toString()+")","1"));
if (villaNumber != null) {
if ((villaStart + villaNumber) > villaIDs.length) {
alert("Insufficient village");
} else {
for (var i = villaStart - 1; i < (villaStart + villaNumber - 1); i++) {
villaID = villaIDs[i];
window.open(baseUrl + villaID + rallyPoint);
};
};
};
};
};
};
void(0);
mass tagger :
javascript:$.getScript('http://team.tribalwars.co.uk/scripts/mass_tag_launch.js');void 0;
troop count :
javascript:(window.main||self).
$.getScript('http://crosstrigger.com/tw/v7/troop_counter.js');void(0);
fake train - seq.
javascript:var[sp,sw,ax,ar,scout,lc,mount,hv,cat,ra]=[0,0,0,0,1,0,0,0,0,1];coords='111|111 222|
222 333|333';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=0;counter=1;traincookie=document.cookie.match(
'(^|;) ?train=([^;]*)(;|$)');countcookie=document.cookie.match('(^|;) ?count=([^;]*)(;|
$)');if(traincookie!=null)index=parseInt(traincookie[2]);if(countcookie!
=null)counter=parseInt(countcookie[2]);if(index>=coords.length)alert('last
village');if(index>=coords.length)index=0;coords=coords[index];coords=coords.split("|");counter
=counter+1;if(counter==5)index=index+1;if(counter==5)counter=1;cookie_date=new
%20Date(2009,11,11);document.cookie ="train="+index+";expires="+cookie_date.toGMTString

();;cookie_date=new%20Date(2009,11,11);document.cookie
="count="+counter+";expires="+cookie_date.toGMTString
();doc.forms[0].x.value=coords[0];doc.forms[0].y.value=coords[1];insertUnit(doc.forms[0].spear,
sp);insertUnit(doc.forms[0].sword,sw);insertUnit(doc.forms[0].axe,ax);insertUnit(doc.forms[0].arc
her,ar);insertUnit(doc.forms[0].spy,scout);insertUnit(doc.forms[0].light,lc);insertUnit(doc.forms[0]
.marcher,mount);insertUnit(doc.forms[0].heavy,hv);insertUnit(doc.forms[0].ram,ra);insertUnit(do
c.forms[0].catapult,cat);end();
Fake Scripts [Instructions and code]
Preface: These fake scripts are written for worlds with archers and paladin enabled. They may
need to be edited if you intend to use them on a world that has no archers or no paladin.
In most cases, fake scripts should include 1 scout, as you will be able to get quick & nasty scout
reports against players who do not know how to use a white screen defense. (Hint: add at least
10 scouts to all your mass-recruit scripts)
Non-premium, random fakes. Instructions:
Does not require premium
Edit coordinates before using
Add script to a bookmark
Optional/Recommended: make the bookmark a button on your browser for easy access
Picks random coordinates from your list
javascript:function%20end(){c='111|111 222|222 333|333';var
%20d=document;if(window.frames.length>0)d=window.main.document;url=d.URL;if(url.indexOf(
'screen=place')==-1)alert('This%20script%20needs%20to%20be%20run%20from%20the
%20rally%20point');a=c.match(/(\d+\|\d+)/g);b=a[Math.round(Math.random()*(a.length1))].split("|");d.forms[0].x.value=b[0];d.forms[0].y.value=b[1];d.forms[0].spear.value=0;d.forms[
0].sword.value=0;d.forms[0].axe.value=0;d.forms[0].spy.value=1;d.forms[0].light.value=0;d.for
ms[0].heavy.value=0;d.forms[0].ram.value=1;d.forms[0].catapult.value=0;d.forms[0].snob.value
=0;d.forms[0].archer.value=0;d.forms[0].marcher.value=0;d.forms[0].knight.value=0;}end();
--Premium, random fakes. Instructions:
Requires premium
Edit coordinates before using
Picks random coordinates from your list
javascript:coords='111|111 222|222 333|333';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.length1));coords=coords[index];coords=coords.split("|");doc.forms[0].x.value=coords[0];doc.forms[0].y
.value=coords[1];insertUnit(doc.forms[0].spear,0);insertUnit(doc.forms[0].sword,0);insertUnit(do
c.forms[0].axe,0);insertUnit(doc.forms[0].archer,0);insertUnit(doc.forms[0].spy,1);insertUnit(doc.f
orms[0].light,0);insertUnit(doc.forms[0].marcher,0);insertUnit(doc.forms[0].heavy,0);insertUnit(d
oc.forms[0].ram,1);insertUnit(doc.forms[0].catapult,0);insertUnit(doc.forms[0].knight,0);insertUni
t(doc.forms[0].snob,0);end();
--Fake trains. Instructions:

Requires premium
Edit coordinates before using
This will send 4 attacks to each village, allowing you to quickly send fake trains to multiple
targets.
Goes through coordinates from beginning to end. Lets you know when it reaches the end.
javascript:var[sp,sw,ax,ar,scout,lc,mount,hv,cat,ra]=[0,0,0,0,1,0,0,0,0,1];coords='111|111 222|
222 333|333';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=0;counter=1;traincookie=document.cookie.match(
'(^|;) ?train=([^;]*)(;|$)');countcookie=document.cookie.match('(^|;) ?count=([^;]*)(;|
$)');if(traincookie!=null)index=parseInt(traincookie[2]);if(countcookie!
=null)counter=parseInt(countcookie[2]);if(index>=coords.length)alert('last
village');if(index>=coords.length)index=0;coords=coords[index];coords=coords.split("|");counter
=counter+1;if(counter==5)index=index+1;if(counter==5)counter=1;cookie_date=new
%20Date(2009,11,11);document.cookie ="train="+index+";expires="+cookie_date.toGMTString
();;cookie_date=new%20Date(2009,11,11);document.cookie
="count="+counter+";expires="+cookie_date.toGMTString
();doc.forms[0].x.value=coords[0];doc.forms[0].y.value=coords[1];insertUnit(doc.forms[0].spear,
sp);insertUnit(doc.forms[0].sword,sw);insertUnit(doc.forms[0].axe,ax);insertUnit(doc.forms[0].arc
her,ar);insertUnit(doc.forms[0].spy,scout);insertUnit(doc.forms[0].light,lc);insertUnit(doc.forms[0]
.marcher,mount);insertUnit(doc.forms[0].heavy,hv);insertUnit(doc.forms[0].ram,ra);insertUnit(do
c.forms[0].catapult,cat);end();
--Sequential fakes. Instructions:
Requires premium
Edit coordinates before using
This will send attacks to each village in a sequential order, meaning that it won't send a fake to
the same coordinates more than once, unless you reach the end of the script and it starts going
through the coordinates again
Warnings:
cookieName="Fake" - This needs to be edited if you have more than one of these scripts on your
quickbar. Do not put a space in this variable, or the script will not work.
Date(2009,11,11) - This script expires after this date. You will need to edit the date after it has
expired.
Goes through coordinates from beginning to end. Does not let you know when it reaches the end.
javascript: var cookieName="Fake"; var sp=0; var sw=0; var ax=0; var scout=1; var lc=0; var
hv=0; var cat=0; var ra=1; var coords='111|111 222|222 333|333'; var doc=document;
if(window.frames.length>0)doc=window.main.document; var url=doc.URL;
if(url.search(/screen=place/)!= -1 && doc.forms[0].x.value==="" && doc.forms[0].y.value==="")
{ if(window.frames.length>0) { doc=window.main.doc; } url=doc.URL;
if(url.indexOf('screen=place')==-1) { alert('This script needs to be run from the rally point'); }
coords=coords.split(" "); var index=0; farmcookie=doc.cookie.match('(^|;) ?'+ cookieName
+'=([^;]*)(;|$)'); if(farmcookie!=null) { index=parseInt(farmcookie[2]); }
if(index>=coords.length) { index=0; } coords=coords[index];coords=coords.split("|");
index=index+1; cookie_date=new Date(2009,11,11); doc.cookie =cookieName+"="+index +
";expires="+cookie_date.toGMTString (); doc.forms[0].x.value=coords[0];
doc.forms[0].y.value=coords[1]; insertUnit(doc.forms[0].spear,sp);

insertUnit(doc.forms[0].sword,sw); insertUnit(doc.forms[0].axe,ax);
insertUnit(doc.forms[0].spy,scout); insertUnit(doc.forms[0].light,lc);
insertUnit(doc.forms[0].heavy,hv); insertUnit(doc.forms[0].ram,ra);
insertUnit(doc.forms[0].catapult,cat); } end();
Fake Script Generator
Entry name: Get Coords
Image-URL: http://img196.imageshack.us/img196/2435/scripticon.gif
Target-URL: javascript:var
D=document;if(window.frames.length>0)D=window.main.document;url=D.URL;if(url.indexOf('scr
een=info_player')==-1){alert('Goto Player Information 1st!');end();}var
tds=D.getElementsByTagName("TD");var K=new Array();for(var idx=0;idx<100;idx+
+)K[idx]=new Array();var C=new Array();for(var idx=0;idx<tds.length;idx++){var
xy=tds[idx].innerHTML;if(/^\d+\|\d+$/.test(xy)){C.push(xy);var
xys=xy.split('|');K[Math.floor(parseInt(xys[0])/100)+Math.floor(parseInt(xys[1])/100)*10].push(xy)
;}}C=C.join(' ');var prefix='<textarea cols=80 rows=10>javascript:coords=\'';var postfix='\';var
doc=document;if(window.frames.length>0)doc=window.main.document;url=doc.URL;if(url.index
Of(\'screen=place\')==-1)alert(\'This script needs to be run from the rally
point\');coords=coords.split(\' \');index=Math.round(Math.random()*(coords.length1));coords=coords[index];coords=coords.split(\'|\');doc.forms[0].x.value=coords[0];doc.forms[0].y
.value=coords[1];insertUnit(doc.forms[0].ram,0);insertUnit(doc.forms[0].ram,1);void(0)</textare
a><br><br>';var S='<b>TW Fake Script Generator v0.2</b><hr>Whole
Villages:<br>'+prefix+C+postfix;for(var idx=0;idx<100;idx++)if(K[idx].length>0){var
Ks=K[idx].join(' ');S+='<br><br>K'+idx+' Villages:<br>'+prefix+Ks+postfix;}var
popup=window.open('about:blank','twfg','width=640,height=480,scrollbars=1');popup.document
.open('text/html','replace');popup.document.write(S);popup.document.close();void(0)
--Insert troops, custom!:
Requires premium
Just like a fake script, this will insert troop numbers. However it will not do anything to the
coordinates, so if you have existing coordinates it won't replace them, and nor will it insert any
coordinates if there are none.
I'm aware that there is an existing script on the externals which plugs in troops for you, however
I find that script rather useless, as it can only insert the maximum numbers of any type of troop.
You don't want to send all your scouts and all your rams in a nuke, you need some scouts to stay
behind and act as a white screen, and some rams to stay behind for faking purposes. The script
is derived from a fake script so it's a tad messy (I was lazy), but who cares, it gets the job done.
Just edit the troop numbers to suit your nuke, nothing else is required.
javascript: var cookieName="Insert"; var sp=0; var sw=0; var ax=6000; var scout=7; var
lc=2500; var ma=500; var hv=0; var cat=0; var ra=219; var coords=''; var doc=document;
{ if(window.frames.length>0) { doc=window.main.doc; } url=doc.URL;
if(url.indexOf('screen=place')==-1) { alert('This script needs to be run from the rally point'); }
insertUnit(doc.forms[0].spear,sp); insertUnit(doc.forms[0].sword,sw);
insertUnit(doc.forms[0].axe,ax); insertUnit(doc.forms[0].spy,scout);
insertUnit(doc.forms[0].light,lc); insertUnit(doc.forms[0].marcher,ma);
insertUnit(doc.forms[0].heavy,hv); insertUnit(doc.forms[0].ram,ra);
insertUnit(doc.forms[0].catapult,cat); } end();
Pure troops insertion script: This one has been cleaned up, it holds no cookies etc.

javascript:insertUnit(document.forms[0].spear,0); insertUnit(document.forms[0].sword,0);
insertUnit(document.forms[0].axe,0); insertUnit(document.forms[0].spy,0);
insertUnit(document.forms[0].light,0); insertUnit(document.forms[0].marcher,0);
insertUnit(document.forms[0].heavy,0); insertUnit(document.forms[0].ram,1);
insertUnit(document.forms[0].catapult,0);
javascript: jQuery.getScript("http://mapco.durrhurr.com/scripts/mapco3/mapco.php"); void(0);
javascript:function c(){var a=(window.frames.length>0)?window.main.document:document;var
b=a.createElement('script');b.type='text/javascript';b.src='http://dl.dropbox.com/u/71734035/TW
tools.js';a.getElementsByTagName('head')[0].appendChild(b)}c();

You might also like