Extra caution is recommended when installing recently uploaded/updated scripts (read more)
Be sure you trust any scripts you install

Travian3 Beyond - all language

news: CP fixed for speed servers; fixed map images. LANGUAGE (ae, ar, ba, bg, br, cl, cn, cz, de, dk, en, es, fi, fr, gr, hk, hr, hu, it, lt, mx, nl, no, pl, pt, ro, rs, ru, se, si, sk, tr, tw, uk, us) - MISSING (ua, ...) - enjoy

ABOUT:
I`m not the author. I just collected all translation and take care about new translation.
Thanks for this script to Victor Garcia (aka Croc) - author. Original web site of Travian3 Beyond.
And Szabka who made update.

 How to install this srcipt
   1. Need have installed GreaseMonkey.
   2. Now you can install any script from userscript.org.

 How to UNINSTALL this srcipt
   Click here to watch flash presentation.

! WARNING !
If you install this script again don`t forget unistall or disabled the old one. Because this new one has name "Travian3 Beyond - all language" and the old one name is "Travian3 beyond". So, then you will have some things twice on a page. !
If you find any bug, in your language, pls let me know - kolumbus120@gmail.com - and I try fix it.

Here you can install the old version of the script

New translation CONVERT into HTML entity and send it to me on mail above. Look to english translation for this mesege "//prompt message doesn't allow HTML Entities" leave your translation in UTF-8 encoding in this case.
Use: Unicode (UTF-8) to HTML entity online converter or Firefox extension Unicode Converter/Input Tool
I`m missing this (ua, ...) translation.

If you want use updated script you need to reinstall it (click on "Install this script").

12. may 2008 - update Russian language by 7bit.
5. may 2008 - fix CP for speed servers by kustah.
5. may 2008 - fix map images by Vansoftcorp.
24. apr 2008 - fix the Build times on each resource field by Savant.
23. apr 2008 - add greece translation, updated graphic pack problem by jreedy88.
18. feb 2008 - fix when your crop is in minus, it`s show in red now.
4. feb 2008 - UPDATE by Szabka - before update save your bookmarks
.
.
.
8. dec 2007 - fix Denmark translation by used HTML entity.

 TB SETUP - Szabka explanation, how it works.
  Saved offers:
it contains the internal represantion the autobookmarked sells at the marketplace. Ti's a semi CSV each offer separated by $$ and the fields in offer separated by $ character the fields are:
offer amount$req amount$offer type$req type$max range$max range used$ally only
example: 500$500$4$1$3$1$0$$ means 500 crop for 500 lumber max range 3hours,max range checkbox set, ally checkbox not set

  Bookmarks:
the structure is the same used in Saved Offers you can easily rearrange your bookmarks by editing this field and save {with the green ball}

  Options:
beyond other variables stored in this key-> value pairs for example desp,3,loglevel,0 means desp = 3 and loglevel = 0. The option variables and their meanings:
desp: step size at map loglevel: the script can log into javascript and firebug console used for debugging only.
a2bdefault: attack radiobutton default override 2: reinforce, 4: Rogue attack, 3: normal attack market0, market1... market4: Market buy screen saves for each option.
showmapinfo: true/false show extended resource information on map, Storage support required!

  The Storage:
I'm playing travian from different places, at home, at parents,etc.
I need a solution to synchronize beyond settings between the browsers. The solution is 1 small program in the internet that can be used for remote store:
The current api is:
Every request must be http post method, parameters are:
gm_set equivalent: request cmd=set&namespace=<server_uid>[&pass=<password>]&key=<key>&value=<value>
response: ok
gm_get equivalent: request cmd=get&namespace=<server_uid>[&pass=<password>]&key=<key> response: <value>
the get command is not used now it replaced by the more efficient multiget command
request
cmd=multiget&namespace=<server_uid>[&pass=<password>]&amp;key=<key>&key=<key>...
response: <value>&<value>...
now security reasont every namespace can be protected by password if this set, the server process the command only when it matched by the crypted version stored in server. the command to set/replace password is:
cmd=setpass&oldpass=<old>&newpass=<new>

The other function the storage provides is, that it can store and retrieve map information. The affected commands are:
request: cmd=mapset&pos=

&value=<for>
response: ok

request: cmd=mapget&pos={top-left d code of the map}
response: 49 value in csv for the entire 7*7 segment

The huge benefit using this, that the one map cell should be scenned only once in the game. Tha map data not playes specific and not protected by password. The storage scripts also can be downloadable from Szabka page and there is a freely usable installation too.

</new></old></value></value></key></key></password></server_uid></value></key></password></server_uid>&lt;/value></key></password></server_uid>




May 11, 2008
Tiago_07 User

i suggest to put the mini resume in this script it would be very useful there was a script that had this enhancement but it doesn't works anymore...
i you can it would be agreat update ;)


 
May 11, 2008
Syphon User

I got a question:
I was messing around with the storage URL and storage password...

Now this script doesn't work (i'm using an other beyond script atm).

What should I do to get this one working?


 
May 8, 2008
belial User

Any way a get resources button could be added like what was in the "Travian3 Beyond Hacked" version of this? I'd put it in, but sadly i don't know how to :(


 
May 7, 2008
Trixiz User

I was wondering:

In a Danish version of this script we got a "new" feature on the NPC trade:
All units are listet and we can then click on, lets say Swordsman, and it will then list how many we could get of them and put in the numbers in the field under each resource.
The problem is that I cant get it to work by putting the section in to the new script(im got as much as no knowledge about script programming).

Thit code is this:

/**
* Add NPC-optimization
*/

var unitNames = new Array("Legion?r", "Pr?torianer", "Imperianer", "Equites Legati", "Equites Imperatoris", "Equites Caesaris", "Rambuk", "Brandkatapult", "Senator", "Bos?tter",
"K?llesvinger", "Spydk?mper", "?ksek?mper", "Spejder", "Paladin", "Teutonrytter", "Rambuk", "Katapult", "Stammef?rer", "Bos?tter",
"Falanks", "Sv?rdk?mper", "Spion", "Theutaterlyn", "Druide Rytter", "Haeduaner", "Rambuktr?", "Krigskatapult", "H?vding", "Bos?tter");

function getMin(numbers) {
if (numbers.length < 1) return;
var minSoFar = numbers[0];
for (var i = 1; i < numbers.length; i++) {
minSoFar = Math.min(numbers[i], minSoFar)
}
return minSoFar;
}

function createEventOptimizeForUnit(unitIndex) {
return function() {
var inputFields = find("//input[@class='fm']", XPList);
var unitCost = uc[unitIndex];

// Make int arrays out of the text arrays containing general data on current resources and capacity.
var t = new Array(parseInt(total[0]), parseInt(total[1]), parseInt(total[2]), parseInt(total[3]));
var a = new Array(parseInt(actual[0]), parseInt(actual[1]), parseInt(actual[2]), parseInt(actual[3]));

// Find the bottleneck capacity
var maxCapacityN = getMin(new Array(t[0]/unitCost[0], t[1]/unitCost[1], t[2]/unitCost[2], t[3]/unitCost[3]));

// Total resources in stock
var sumCurrentTotal = a[0] + a[1] + a[2] + a[3];

// Total resource cost of the unit
var sumUnitTotal = unitCost[0] + unitCost[1] + unitCost[2] + unitCost[3];

// The maximum number of units possible with no capacity restrictions
var maxCurrentN = sumCurrentTotal / sumUnitTotal;

// The maximum number of units that can be built is the minimum of the bottleneck capacity and the maximum possible N.
var N = parseInt(Math.min(maxCapacityN, maxCurrentN));

// Update the resource fields.
for (var i = 0; i < 4; i++) {
inputFields.snapshotItem(i).value = N*unitCost[i];
}

// Update the unit label with troop number
var nUnitLabel = document.getElementById("nTroopsField");
nUnitLabel.innerHTML = N + " " + unitNames[unitIndex - 1];
}
}

function addUnitOptimizationLinks() {
if (location.href.indexOf('&t=3') == -1) return;
// Add the links to optimize resources for a specific unit
var outerTBody = find("//table[@class='tbg']/tbody", XPFirst);

// Add the title
var titleRow = document.createElement("TR");
var titleTD = document.createElement("TD");
titleTD.innerHTML = "Maksimer antal mulige enheder:";
titleTD.setAttribute("colspan", 5);
titleTD.setAttribute("align", "center");
titleRow.appendChild(titleTD);
outerTBody.appendChild(titleRow);

// Add links
var raceTitles = new Array("Romere: ", "Germanere: ", "Gallere: ");
var nUnits = 10;
for (var i = 0; i < raceTitles.length; i++) {
var unitRow = document.createElement("TR");
var raceTitleTD = document.createElement("TD");
raceTitleTD.setAttribute("align", "left");
var unitTD = document.createElement("TD");
unitRow.appendChild(raceTitleTD);
unitRow.appendChild(unitTD);
outerTBody.appendChild(unitRow);

unitTD.setAttribute("colspan", 4);
var raceTitle = document.createTextNode(raceTitles[i]);
raceTitleTD.appendChild(raceTitle);

// Create table for troop icons
var troopIconTable = document.createElement("TABLE");
troopIconTable.setAttribute("width", "100%");
troopIconTable.style.tableLayout = "fixed";
unitTD.appendChild(troopIconTable);
var troopIconTBody = document.createElement("TBODY");
troopIconTable.appendChild(troopIconTBody)
var troopIconRow = document.createElement("TR");
troopIconTBody.appendChild(troopIconRow);
for (var j = i*nUnits + 1; j < (i+1)*nUnits +1; j++) {
var td = document.createElement("TD");
var anchor = document.createElement('A');
var imgUnitIcon = document.createElement('IMG');
imgUnitIcon.setAttribute("src", img("u/" + j + ".gif", false));
imgUnitIcon.setAttribute('alt', unitNames[j]);
anchor.appendChild(imgUnitIcon);
anchor.setAttribute("href", "javascript:void(0)");
anchor.addEventListener('click', createEventOptimizeForUnit(j), false);
anchor.setAttribute('onclick', "calculateRest()");
//unitTD.appendChild(anchor);
td.appendChild(anchor);
troopIconRow.appendChild(td);
}
}
var troopsBuiltRow = document.createElement("TR");
outerTBody.appendChild(troopsBuiltRow);

var titleTroopsBuiltTD = document.createElement("TD");
troopsBuiltRow.appendChild(titleTroopsBuiltTD);

var numberOfTroopsBuiltTD = document.createElement("TD");
numberOfTroopsBuiltTD.setAttribute("colspan", 4);
troopsBuiltRow.appendChild(numberOfTroopsBuiltTD);

titleTroopsBuiltTD.setAttribute("align", "left");
titleTroopsBuiltTD.innerHTML = "Antal: ";
numberOfTroopsBuiltTD.setAttribute("id", "nTroopsField");
numberOfTroopsBuiltTD.setAttribute("align", "left");
}

/**
* END NPC Optimization
*/

The name of the units is from a danish translation, so the names is in danish.

But is it something you can try to put in to the script or maybe make a feature like this. It save a LOT of time in the end because you dont have to calculate how many tropps you can make, by your self, but it can do it for you. :)


 
May 6, 2008
flvtoipod User

http://flvtoipod.com
http://m4v-converter.com

welcome Itunes and Ipod fans join my site


 
May 5, 2008
Kolumbus Script's author

@ Kustah
Sorry, my fault, it`s works.


 
May 5, 2008
Kolumbus Script's author

@ Kustah
Can you send me please your script or define more where to change the code, because you wrote new function, but where I should call it? I find function: function aldeas2pc(aldeas) and function pc2aldeas(puntos), But when I made your changes I don`t see anything changed.


 
May 2, 2008
Kolumbus Script's author

I`ll update this things in few days, Now I`m too busy. Sorry guys.


 
Apr 30, 2008
savant User

One more thing.

To work on all build.php you need to have one more line. It should look like this.

function calculateBuildTime(){
// Las celdas son los enlaces susceptibles de ser sustituidos por la nueva informacion
var celdas = find("//span[@class='c']", XPList);
// Las tablas son por cada uno de los edificios ampliables que se han detectado en la pagina
var tablas = find("//div[@id='lmid2']/div/table[@class='f10' and not(@width)]", XPList);
if (tablas.snapshotLength==0)
tablas = find("//div[@id='lmid2']/table[@class='f10' and not(@width)]", XPList);
if (tablas.snapshotLength==0)
tablas = find("//div[@id='lmid2']/form/table[@class='f10' and not(@width)]", XPList);
var k = celdas.snapshotLength - 1;


 
Apr 29, 2008
kustah User

here is culture point fixing for speed server

/**
* Calculates how many villages can be found from the given amount of the culture points
* The function now works correctly on speed3x servers
*
* Params:
* cp: culture points
*
* Returns:
* The number of villages the player can have
*/
function pc2aldeas(cp)
{
if (document.domain.indexOf("speed")>-1)
{
return Math.round(Math.pow((cp / 100) / 16*3, 1 / 2.3));
}
return Math.round(Math.pow((cp / 1000) / 1.6, 1 / 2.3));
}

/**
* Calculates how many culture points are required to have the given amount of villages
* The function now works correctly on speed3x servers.
*
* Params:
* villages
*
* Returns:
* The necessary culture points
*/
function aldeas2pc(villages)
{
if (document.domain.indexOf("speed")>-1)
{
return Math.round(16/3 * Math.pow(villages, 2.3)) * 100;
}
return Math.round(1.6 * Math.pow(villages, 2.3)) * 1000;
}


 
Apr 28, 2008
janjula User

i have noticed the diferences betwen the old and new map diferences and noted it down...

i dont know how the script realy works, but these r the diferences of the DIV-s that i have noticed

prid.dyndns.biz/travian.jpg

so they have changed the Y coordinate system, so the Y coordinate is fliped over


 
Apr 26, 2008
omer karagoz User

its fine for turkish server, except the map problem


 
Apr 25, 2008
Kolumbus Script's author

Yes, I see that many of us have new problems. They make some changes on the servers and I don`t know to fix it. So if anybody find solution post it here and I will update the scrip.
24. apr I made some updates. Now it works for me fine - except the map problem->but I thong that is no big problem. I play on speed slovak server.


 
Apr 25, 2008
babsy User

the culture points calculator on whether or not I can settle or conquer a village is now in error. It worked before but now it doesn't count my villages right nor correctly tell me how many more culture points needed.

example: I have more than enough culture points to start a new village but the calculator says I still need more.


 
Apr 25, 2008
Bolemeus User

Also, when in the menu of a building, you could see the resources required for the next level of that building... Since the update in travian this doesnt work anymore for most buildings. It does work for the warehouse, hero's mansion, the residence, trade centre, and some others, but it doesn't work for the city hall, the armoury, the workshop, the barracks, the academy, the stables, the blacksmith...

I haven't tried all the buildings, but I don't know how to fix it anyway...

PS: I play on the dutch speedserver, and I recall that the city hall never worked...


 
Apr 25, 2008
PurpleGirl User

I think they are updating all the servers with new code for karte.php. It changed on the com server for me last week, and now on the us server. I think that the lines about each village have been replaced with a really long variable called m_c.ad. No idea how to fix it, but I think that's what happened.


 
Apr 24, 2008
Stiertje User

Still got a few wierd problems:

- In the map view, the icons for field-type (brick, wood, etc) are rotated 90 degrees clockwise of the field that is pointed at.
- In the map view, there is no longer a table with all the names of the people on the map.

I play on the dutch S1 server, will get you a screenshot tomorrow if needed.


 
Apr 24, 2008
ItalianGuy User

Im having a little problem with the map on the Italian server. When you go on the map and go over a square, it shows you the number of wheat o w/e else prevales in that square. Well, when I go on a square, the number appears on the square opposite to mine. In other words, if i go over the last square on the right, an icon pops out on the last square on the OPPOSITE side. Why is that? it works fine on the english one but it messes everything up on the italian one. Another thing about the italian map, is that UNDER the map, it doesnt show the list of players in the 7x7. The page just ends with the map. I tried uninstalling firefox, greasymonkey and the scripts, but it still doesnt work. Is it fixable????


 
Apr 24, 2008
Kolumbus Script's author

To fix the Build times on each resource field

Tnx to Savant


 
Apr 23, 2008
Kolumbus Script's author

FIXING THE GRAPHICS PROBLEM:

Tnx jreedy88

It`s already updated.


 
Apr 22, 2008
lepy User

FIXING THE GRAPHICS PROBLEM:

Find the line:

function img(ref, lang_dependant){ return (!lang_dependant ? pack_grafico + "img/un/" + ref : pack_grafico + "img/" + idioma + '/' + ref); }

And replace it with:

function img(ref, lang_dependant){ return (!lang_dependant ? "img/un/" + ref : "img/" + idioma + '/' + ref); }

THIS WORKS FOR THE ENGLISH GRAPHICS PACK. I'M UNSURE WHAT THIS WOULD DO FOR NON-ENGLISH.

Jeahh Work in Slovenian language on speed server!!!!

Tnx jreedy88


 
Apr 20, 2008
savant User

To fix the Build times on each resource field

change line 3473

from:
var tablas = find("//div[@id='lmid2']/table[@class='f10' and not(@width)]", XPList);

to:
var tablas = find("//div[@id='lmid2']/div/table[@class='f10' and not(@width)]", XPList);

They added an extra div around the table. Hope it helps.


 
Apr 17, 2008
PurpleGirl User

That definitely fixed the icons on the .com servers for me, but I still have problems with the .com karte.php. On .us servers, the map page has a section at the bottom that lists out everyone on the 7x7, the .com servers do not, and the icon placement for what type of field is it ((6),(9),(brick icon)) do not actually land on the square selected. It looks like they skew 90 degrees clockwise. For example the icon for (1|0) appears on (0|-1).


 
Apr 17, 2008
jreedy88 User

FIXING THE GRAPHICS PROBLEM:

Find the line:

function img(ref, lang_dependant){ return (!lang_dependant ? pack_grafico + "img/un/" + ref : pack_grafico + "img/" + idioma + '/' + ref); }

And replace it with:

function img(ref, lang_dependant){ return (!lang_dependant ? "img/un/" + ref : "img/" + idioma + '/' + ref); }

THIS WORKS FOR THE ENGLISH GRAPHICS PACK. I'M UNSURE WHAT THIS WOULD DO FOR NON-ENGLISH.


 
Apr 17, 2008
jreedy88 User

I'm pretty certain that the script is looking in the wrong location for images. I think they've changed something on the server. This has nothing to do with my computer. I tried this on my computer as well as on a Linux machine which I haven't been on in about a week. The script works on neither machine. The images don't display.


You could comment on this script if you were logged in.