• My Pages
  • Comments
  • Add Link
  • Subscribe
  • Subscribe User
  • Edit (Text)
  • Rename Page
  • Copy Page
  • Load Page
  • Save Page
  • Delete Page
  • Attachments
  • Check Spelling
  • Diffs
  • Info
  • Revert to this revision
  • XML
  • Render as Docbook
  • Print View
  • Raw Text
  • Delete Cache
  • Like Pages
  • Local Site Map
  • Remove Spam
  • Package Pages
  • Sync Pages

    This section outlines the goals used by your bot to manage how it will build troops - and what troops to build - as well as automated movement of troops between cities.

    KeepTroops

    Usage:

    keeptroops coord troops quantity

    Example:

    keeptroops OtherCity w:100k,s:400k,p:100k,sw:200k,a:400k 10k

    Default:

    none

    This goal will tell the bot to automatically send troops to another city when it reaches more than the amount you specify. For cities on the same account, you can use the city name, coordinates, or "any" for the destination. For cities on another account, you must use coordinates for the destination.

    In the example above, when ThisCity has more than 100k warriors, or 400k scouts, or 100k pikes, or 200k swords, or 400k archers then the bot will send extras to OtherCity in increments of at least 10k.

    When combined with Troop goals set higher than these amounts, the bot would continually queue troops to be sent to another city. This can be useful to stock or restock a war city or continually rebuild troops for a npc10 farming city.

    RequestTroops

    Usage:

    requesttroops coords troopType localAmount remoteAmount minBatch maxBatch

    Example:

    requesttroops any archer 200k 300k 10k 100k
    requesttroops WarCity scout 1m 10m 50k 100k

    RequestTroops works just like SendTroops, except in reverse.

    Requesttroops is used to instruct the bot to automatically request certain troops from certain destinations when the conditions specified are met. As an example, you can instruct a city that's trebbing for hero levels to request scouts automatically from your warcity, to maintain a level of scouts that allow continued attacks, without dropping your warcity too low on scouts.

    Since a picture speaks a thousand words...

    http://i.imgur.com/xGWmLWd.png

    Requesttroops tends to look more complicated than it is. The things to remember are as follows:

    • Coordinates to request from can be in either xxx,yyy or city name format including "any". In order to request troops, the coordinates/name must be on the same account. You can request from multiple cities by seperating the coordinates or names with a |. For example requesttroops WarCity|HubCity|FarmCity scout 1m 1m 10k 100k. You cannot exclude a specific city using !cityname.

    • The city to request from, troop type, local amount, and remote amount are required.
    • The minimum and maximum batch sizes are optional. If only specifying one number for the batch size, then it's considered to be the maximum amount NOT the minimum amount. If you do not specify either a maximum or minimum batch amount, then it will send as much or as little as it is able to send in order to keep the local and remote amounts correct.
    • You may use a * in place of numbers for the local or remote amounts or the minimum or maximum batch sizes, to indicate that the amounts don't matter.
    • The bot will not put the requesting city above the local amount. You must have BELOW this amount in order to have a request sent. The exception is in case you use a * for the local amount, then it will send regardless of the local amount.
    • The bot will not put the sending city below the remote amount. It must have ABOVE this amount in order to send some to the requesting city. The exception is in case you use a * for the remote amount, then it will send regardless of the remote amount.
    • If you specify a minimum batch and that amount would put the sending city below it's localAmount, or the receiving city above it's remoteAmount, then it will not send yet. It will wait until the batch size is ok to send. If you use a * for the minimum batch then the bot will send any amount it decides to.
    • If the receiving city is critically low on something (the bot considers 50% or less of the remoteAmount to be critically low) then it will ignore the minimumBatch and send less to get troops there faster.
    • The bot takes into account troops that will be arriving before the reinforcement could when calculating how much is needed at the receiving city.

    ReservedBarrack

    Usage:

    config reservedbarrack:[switch]

    Example:

    config reservedbarrack:1

    Switch:

    0 = off
    1 = on

    By enabling this, the bot will reserve 1 barrack in the city free of queues to use to build instant troops and to build the first of your Troop goal lines when under attack.

    SendTroops

    Usage:

    sendtroops coords troopType localAmount remoteAmount minBatch maxBatch

    Example:

    sendtroops any ballista 10k 5k 500 5k
    sendtroops TrebCity scout 100k 2m 50k 100k

    Sendtroops is used to instruct the bot to automatically transport certain troops to certain destinations when the conditions specified are met. As an example, you can tell the bot to send scouts from your warcity 50-100k at a time to your city that is trebbing so it doesn't run out of scouts to hit with, without bringing your warcity below a certain amount.

    Since a picture speaks a thousand words...

    http://i.imgur.com/YlDcWHt.png

    Sendtroops tends to look more complicated than it is. The things to remember are as follows:

    • Coordinates to send to can be in either xxx,yyy or city name format including "any". When using a city name, the destination must be on the same account. You can send to multiple cities by seperating the coordinates or names with a |. For example sendtroops WarCity|HubCity|FarmCity scout 1m 1m 10k 100k. You cannot exclude a specific city using !cityname.

    • The destination, troop type, local amount, and remote amount are required.
    • The minimum and maximum batch sizes are optional. If only specifying one number for the batch size, then it's considered to be the maximum amount NOT the minimum amount. If you do not specify either a maximum or minimum batch amount, then it will send as much or as little as it is able to send in order to keep the local and remote amounts correct.
    • You may use a * in place of numbers for the local or remote amounts or the minimum or maximum batch sizes, to indicate that the amounts don't matter.
    • The bot will not put the sending city below the local amount. You must have OVER this amount in order to send some. The exception is in case you use a * for the local amount, then it will send regardless of the local amount.
    • The bot will not put the receiving city above the remote amount. It must have BELOW this amount in order to send some. The exception is in case you use a * for the remote amount, then it will send regardless of the remote amount.
    • If you specify a minimum batch and that amount would put the sending city below it's localAmount, or the receiving city above it's remoteAmount, then it will not send yet. It will wait until the batch size is ok to send. If you use a * for the minimum batch then the bot will send any amount it decides to.
    • If the receiving city is critically low on something (the bot considers 50% or less of the remoteAmount to be critically low) then it will ignore the minimumBatch and send less to get troops there faster.
    • The bot takes into account troops that will be arriving before the reinforcements could when calculating how many are needed at the receiving city.

    TrainingHero

    Usage:

    traininghero heroname minstay maxstay npchits

    Example:

    traininghero BigGuy
    traininghero BigGuy 120
    traininghero BigGuy 120 2400 10

    This directive will tell the bot who your main training hero is for use in queuing troops. You can have a different traininghero for different towns, or the same one for all towns. This hero will be automatically moved by the bot to each town that lists it as its traininghero. By default the bot will remain for 10 minutes in each town. You can adjust this duration to stay by adding a time, in seconds, to the end of the line.

    In the first example above, BigGuy will stay in the town for 10 minutes to queue/farm before moving along.

    In the second example above, BigGuy will stay in the town for 120 seconds (2 minutes) to queue/farm before moving along.

    In the third example above, BigGuy would stay at least 120 seconds (2 minutes), and may leave the city after at least 10 npc hits are made, or at least 2400 seconds (40 minutes) have passed.

    The bot does not detect whether the traininghero is needed to queue in a town before sending it. If the traininghero is set up to farm npcs in the city, and a "0" is given as the optional npchits value, then the bot will not farm npcs in that town. It needs to be at least "1". Also if the traininghero is set up to farm npcs in the city and the remaining stay of the default 10 minutes or the configured maxstay time is less than the roundtrip travel time to the next npc for him to farm, he will still hit that npc even though it exceeds the maxstay. He will be moved to the next city upon returning from a npc trip that exceeds the maxstay time.

    The traininghero will farm npcs level 1-5 if the city is configured to farm them, unless he is told not to. You can exclude the traininghero from farming those npcs by adding or modifying the NpcHeroes goal:

    npcheroes !BigGuy,any
    or
    npcheroes 5 !BigGuy,any

    In the absence of any traininghero goal for a city, the best available attack score hero in that city will be used as the traininghero.

    Be sure not to set a town that is in 24-hour advanced teleport lockdown with your main traininghero, or it will get stuck!

    Troop

    Usage:

    troop troops_to_queue

    Example:

    troop p:1,sw:1,cav:1
    troop a:100000,b:5000,t:5000,warr:15000,wo:5000,p:5000,sw:5000,s:5000,cav:1000,cata:1000,ram:5,cp:5
    troop warr:50000,p:15000,sw:15000,s:50000,a:200000
    troop a:250000,s:100000,c:10000,cata:5000
    troop a:400000,s:200000,b:10000,t:10000

    Switch:

    /increment:[number]
    /queuetime:[hours]
    /idlequeuetime:[minutes]
    /usereserved:[%, where 1 = 100%]
    /usepopmax:[%, where 1 = 100%]

    Example:

    troop /increment:0.1 /queuetime:.5 b:5k,t:5k
    troop /usereserved:0 /usepopmax:1 a:100k
    troop /queuetime:.5 /usereserved:0 w:100

    This directive is how you tell the bot what troops to queue. The bot reads each line from left to right, top to bottom. The bot will not move on to the 2nd troop line until the 1st line is completed, and if at any point in time a previous line becomes invalid (e.g., you get attacked and lose all your pikes) the bot will drop back to the 1st incomplete line to finish that one first.

    Using the above examples, the bot will first build 1 pike, 1 sword, and 1 cavalry in that order. Once complete the bot will then build 100k archers, 5k ballista/trans, 15k warriors, 5k workers/pikes/swords/scouts, 1k cav/phracts, and 5 rams/pults. Once that's completed the bot will then build 50k warriors, 15k pikes/swords, 50k scouts, and 200k archers. Once that's completed the bot will then build 250k archers, 100k scouts, 10k cav, and 5k phracts. Finally, the bot will start building 400k archers, 200k scouts, 10k ballista/trans.

    If the bot is currently working on building the 4th line of troop goals above, and you get attacked and you lose all your cavalry and pike, the bot will stop queuing the 4th line and instead build 1 pike/cav again from the 1st line, then go to the 2nd line and build the 5k pike and 1k cav, then go to the 3rd line and build the 15k pike, then resume where it left off on the 4th line.

    The bot also allows switches to individual troop goal lines that will override the default and configured troop settings. If no switches are specified, the bot will use the configured goals for all troops, or the default settings if both are lacking. Default settings are as follows:

    Default queue time is 30 minutes, default idle queue time is 1 minute, default usepopmax is 0 (use only idle pop), default usereserved is 0 (it won't go below the reserved amounts), and default increment is 0 (off).

    By default the bot sets config troop:1 internally if you have any Troop goal lines present. If you wish to disable all troop building for a city temporarily, instead of adding a // or # to each Troop line, you can simply add config troop:0 to goals.

    The usage of each switch can be found on the wiki pages for each, i.e., TroopsUseReserved for /usereserved, TroopIncrement for /increment, TroopQueueTime for /queuetime, TroopIdleQueueTime for /idlequeuetime, and TroopsUsePopMax for /usepopmax.

    TroopDelBadQue

    Usage:

    config troopdelbadque:[switch]

    Example:

    config troopdelbadque:1

    Switch:

    0 = off
    1 = on

    By default, the bot will always use your TrainingHero to queue troops. If you do not have one set, the bot will attempt to use the highest attack hero available in the city. Sometimes you may queue manually, or lag may cause the bot to queue with the wrong hero. In this case, the bot recognizes the queue as 'bad' because it is not an optimal time to completion. With this enabled, the bot will sometimes cancel these queues (delete bad queue) so that it can replace them with good ones using the right hero.

    Do not enable this if you have instant troops stacked in the barracks behind deliberately slow builds that you plan to cancel when the instant troops are needed.

    TroopIdleQueueTime

    Usage:

    config troopidlequeuetime:[minutes]

    Example:

    config troopidlequeuetime:5

    When a traininghero is configured but not currently present, and there are idle barracks available, the bot can now use the best available hero to queue troops in small batches. This goal will set the amount of time per batch, in minutes, for the idle queue.

    The default value is currently 0 (disabled) for nonratio-based mode. In ratio-based mode (when config TroopIncrement:1) the default idle queue time is 1 minute.

    The bot will look at best available hero vs. traininghero for each troop type to decide whether to use idle production or regular. For example, if TrainingHero is 360 attack and best idle hero in town is 300 attack, both have 1-second warriors. If warriors need to be built, it will do the full amount with the available hero rather than building small amounts or waiting for the traininghero to arrive.

    Troopidlequeuetime:xx is how many minutes can be queued in the barracks in relation to what the traininghero would take. Example: config troopidlequeuetime:1. This means it will queue a batch size that will not take 1 minute longer than the traininghero would take to queue the same thing. This can mean larger queues for better heroes.

    TroopIncrement

    Usage:

    config troopincrement:[amount]

    Example:

    config troopincrement:1
    config troopincrement:.01
    config troopincrement:500

    By default, the bot will queue troops in the order you specify from left to right, on each sequential 'troop' line. By setting this goal, you can tell the bot to instead queue a percentage or specific amount of each troop on the line. For example, if your goals contained:

    • troop w:100000,s:100000,p:100000,sw:100000,c:100000,t:3500,b:3200,a:300000

    The bot will first train 100k warriors, then 100k scouts, and so on without troopincrement set.

    If given the line above and using config troopincrement:0.01, then the bot will instead queue 1000 warriors (1% of 100000) and then queue 1000 scouts (1%), continuing down the line until it runs out of resources, population, open barracks, or troops to queue, and then restarting at the beginning of the line to rinse and repeat until the entire line goal has been met.

    For the percentage challenged, the bot will also accept whole numbers as the actual amount to queue, e.g., config troopincrement:500. In this case the bot will queue 500 warriors then 500 scouts then 500 pike, continuing down the line, and then restarting at the beginning of the line to repeat until the entire line goal has been met.

    Note that the bot does work left to right in the current troop line with both percentage and whole number increments. If the traininghero stops queueing due to moving, lack of resources, lack of population, etc., then it will restart back at the beginning of that line to queue the whole number or percentage specified again. This means that you may finish the first several troop types on a line before it ever gets to start on the next several of that same line if the bot uses up all its available resources/population before all the barracks are filled.

    If config troopincrement:1 is set, the bot will enter ratio-based troop building. What this means is the bot will produce different types of troops simultaneously while trying to maintain the troop ratio as specified in the troop goal. The bot will maintain a balance in total percentage completed of the entire goal for every troop. This means all troops must be at an equal percentage of total completion, or it will focus on the troop(s) that are below that average percentage.

    Example 1: Suppose you have 50k warriors and 50k archers, and the bot works on the following goal:

    • # note the goal specifies that you want to have 2.5 times more warriors than archers
      troop w:2.5m,a:1m

    The bot will first build warriors until you have 125k of them (i.e., 2.5 times more than the number of archers). Once you have 125k warriors (already available + queued), the bot will start producing both warriors and archers while trying to maintain the ratio between warriors and archers at 2.5:1. By the time you have 200k archers, you will also have 500k warriors. At 400k archers you will have 1m warriors, and so on.

    Example 2: Suppose you had multiple lines like that:

    • troop a:100000,s:100000,c:2000
      troop a:200000,s:200000,c:4000
      troop a:300000,s:200000,c:6000
      troop a:400000,s:300000,c:8000
      troop a:500000,s:400000,c:10000

    With ratio-based production mode enabled you can replace the above with just one line:

    • troop a:500000,s:400000,c:10000

    If you lose some troops, the bot will automatically rebuild the ones you lost first due to them falling below the the total % completed in ratio to the rest of the troops completed, then continue with building all listed types of troops.

    TroopQueueTime

    Usage:

    config troopqueuetime:[hours]

    Example:

    config troopqueuetime:2

    This goal allows you to tell the bot how many hours per individual troop (each slot in each barrack) queue you want. It is recommended to adjust this number as your TrainingHero's attack attribute grows or number of barracks changes, so that the bot can utilize your population and time more efficiently. Default: If this is not set, the bot defaults to 15-minute queue times.

    TroopsUsePopMax

    Usage:

    config troopsusepopmax:[amount]

    Example:

    config troopsusepopmax:1
    config troopsusepopmax:0.5

    By default, the bot will only use your idle population to queue new troops. You can allow it to use your entire population, by dropping production temporarily, by setting this to '1'.

    The bot can also use a percentage of your total population by using a number lower than '1', e.g., config troopsusepopmax:0.5 (50%).


    CategoryGoals

    CategoryTroopGoals (last edited 2012-10-22 01:26:32 by Inanna)