DeletedUser

Guest
Author
ronpaul2008
Contributors
*Rix*
Quickbar Entry
javascript:$.getScript('https://dl.dropboxusercontent.com/s/easpu2c1j2r710f/extremetwbalancer.js');
Public?
Public
Edit by mod
I fixed the problems with the send button not being clicked (TW changed so it didn't find the correct button anymore) and the popup blocking issue with this.

Code:
javascript:$.getScript('https://dl.dropboxusercontent.com/s/easpu2c1j2r710f/extremetwbalancer.js');

I rehosted the script since one of the problems causing the popup block is this script being hosted on an unsecured connection. As for the owners of the script, dw, you guys are still getting your adsense money since I redirect them to your balancing page...

Original post:



Hello everyone,

*Rix* and I have made a resource balancing tool that will help you to quickly and effectively balance your resources either among group of villages, or among all of your villages.

It uses this script to gather data about your villages (i.e. resources and available merchants) then run the data through a python algorithm.

Code:
javascript:function MarketMain(){var a=document;if(window.frames.length>0)a=window.main.document;var b=a.createElement('script');b.type='text/javascript';b.src='http://www.extremetw.com/rix/mb.js';a.getElementsByTagName('head')[0].appendChild(b)}function getGameDoc(winvar){getdoc=winvar.document;if(!getdoc.URL.match('game\.php')){for(var i=0;i<winvar.frames.length;i++){if(winvar.frames[i].document.URL.match('game\.php')){getdoc=winvar.frames[i].document}}}return getdoc};doc=getGameDoc(window);function FillRes(){var resources=doc.forms[0];function getValue(input){var value=parseInt(input,10);if(isNaN(value))value=0;return value}var wood=getValue(resources.wood.value);var clay=getValue(resources.stone.value);var iron=getValue(resources.iron.value);function OKClick(){var arrInputs=resources.getElementsByTagName('input');for(var idx1=0;idx1<arrInputs.length;idx1++){if(arrInputs[idx1].value.indexOf('OK')!=-1){arrInputs[idx1].click();break}}}function insertValues(){var URLargs=doc.URL.split("&");for(var i=0;i<URLargs.length;i++){var args=URLargs[i].split("=");if(args.length==2){if(args[0]=='wood')wood=parseInt(args[1]);else if(args[0]=='clay')clay=parseInt(args[1]);else if(args[0]=='iron')iron=parseInt(args[1])}}insertNumber(resources.wood,wood);insertNumber(resources.stone,clay);insertNumber(resources.iron,iron)}if(wood+clay+iron>0){OKClick()}else{insertValues()}}if(doc.URL.match(/clay=/)||doc.URL.match(/confirm_send/)){FillRes()}else{MarketMain()}

The algorithm figures out what villages need to send resources where, and spits out a page detailing this and links to help you get there.

Embedded in the links are the resources that need to be sent. Clicking each link takes you to the relevant market page with the target input.

At this point I copied functionality from some existing market scripts.

1. Click the script to enter in the resources embedded in the url.
2. Click the script again to automatically press the "ok" button.
3. On the confirm page, click the script again to send off your resources.

Enjoy!

Edit: I've set up a skype chat for people that need help.


Common Issues and Solutions:

1. You must allow popups from tribalwars. (Tribalwars doesn't use popups, so you shouldn't have to worry about getting any from tribalwars anyway.)
2. You must wait long enough for the production overview tabs to finish loading before pressing the script a second time. Fixed with v2
3. You must have your dynamic menu bar turned on. Fixed with v2


Version 2 Released! 10/28/09

*Rix* and I just released version two of the resource balancer. There is no need to update your script, but you might get access to the new one a day sooner if you clear your cache.

New Features:

1. The Resource Balancer will now work in a sat account.

2. Warehouse levels are now taken into account, to prevent a village from receiving more resources than it can hold.

3. Optional Advanced settings that enable you to only balance one resource, or choose to horde a certain amount of a resource in villages with a surplus of that resource.

4. Adding formatting to the village data submission page.

Bug Fixes

1. The script will now prevent you from clicking it again too soon before the village overview tabs finish loading.

2. The script should now always open the village overview pages that displays "ALL" villages in the selected group.

3. You no longer need to have your dynamic menu bar turned on to use the Resource Balancer.

Enjoy!

Edit Dec. 6th 2009

Version 3 Released!

*Rix* and I just released version three of the resource balancer. There is no need to update your script, but you might get access to the new one a day sooner if you clear your cache.

New Features:

1. You can now select an option that will send extra resources from your villages with more than 23,950 population, to villages with less than 22k population. Once a village has less than 22k population it receives more and more extra resources the lower its population actually is. This setting is ideal for players with many villages recruiting troops or under construction. **Please note that this setting currently negates the 'horde' settings.**

2. New stat totaling how many merchant transports listed on the output page.

3. New stat revealing how many fields your merchant transports will travel on average.

Upcoming Feature:

By popular request I am working on a feature to limit how far your merchants travel. Currently the resource balancer maximizes merchants per resource transport, in order to limit how many transports you have to send. The new feature will allow you to instead minimize merchant travel time, at the cost of more resource transports to send. (Hopefully there won't be too many extra.)

How will this feature work? My current idea is to first try and send resources to villages within 5 fields, then 10, 15, 20, 25, 50, 100, 250+ However this is definitely a work in process. Please post feedback and suggestions below.
 
Last edited by a moderator:
Upvote 1

DeletedUser

Guest
I've been searching for a script that does this for a long time now.. Thank you very much for taking the time out to do this for us all to benefit. It will no doubt save me a huge amount of time that I previously spent sending resources from place to place! :D

Great job guys and thanks again!!! :)
 

DeletedUser

Guest
just curious with frequent use what is the optimim market level?
 

DeletedUser

Guest
Well I have found a problem in the script.

It tried to send over 100k Iron to a village with a lvl 23 warehouse which holds 94k of each resource.

Other than that it works pretty well :O
 

DeletedUser

Guest
i would say lvl 20 market.

though i think you should, Recruit, Mint, and build villages, before you use the script, for it to work at it's best.
 

DeletedUser

Guest
I absolutely love this script.

Is there any way to make it work from within an account that you're sitting?
 

DeletedUser

Guest
i would say lvl 20 market.

though i think you should, Recruit, Mint, and build villages, before you use the script, for it to work at it's best.

thats what i thought but last couple of times the majority of marchants from each village used was 40-60
 

DeletedUser

Guest
thats what i thought but last couple of times the majority of marchants from each village used was 40-60

well, maybe i should have said, after using the balancer script, you should use the market offer script, to use up the remaining Merchant.
 

DeletedUser

Guest
Well I have found a problem in the script.

It tried to send over 100k Iron to a village with a lvl 23 warehouse which holds 94k of each resource.

Other than that it works pretty well :O



This is already fixed in the next version along with a number of other things.


I absolutely love this script.

Is there any way to make it work from within an account that you're sitting?

This too is fixed, we are just working out a few newly introduced bugs, give us a little time.
 

DeletedUser

Guest
thats what i thought but last couple of times the majority of marchants from each village used was 40-60

I personally use a lvl 20 market in all of my villages. My daily routine goes like this Queue Buildings --> Mass Recruit Troops --> Store Coins / Packets (saving two in each village) --> Resource Balance.

Whether or not you use all your merchants really depends on your resource levels, how many coins / packets you tend to save in villages, and whether or not you just completely emptied a village of resources via recruiting.
 

DeletedUser

Guest
Hey, this script seems to do exactly what I need;) But there is a problem, that was mentioned here, I'll describe it one more time:

1. I run the script --> 2 new windows --> run again --> get the window with coords and the "submit" button --> press "submit"

2. I'm redirected to the external page "extremetw.com" and get the list for my vills. So far so good. Now:

3. I klick on the link for a vill under the "resource sender" column and a new window opens where I'm directly in the market overview. I see the coordinates of the vill the resources shall be sent to, but there are no resources in the fields. So I run the script again in this window and nothing happens, the resource fields remain empty.

Tried it with opera 10 and FF 3, same problem. So what could I do to make it work?

Thanks in advance

P.S. does this script evaluate the distance in some way, so it tries to select nearby vills to balance the resources?
 
Last edited by a moderator:

DeletedUser

Guest
Hey, this script seems to do exactly what I need;) But there is a problem, that was mentioned here, I'll describe it one more time:

1. I run the script --> 2 new windows --> run again --> get the window with coords and the "submit" button --> press "submit"

2. I'm redirected to the external page "extremetw.com" and get the list for my vills. So far so good. Now:

3. I klick on the link for a vill under the "resource sender" column and a new window opens where I'm directly in the market overview. I see the coordinates of the vill the resources shall be sent to, but there are no resources in the fields. So I run the script again in this window and nothing happens, the resource fields remain empty.

Tried it with opera 10 and FF 3, same problem. So what could I do to make it work?

Thanks in advance

Sounds like you need to recopy the version for your quickbar, maybe it was truncated for some reason, if that doesn't work I will need to see the error in your console that you are getting, it'd be easiest if you caught one of us on the skype channel referenced in the first post. This was a problem for another person and we never posted the solution. Sorry about that.

P.S. does this script evaluate the distance in some way, so it tries to select nearby vills to balance the resources?

Not currently in the works, but has been suggested :)
 
Last edited by a moderator:

DeletedUser

Guest
Sounds like you need to recopy the version for your quickbar, maybe it was truncated for some reason

Thanks a lot, that fixed the problem. I've copied the script from the page and it works now.
 

DeletedUser

Guest
Version 2 Released!

*Rix* and I just released version two of the resource balancer. There is no need to update your script, but you might get access to the new one a day sooner if you clear your cache.

New Features:

1. The Resource Balancer will now work in a sat account.

2. Warehouse levels are now taken into account, to prevent a village from receiving more resources than it can hold.

3. Optional Advanced settings that enable you to only balance one resource, or choose to horde a certain amount of a resource in villages with a surplus of that resource.

4. Adding formatting to the village data submission page.

Bug Fixes:

1. The script will now prevent you from clicking it again too soon before the village overview tabs finish loading.

2. The script should now always open the village overview pages that displays "ALL" villages in the selected group.

3. You no longer need to have your dynamic menu bar turned on to use the Resource Balancer.

Enjoy!
 

DeletedUser62440

Guest
Very nice. Tried it today and it's very easy to understand. Now to create my k groups :(
 

DeletedUser

Guest
Awesome script, I have gone from making 2400 packets to 3500 a day in w19, imo one of the best scripts out there, very easy to use
 

DeletedUser54677

Guest
Version 2 Released!

*Rix* and I just released version two of the resource balancer. There is no need to update your script, but you might get access to the new one a day sooner if you clear your cache.

New Features:

1. The Resource Balancer will now work in a sat account.

2. Warehouse levels are now taken into account, to prevent a village from receiving more resources than it can hold.

3. Optional Advanced settings that enable you to only balance one resource, or choose to horde a certain amount of a resource in villages with a surplus of that resource.

4. Adding formatting to the village data submission page.

Bug Fixes:

1. The script will now prevent you from clicking it again too soon before the village overview tabs finish loading.

2. The script should now always open the village overview pages that displays "ALL" villages in the selected group.

3. You no longer need to have your dynamic menu bar turned on to use the Resource Balancer.

Enjoy!

As an added bonus, would it be possible make a 4th click close the tab? So it'd go:

1st click: enter resources
2nd click: click ok
3rd click: send resources
4th click: close tab
 

DeletedUser

Guest
Updated first post with news about an upcoming feature.

Upcoming Features!

We are currently working on a new optional advanced setting to send extra resources to villages with large amounts of farm space. Typically villages with large amounts of farm space require additional resources for troop recruitment. Please leave suggestions and feedback below about how you think this should work.

On average a village recruiting troops spends wood/clay/iron at a ratio of 33% 22% 45%. My current idea is to send extra resources in that ratio to villages with more than 5k of farm space. For example a village with a level 30 warehouse would then receive resources until it had 250k wood, 166k clay, 350k iron.
 
Last edited by a moderator:
Top