With this goal enabled, your bot will buy and sell resources in an attempt to gain and keep the resources you need and want in your city, as specified with tradepolicy. Most buy and sell messages are hidden to reduce spam in the log window of the bot. You can view these trade messages by enabling the "Trading" debug logging in the Debug Settings tab. For detailed trading logs, enable "Verbose" also.
|Usage:||tradepolicy /type:[restype] /min:[amount] /max:[amount] /batch:[amount] [/allowselltomin] [/donotautosellabovemax]|
tradepolicy /type:wood /min:20m /max:30m /batch:500k
The bot will buy and sell resources to achieve the amounts specified in tradepolicy for each resource. In the example above, the bot will try to maintain at least 20mil lumber but no more than 30mil lumber, and will perform trading in batches of 500k at a time. The abbreviation "d" may be used to signify days, rather than quantities, for gold and food minimums and food maximums. For example, /min:10d would signify 10 days worth of food upkeep based on troops, or 10 days worth of gold salary based on heroes. Gold cannot have a /max setting.
Trading works in stages, using the following tradepolicy goals:
tradepolicy /type:gold /min:50m tradepolicy /type:food /min:2d /max:10b /batch:1m tradepolicy /type:wood /min:20m /max:30m /batch:500k tradepolicy /type:stone /min:500m /max:1b /batch:1m tradepolicy /type:iron /min:20m /max:30m /batch:500k
1st the bot will keep 50 million gold and never make resource bids that would put you below that.
2nd the bot will acquire and keep at least 2 days worth of food, 20mil wood/iron and 500mil stone in your city. It will sell excess (over /max) of something if you have it to get you back up to these minimum amounts at least. It will also spend all your gold that is over the 50 million minimum set above to buy a resource if you're below these minimums. If there is nothing extra to sell and no gold to spare, and if you have set the /allowselltomin switch, then it will sell other resource(s) over /min in order to buy a resource that is under /min. For example, tradepolicy /type:wood /min:20m /max:30m /batch:500k /allowselltomin.
3rd the bot will try to acquire and keep a maximum of 30mil wood/iron, 1bil stone, and 10bil food. Anytime a resource gets over /max, it will sell the excess off in order to bring the rest of your other resources proportionally up to /max. If every resource is at or above /max, then the bot will automatically sell resources as they get over /max. You can disable this automatic selling of resources over /max by adding the /donotautosellabovemax switch to the line. For example, tradepolicy /type:food /min:2d /max:10b /batch:1m /donotautosellabovemax. Note the bot will still sell resources over /max if another resource isn't maxed yet, even with this switch set.
The batch tells the bot how much to wait for to sell or buy at a time... so that it's not constantly spamming with small quantity trades, in this example the bot has to wait until it can buy or sell at least 500k or 1mil at a time, depending on the resource. If you go into emergency trade and need gold/food for comforting or refuge/revolt protection, it will sell as low as necessary and ignore the minimum batch. Do not set the batch too high on small/new accounts and expect the bot to be able to trade those amounts.
All /min settings are ignored in an emergency. Emergency is defined as gold under 24 hours worth of salary, and 30 minutes worth of troop upkeep in food.
|Usage:||resourcelimits food lumber stone iron|
|Example:||resourcelimits 2b 50m 2b 20m|
This directive is a stub for tradepolicy. It will internally set your goals to function in a manner similar to the original resourcelimits found in older versions of AutoEvony and YAEB bots.
This directive will instruct the bot how many of each resource you wish to keep in the city, so that it can buy and sell via config trade to achieve it. The bot is a powerful tool, but it is not a miracle worker. The bot will generally tend to sell down food and stone in order to buy lumber and iron, so be careful of giving it unreasonable settings.
This can be combined with tradepolicy to some extent. Place your resourcelimits goal line, and after it one or more tradepolicy lines to override the resourcelimits line for that specific resource. For example, since resourcelimits by default will set a very low internal gold tradepolicy, you could do:
// resource stuff config trade:1 resourcelimits 100b 20m 10b 50m tradepolicy /type:gold /min:500m
|Usage:||production food% wood% stone% iron%|
production 100 100 100 100
This goal sets the desired city production of resources for the city. You must use a number between 0 and 100. Troop production may adjust production rates down temporarily if permitted to via the goal config troopsusepopmax.
|Usage:||keepresource CoordOfOtherCity res_to_keep [quantity]|
keepresource 111,222 f:1b 50m
This goal will allow you to keep a specified amount of resources, and send all extra to another location. In the 1st example above, the bot will keep 1 billion food in this city, and if it gets extra it will send the extra to 111,222 in increments of at least 50 million. In the 2nd example above, the bot will keep 20 million lumber and 20 million iron, and send all extra to OtherCity in increments of at least 5 million.
Keepresource uses transports to send with, and will send as much over the "kept" amount as it has resources and transports available to send as long as it's at least the minimum quantity specified. If no quantity is specified, the bot sends any amount available.
This goal is being phased out in lieu of the newer and more powerful sendresources command.
|Usage:||sendresources coord type local_min remote_min remote_request [trooptype]|
sendresources OtherCity food 1b 100m 50m
Sendresources works much the same as keepresources, except it sends a specific resource to a specific city in a specific amount. A value of -1 may be used for one of the quantities to override the specific amount sent, or to disregard the local or remote minimum amount. A value of -2 in the remote quantity may be used to keep behavior more like the older keepresources goal. Multiple cities can be designated via the | symbol, ie: sendresources city1|city2|city3 food 1b 100m 50m. All cities can be specified via 'any', ie: sendresources any food 1b 100m 50m.
In the 1st example, the bot will send 50 million food to OtherCity if ThisCity has at least 1 billion food and OtherCity falls below 100 million food. Since no trooptype is set, the bot will default to sending with transports.
In the 2nd example, the bot will send 5 million wood to OtherCity and/or AnotherCity if ThisCity has at least 30 million and OtherCity and/or AnotherCity has under 20 million, and it will use cavalry to transport the wood.
When -1 is used for the remote_min amount, the bot will not check what the city to send to has first, and will instead send the requested amount every time it has enough in ThisCity to meet the local_min. By using -1 this way, the bot is able to send to coordinates on another account, for example from a feeder account to a main account. In the 3rd example above, the bot is told to send 50mil at a time to 111,222, as long as ThisCity has 1 billion.
When -1 is used for the sending quantity, the bot will send however much the city can send, limited only by the transports sending it. In the 4th example, the bot will send as much food as possible from ThisCity to OtherCity, until ThisCity falls below 1bil left, or OtherCity reaches the 100mil goal.
When -1 is used for the local_min, the bot will send the quantity to the destination when it falls below remote_min, regardless of the amount in the current city, until it runs out of resources. In the above 5th example, ThisCity will send batches of 50mil food to 'any' city you own if one falls below 100mil food, regardless of how much food is in ThisCity.
In the 6th example above, the bot will keep 1bil food in ThisCity and send all excess to 111,222 in batches of at least 50 million at a time.
|Usage:||requestresources coord type local_min remote_min remote_request [trooptype]|
food 100m 1b 50m
Requestresources works just like Sendresources, except in reverse.
In the 1st example above, the bot will request 50 million food from OtherCity if ThisCity has under 100 million food and OtherCity has at least 1 billion food. Since no trooptype is set, the bot will default to sending with transports.
In the 2nd example above, the bot will request 5 million iron from 111,222 if ThisCity has under 20 million iron, regardless of how much iron is in 111,222, and it will use cavalry to transport the iron.
The use of -1 and -2 parameters are possible with requestresources exactly as detailed above with sendresources.
|Usage:||warehousepolicy food% lumber% stone% iron%|
warehousepolicy 34 33 0 33
This allows the bot to adjust the amount of resources stored in the warehouse. The total amount cannot exceed 100%.