Wednesday, March 2, 2011

#labels Featured
#sidebar TableOfContents

=Current Notices=


110709


Alright, we've added all the new stuff to docs, including a snazzy new picture to visually illustrate the new UI. As previously mentioned, all changes are now color coded BLUE so that you can see what's changed and what's new. These areas will stay blue for a while so that veteran users can become familiar with where they lie in the docs.



Some of the most notable features that have been added or fixed can be found in the Changelog, but I would like to mention that we should be able to make it all the way through the night now! There are lots of new features, and everything that has been changed will be denoted by +++ for changes and ++ for new items in the sidebar navigator.



The current documentation is for v15.9 of Evobot, some features may not be available on older version of the bot.




Thanks,

Ionque



----


DISCLAIMER

Before you do anything, understand that we (the people that develop, contribute, and test) are in no way responsible for anything that may or may not happen while you use this tool. This includes, but is in no way limited to:



* Being Banned from Evony outright
* The unwanted usage of a Michelangelo Script while upgrading
* The undesired demolition of a level 10 structure
* The unnecessary loss of troops and resources
* Your inability to thoroughly read and understand the documentation presented to you.


While every effort is made to avoid such situations through testing and reporting, there can still be situations where issues arise. You use this tool at your own risk. If any of these or other issues occur, please inform people about it, and don't assume it's a known issue, at http://evonytalk.com/ --- Thank You.



----



=Introduction=
A part of evobot project is the job queue. This document provides a brief help on how to use the interface to queue
jobs. The job queue is where you will spend most of your time while using Evobot, understanding the commands through
the following documentation and examples will help you learn to script faster.



What Evobot does is to create an automated interface to the evony servers. This allows you to build and upgrade cities,
transfer resources, attack players and NPCs, find heroes and assist in medal hunting. What Evobot DOES NOT DO is change
players experience, prestige, honor, resource amounts, etc. It is not a cheat, by definition, it is a 3rd party program
that allows you to do mundane tasks while "offline" or "afk"



[#Current_Notices --Return to Top]



==How Does This Work?==
Well, we use the word scripting quite frequently, but at it's most basic level, we are more writing "macros" than
scripting. However, these macros are a little more advanced without specified parameters. So consider it somewhat of
a hybrid between scripted coding and macros written by you in a basic and plain language. You need not know how to
write a program, just how to say simple things like, "Upgrade barrack".



A macro is a basic command that will perform a basic function. These lines of script are a little more advanced
because they are "intuitive" in a way, and do not need to be told every single detail of what you want in order for
them to be preformed. They will, on the other hand, check for certain parameters prior to completing the script line.



IE: If you have 400 transports and 400 Ballista and two heroes and your script looks like this:




{{{
//=======================================
// Send out two attacks to two different
// Targets with 400 transports and 400
// ballista
//=======================================
attack 351,388 any t:400,b:400
attack 353,387 any t:400,b:400
}}}





The bot will send out the first attack with the specified troops selecting the first available hero, however, line 2
will not proceed until it "sees" that you have 400 transports and ballista available. Another thing to keep in mind,
if there isn't enough food for the journey, that might hinder your progress as well.



So now that we've explained a little bit about the bot and a tad about what it does, let's move on to the commands and
what you can do with them.



[#Current_Notices --Return to Top]



==UI Features==


Evobot Mainscreen Diagram



Special note on the UI, if you do not see a "Logged In Successfully" entered in the log output window, you are not logged in.
The UI of Evobot is streamlined for maximum usage with minimal clutter. There are plans to add (see wish list) minor
information concerning the over all game itself, but these are relatively low priority at the moment, but a few might
get bumped up a little with the addition of some of the new commands (such as the new ability to transport resources).
With that said, here the basics of the UI features:



[#Current_Notices Home]



===_ Pause/Resume _===
When Evobot is running, it will automatically attempt to relog you if you become disconnected. So you must use the
Pause feature to allow you to log into the normal game interface (IE 20.evony.com). Also, certain features such as
hero hunting can only be paused at the moment, unless the command has run through fruition.



Clicking on Resume will re-log you into the Evobot Interface and allow you to continue with your automation and
continue previously paused commands.



[#Current_Notices Home]



===_ Run Specified Line _===
This new addition to our UI will allow you to input two or three different scripts and then specify which line you would wish to
run. It shows the current line that is executing in the script. It can also be used to specify the line you want the bot to start from. This value is saved so the bot will pick up where it left off, even if you reset the browser window. IE: You have an attack script that is 10 lines long, and beneath that is an upgrade script that is 5 lines long. You may not wish to run the attacks, so if you input 11 in the box next to the Run/Stop/Save buttons, then when you click run, you are telling EvoBot to begin processing your script at line 11.



[#Current_Notices Home]



===_ Run/Stop/Save _===
Once you have written a script, you can then click RUN to start it up. The script will RUN until it completes, or
until you click STOP. Pressing the SAVE button will save the scripts as they are currently written in all cities so
that when you re-load Evobot, you can use them again. This can be a useful feature for NPC Farming scripts that you
use repeatedly every 8 hours. However, it is also good practice to create you scripts in NOTEPAD.EXE to have a back
up, as the SAVED scripts will not transfer to updated versions of Evobot.



[#Current_Notices Home]



===_ City Tabs _===
Each of your cities has it's own scripting window where you can add commands. You can be sending out attacks in
city 1, while upgrading all of your barracks in city 2. There isn't a global RUN button, so you will have to click
each tab and run each script as needed. Same goes for the STOP feature, however, pressing the pause button will pause
ALL SCRIPTS IN ALL CITIES until you resume. As a new introduction to the UI, city coordinates have been added to the
city name tabs to help when using some of the new commands, such as reinforce.



[#Current_Notices Home]



===_ World, Alliance and Private Chat _===
The default is alliance chat, which will allow you to chat with the people in your alliance while scripting or
waiting for scripts to complete. Clicking on Private Chat will show all private chats inbound and outbound, a
useful feature of this chat interface is "/R or /r" to reply to the person that just /whispered to you.

Added to the chat window is World Chat, remember that if you use world chat, you will use speakers



[#Current_Notices Home]



===_ City Resource Information _===
New to the UI is a block of information the contains all of the details of the active city tab, this information includes your
current idle population, your lumber, food, iron, stone and, of course, gold levels.



[#Current_Notices Home]



===_ City Troops Information _===
Another new addition to our family of City Information is the current troops station in the active city tab. You can see the
over all details of workers to catapults.



[#Current_Notices Home]



----


=Evobot Commands=
Evobot uses quite a number of commands and most all of them are written in a plain language that is both easy
to understand and easy to remember. You will come to understand that upgrade is time again, as well as attack.
These are not a computer language, rather something you might chat to your buddy with, "Hey, I am going to upgrade
cottages".



Ironically enough, the command to upgrade cottages is written as "upgrade cottage". Commands and their parameters
(conditions) are usually separated by a space, and will run sequentially (line by line, top to bottom). While all
commands and parameters are _not_ case sensitive, it is generally a good practice to use one or the other and not
to mix the two. In the examples to be listed, all will be lowercase.



[#Current_Notices Home]



----


==General Commands==
The following are extra commands to use in conjunction with the meat of your scripts. They will allow you to label
certain scripts sections so they can be looped or repeated. We will cover these general commands before getting too
far ahead of ourselves. If you don't completely understand the example given, chances are, you will once you read
about the command that it's complimenting.



[#Current_Notices Home]



===_ // or Hash Out _===
"//" without the quotes, allows you to add your own headers to certain parts of a script or to cancel certain parts
of a script without deleting it's command line, check the example below:




{{{
// Attack NPCs north of this city
attack 347,393 any t:400,b:400
attack 348,401 any t:400,b:400
attack 348,403 any t:400,b:400
attack 349,403 any t:400,b:400

// Attack NPCs south of this city
attack 350,402 any t:400,b:400
attack 353,403 any t:400,b:400
attack 353,400 any t:400,b:400
attack 355,403 any t:400,b:400
attack 355,404 any t:400,b:400

//Upgrade Barracks
upgrade barrack
repeat 5
//upgrade cottage
}}}



In this example, we are creating a header for two different attacks, and a header for an upgrade/repeat command. But
notice that I had used an upgrade cottage command. Perhaps due to resource constraints, I don't wish to upgrade those
right now, but since I don't want to have to re input this command, I simply hashed it out. Later I can remove the
// and the command will proceed normally.



[#Current_Notices Home]



===_ Label _===

Command: label

Syntax : label name

Example: label comfort; label raids; label kill




Coded Example:




{{{
//================================
// Attack 3 targets, then upgrade
// your barracks for the night
// loop the upgrade 5 times
//================================
attack 360,843 any t:400,b:400
attack 344,567 any t:400,b:400
attack 400,543 any t:400,b:400
label upgrade
upgrade barrack
loop upgrade 5
}}}



This is also another new addition to the command arsenal. Label doesn't label a command section per se, what it does
do is created a place holder for a loop command. Here are two examples of the usage. In this example, we attack 3
targets, and then perform upgrades to our barracks, then, since we aren't worried about making attacks again, we
loop only the barracks upgrade 5 more times.



[#Current_Notices Home]



===_ goto _===

Command: goto

Syntax : goto label

Example: goto upgrade; goto attack



Coded Example:

{{{
label medalfarm
attack 123,300 !Bubba,!Xavier,any t:400,b:400
goto trainarch
label upgradecot
upgrade house
repeat 2
label trainarch
train arch:2500 atk
goto upgradecot
}}}



This new command will allow you to jump to any label, anywhere in the script... our "macros" are starting to look more like actual
scripts now with this command... reminds me of programming on my old atari 800, if we ever incorporate a gosub command, I am going
to be in nostalgia heaven.




[#Current_Notices Home]




===_ Loop _===

Command: loop

Syntax : loop X; loop label X; loop X label

Example: loop 0, loop attack 5; loop 2 upgrade



Coded Example:




{{{
//===============================
// Upgrade everything in your
// city, as long as tech and
// resource requirements are met
//===============================
upgrade
loop

//===============================
// Upgrade your farms, sawmills
// and your ironmines, then
// repeat the process again
// 5 times
//===============================
upgrade farm
upgrade saw
upgrade iron
loop 5
}}}



The loop command is a feature that will repeat your entire script. And with the new addition of the LABEL command,
you can repeat part of the script.



A good thing to remember is that if you set your loop parameter to 0 (zero), or leave it blank, then it will attempt
to loop the entire script (or to the label place holder) indefinitely.



[#Current_Notices Home]



===_ Repeat _===

Command: repeat

Syntax : repeat X

Example: repeat 2; repeat 196; repeat 25



Coded Example:




{{{
//================================
// Attack 2 targets, then upgrade
// your cottages first, followed
// by your barracks
//================================
attack 245,325 Bubba arch:25000,warr:25000,t:1000
attack 222,324 any t:400,b:400
upgrade cottage
repeat 12
upgrade barrack
repeat 12
}}}



Repeat will simply repeat the previous line of script times the number specified as the parameter. Once it has
completed the count, it will begin the following line of script. In the example used above, the once the script is
run, it will attack 2 targets, and then upgrade your cottages 12 times before upgrading your barracks 12 times, then
the script will end.



[#Current_Notices Home]



===_ Sleep _===

Command: sleep

Syntax : sleep X

Example: sleep 60 (_1 minute_); sleep 500 (_5 minutes_); sleep 28800 (_8 hours_)



NEW EXAMPLES:




{{{
sleep 30 Sleeps the script for 30 seconds
sleep 2:45 Sleeps the script for 2 minutes 45 seconds
sleep 7:25:00 Sleeps the script for 7 hours, 25 minutes and 0 seconds
sleep @:15:45 Sleeps the script until 3:45pm local system time
}}}



*NOTE*: When sleeping until a local system time (your computer's clock), you must use a 24hr clock format, IE,
00:00 is midnight (12:00am), 01:30 is 1:30am, while 13:30 is 1:30pm. Understand that a 24hr clock format does not
require a ":" between the hour and the minute, however for the purposes of Evobot, it will. (Available on v15.8)
Thank you *Henrik* for the ability to parse time.



Coded Example




{{{
//================================
// March on 9 different NPC5s and
// sleep for 8 hours before
// marching again, loop
// indefinitely
//================================
attack 347,393 any t:400,b:400
attack 348,401 any t:400,b:400
attack 348,403 any t:400,b:400
attack 349,403 any t:400,b:400
attack 350,402 any t:400,b:400
attack 353,403 any t:400,b:400
attack 353,400 any t:400,b:400
attack 355,403 any t:400,b:400
attack 355,404 any t:400,b:400
sleep 28800
loop
}}}



The sleep command has been recently revamped to truly put the script to sleep for x number of seconds. It has plenty
of usages, but none better than for writing NPC raid scripts or medal hunting scripts.



For this example, so long as the following conditions are maintained:

You stay connected to evony using the bot

You have enough heroes, troops, food for the individual attacks

This script will launch 9 attacks every 8 hours, which, is when an NPC5 is completely regen'd on food and resources.
Until YOU physically stop the script. Even if you loose troops or a hero, the script will still continue to fire,
there will simply be a delay while waiting for the requirements to be met before sending out the delayed attack.



[#Current_Notices Home]



----


==Troop Commands==
Troop commands are exactly that, they tell your troops what to do and what not to do, where to go, who to transport
to. You use these commands every day, in Evobot, we simply spell them out.



[#Current_Notices Home]



===_ Attack _===

Command: attack

Syntax : attack xxx,yyy hero troop:XXX HH:MM:SS (or @:HH:MM 24HR Clock)

Example: attack 367,455 any t:400,b:400; attack 333,432 Bubba arch:25000,warr:25000; attack 223,321 any pike:10000,sword:10000 01:30:30



Coded Example:




{{{
//============================
// Attack a list of NPC5
// for food raiding
//============================
attack 356,387 any t:400,b:400
attack 356,388 any t:400,b:400
attack 356,390 any t:400,b:400
attack 356,392 any t:400,b:400
attack 354,390 any t:400,b:400
attack 351,394 any t:400,b:400
attack 353,389 any t:400,b:400
attack 353,391 any t:400,b:400
attack 352,391 any t:400,b:400
//
//============================
// Attacking with the new camp
// time feature
//============================
attack 325,322 Bubba arch:25000,warr:10000 @:13:30
// The above line attacks the target coordinates at
// 1:30PM, system time (your time)
attack 222,333 any t:400,b:400 2:30
// The above line attacks the target coordinates but
// adds a camp time delay of 2 minutes 30 seconds
}}}

The hero parameter has changed in such a way that you can now specify a list of heroes that can be either inclusive or exclusive in nature.
Listing is performed by comma and no spaces, a hero name proceeded by an exclamation mark will exclude that hero from the deployment type.
Refer to [#Hero Hero Syntax] for more information.



Attack is one of those commands that you will use every day at some point. And it's also one of those complex
commands... Behind the scenes, this is what's going on with Evobot:



Is there an open slot to march from?

Is there an available hero to march with?

Is there enough troops to march with?



That is just what Evobot checks, but of course, the game is still going to make sure that you have enough food
for the journey as well.



When Evobot encounters an _error_ in it's checks, it simply puts the attack command to sleep until the
requirements for the march have been met, then it launches the attack command. So if you have 10k warriors,
and your attack script calls to march 3 attacks @ 10k warriors each, the command will simply wait for the first
attack to return, then once the conditions are met, it will send out the next attack line.



Now again, the script isn't case sensitive, but spaces are. There can't be any spaces in the coordinates, or
after the ":" for the troop amounts. Valid arguments for troop types are as follows (_Please note that if you
have any issues with the "shorthand" version, the longhand version works fine_):




Valid Arguments for Troop Types
Abbreviated Verbose Evony calls it
wo worker Workers
w warr Warriors
s scout Scouts
p pike Pikeman
sw sword Swordsman
a arch Archers
NA cav Cavalry
NA cata Cataphracts
t tran or transport Transports
b balli Ballista
r ram Battering Rams
cp pult Catapults



[#Current_Notices Home]



===_ Build City _===

Command: buildcity

Syntax : buildcity xxx,yyy worker:250

Example: buildcity 234,423 wo:250; buildcity 400,234 worker:250



No Coded examples




This will send out workers to the specified location to build a city. This works the same as the attack
command, meaning it will perform a number of checks to verify the march can be sent. If for some reason it
can't, then the command will wait until the conditions are met.



[#Current_Notices Home]



===_ Abandon _===

Command: abandon

Syntax : abandon XXX,YYY

Example: abandon 312,400; abandon 23,100



Medal hunters never fear... ABANDON IS NOW HERE! Complete with action figure doll, clothing sold separately!



Seriously, we can now abandon valleys, the syntax is very easy to use, and you must use it carefully. If someone takes
the valley after you abandoned it, there could be some issues, keep tabs on it.



[#Current_Notices Home]



===_ Deploy _===

Command: deploy

Syntax : deploy marchtype xxx,yyy hero troop:xxx resource:xxx hh:mm:ss (or @:hh:mm 24hr clock time)

Example: deploy reinforce 239,324 none warr:25000 f:100000 1:22:32



This is a generic command where any of the other marching commands can be sent.




Valid Arguments MarchTypes
Abbreviated Verbose Evony calls it
atk attack Attack
bld build Build City
rei reinforce Reinforce
sct scout Scout




Valid Arguments for FoodTypes
Abbreviated Verbose Evony calls it
f food Food
w wood Wood/Lumber
i iron Iron
s stone Stone
g gold Gold



Valid arguments for troop types:

_Please refer to [#Attack Attack Command] _



Must be specified as (resource type):(amount),(resource type):(amount) No spaces between params.



Time can be expressed in hh:mm:ss or in local time when prefaced with @: so @:3:37 would sleep until
3:37 AM local time. When using @: the time must be specified in 24 hour time.



[#Current_Notices Home]



===_ Reinforce _===

Command: reinforce

Syntax : reinforce xxx,yyy hero troop:xxx resource:xxx HH:MM:SS (or @:HH:MM 24hr Clock)

Example: reinforce 256,324 none t:1000 f:999998 @:9:30



No Coded examples available



[#Current_Notices Home]




===_ Scout _===

Command: scout

Syntax : scout xxx,yyy hero scout:xxx

Example: scout 455,380 Bubba s:100000, scout 380,360 none scout:25000



No Coded examples available



[#Current_Notices Home]



===_ Transport _===

Command: transport

Syntax : transport xxx,yyy trans:xxx resource:xxx HH:MM:SS (or @:HH:SS 24hr Clock)

Example: transport 360,380 t:1000 f:999998



An important note to remember with transportation, if you try to send more than the transports can carry,
you will get an error, and the command will not function.



[#Current_Notices Home]



----


==City Commands==
City Commands have to do with exactly that, your city. These commands allow you to clean up your personal
report log, perform research, grab quest rewards and etc.



[#Current_Notices Home]



===_ train _===

Command: train

Syntax : train troop hero barrackid/all/idle minAmount

Example: train warr:25000 atk all; train arch:5000 Bubba idle



Coded Examples:



{{{
//========================================
// Trains warriors using everything you
// have, specifying your highest attack
// hero. It's ok to exceed the current
// idle population, the command will
// automatically determine how many can
// be trained.
//========================================
//
train warr:999999
//
//========================================
// Trains Scouts specifying an amount,
// any idle barrack, and a hero by name
//========================================
//
train scout:5000 Bubba idle
}}}


Valid arguments for the troop types can be found here [#Troop_Types Troop Types]



Training troops can be as specific or as vague as you wish it to be, as shown above, you can specify the hero you wish to utilize for the training process, a specific barrack to train them from, and how many you wish to train. A few points on the _train_ command:

* Your troop argument must be followed with a colon, and the number of troops you wish to train. train warr:300.
* You can exceed the idle population, the bot will simply train what is available to you based on idle population and resources
* Stating a specific barrack or only idle barracks can slow down your training.
* The hero currently occupying the Mayor office will be remembered and changed back to that hero, if you specify a hero to train with.

One aspect of training that I didn't specify much about was, what if you don't want to train only 15k troops? You wanted to train a total of 25k. At the end of the command line, there's (as shown in the Syntax) a minAmount argument for you. This means if you train warr:25000 any all 25000 and you don't have the resources or idle population to actually TRAIN 25000, then the command aborts.

For "online" help with train, type train help in the script window.



[#Current_Notices Home]



===_ listHeroes _===

Command: listHeroes

Syntax : listHeroes

Example: listHeroes



This command will list all of the available heroes that are currently station in the active city tab. It will
output this information as:


{{{
10:48:44 PM (111) - Running line 1
10:48:44 PM (111) - Name Status Lvl Pol Atk Int
10:48:44 PM (111) - Zora Idle 34 65 58 36
10:48:44 PM (111) - Murray Mayor 28 20 35 90
10:48:45 PM (111) - Finished script
10:48:45 PM Stopped
}}}




[#Current_Notices Home]



===_ listResources _===

Command: listResources

Syntax : listResources, listres

Example: listResources, listres



Will list a copy of the resources available in the active city tab, this information is also visible on the right side
of the EvoBot UI. It will output this information as:


{{{
10:49:18 PM (111) - Running line 1
10:49:18 PM (111) - Gold: 388,494
10:49:18 PM (111) - Food: 20,360,000
10:49:18 PM (111) - Wood: 117,728
10:49:18 PM (111) - Stone: 256,416
10:49:18 PM (111) - Iron: 235,616
10:49:19 PM (111) - Finished script
10:49:19 PM Stopped
}}}




[#Current_Notices Home]



===_ listPopulation _===

Command: listPopulation

Syntax : listPopulation, listpop

Example: listPopulation, listpop



Will list a copy of the available idle population currently in the active city tab, this information is also visible on the
right side of the EvoBot UI. It will output this information as:


{{{
10:49:36 PM (111) - Running line 1
10:49:36 PM (111) - Max: 82550
10:49:36 PM (111) - Current: 61912
10:49:36 PM (111) - Workers Needed: 18660
10:49:36 PM (111) - Idle: 43252
10:49:36 PM (111) - Direction: 0
10:49:37 PM (111) - Finished script
10:49:37 PM Stopped
}}}




[#Current_Notices Home]



===_ CleanNPCReports _===

Command: cleannpcreports

Syntax : cleannpcreports

Example: cleannpcreports



Coded Example:




{{{
//NPC Farming Raids
attack XXX,YYY any b:400,t:400
attack XXX,YYY any b:400,t:400
attack XXX,YYY any b:400,t:400
attack XXX,YYY any b:400,t:400
attack XXX,YYY any b:400,t:400
attack XXX,YYY any b:400,t:400
attack XXX,YYY any b:400,t:400
attack XXX,YYY any b:400,t:400
attack XXX,YYY any b:400,t:400
cleannpcreports
}}}



This command will go through your army attack reports and delete all attack and return reports for Barbarian
cities as well as Transport reports.



Use a command like this if you send out mass amounts of NPC farming attacks as in the example above.



_--[Note: You only need to add this command to the city with the longest march time against a target. This
command will clean all reports generated, not just the ones from the running city. There is no harm in having
this command after multiple city marches, but it only needs to be in one _



[#Current_Notices Home]



===_ Comfort _===

Command: comfort

Syntax : comfort comforttype

Example: comfort pray; comfort 1; comfort bless; comfort 4



Coded Example




{{{
//====================================
// Comforts the city run in, loops
// indefinitely, sleeps long enough
// to run command again without error
//====================================
//
comfort pray
sleep 900
loop 0
}}}



Performs one of the comfort commands in the city that it is run from. Comforting can be used for a wide
variety of things, but please note that the example above (will give the most prestige from a comfort action)
will cost a large sum of gold each comfort, depending on the over all size and population of that city.




Valid Arguments for ComfortTypes
Abbreviated Verbose Evony calls it
1 relief Disaster Relief
2 pray Praying
3 bless Blessing
4 poprise Population Raising



Either argument will work the same



[#Current_Notices Home]



===_ Levy _===

Command: levy

Syntax : levy levytype

Example: levy 1; levy food; levy 3; levy stone; levy 5



Coded Example:




{{{
//==============================
// Levy's Iron every 15 minutes
// Comforts the levy action
// every 15 minutes to keep
// loyalty from dropping
//==============================
//
levy iron
comfort relief
sleep 900
loop 0
}}}




Performs one of the levy actions in the city run from. Valid levy arguments are as follows:


Valid Arguments for LevyTypes
Abbreviated Verbose Evony calls it
1 gold Levy Gold
2 food Levy Food
3 wood Levy Wood
4 stone Levy Stone
5 iron Levy Iron



Either command works the same.

[#Current_Notices Home]



===_ Complete Quests_===

Command: completequests

Syntax : completequests questtype

Example: completequests daily; completequests routine



CompleteQuests will automatically complete any quests that you have available to complete, and receive
the awards that come from the quests. It can only be used in one city, you cannot have multiple instances
of the command running in others.



[#Current_Notices Home]



===_ setTaxrate _===
font face="courier">
Command: setTaxrate

Syntax : setTaxrate XXX, taxRate XXX

Example: setTaxrate 100, taxRate 50, setTaxrate 25, taxRate 15



Will set the tax rate of the active city tab to a variable between 0 and 100, percentage is implied. You cannot increase beyond 100%.



[#Current_Notices Home]



===_ Production _===

Command: production

Syntax : production food% wood% stone% iron% or production wood% stone%

Example: production 100 80 80 100; production 100 50



Coded Example:




{{{
//=================================================
// Sets the production for all resources as
// 100% Food; 80% Wood; 80% Stone; 100% Iron
//=================================================
//
production 100 80 80 100
//
//=================================================
// Sets the production rate for just wood and stone
// to 50% wood and 100% stone
//=================================================
//
production 50 100
}}}



Will set the production of food, wood, stone and iron in the city run from by changing the percentages
of workers used to produce each resource. You must use a number between 0 and 100 and there must be ONE
space between the command and each value changed.



Sets the resource production rate for the city.



[#Current_Notices Home]



===_ Check Research _===

Command: checkresearch

Syntax : checkresearch

Example: checkresearch



Prints out a list of research techs that can be researched in the city. This list is relative to the
city where the command is run, meaning CheckResearch will validate all of the tech and their requirements
then make sure that the city meets those requirements. Only the techs that have all of their requirements
met will be listed.



[#Current_Notices Home]



===_ Research _===

Command: research

Syntax : research techname or research speed/cost

Example: research compass; research quickest; research construction; research dearest



Coded Example:




{{{
//=================================================
// This script will research several techs, and
// each line will automatically sleep until it is
// able to perform the next line of command
//=================================================
//
research compass
research quickest
research info
research dearest
}}}



This command will perform a research of the valid tech argument in the city that it is run from.
As an option, you can run a checkresearch command to see what is available to you, this will allow you to
tailor the script to something that you are currently not researching, but this command is just a visual
for the end user, as the research command itself invisibly performs this check automatically.




Valid Arguments for ResearchTypes
Argument Description
quickest ...Selects the tech with the shortest research time.
cheapest ...Selects the tech with the lowest gold cost.
dearest ...Selects the tech with the highest gold cost.
agriculture ...Research Agriculture
lumbering ...Research Lumbering
masonry ...Research Masonry
mining ...Research Mining
metal ...Research Metal Casting
info ...Research Informatics
militaryscience ...Research Military Science
militarytradition ...Research Military Tradition
ironwork ...Research Iron Working
logistics ...Research Logistics
compass ...Research Compass
horseback ...Research Horseback Riding
archery ...Research Archery
stockpile ...Research Stockpile
medicine ...Research Medicine
construct ...Research Construction
engineer ...Research Engineering
machinery ...Research Machinery
privateer ...Research Privateering



[#Current_Notices Home]



----


==_ Create _===

Command: create

Syntax : create buildingtype

Example: create cottage; create forge; create barrack



Coded Example:




{{{
//=============================================
// Set your highest POL Hero in the mayors'
// slot to decrease build time, then
// Create 4 cottages, 4 barracks
//=============================================
//
setMayor pol
create cottage
repeat 4
create barrack
repeat 4
}}}




Create is used to build a building on an empty space, if there are no spaces to build, the create command
will attempt to create a building until there is one and eventually time out. The Create command will
automatically speed up the construction process for those buildings that are less than 5 minutes build time.
In other words, for those buildings, like a cottage, that can be instantly built, Create will do this.



The create command will perform several checks before it creates a building, it will first check to see if
another construction is underway and automatically sleep until that construction is done, it also checks for
resources, and if none are present, will sleep until they are.



Refer to the Appendix [#Building_Types Building Types] for valid arguments for this command.



[#Current_Notices Home]



===_ Demo _===

Command: demo

Syntax : demo buildingtype levelX

Example: demo cottage; demo forge level10; demo saw highestlevel



Coded Example:




{{{
//======================================
// Demo 5 Cottages from a level 10 NPC
//======================================
//
setMayor pol
demo cottage level10
repeat 5
demo cottage
repeat 45
}}}



The demo command will demolish a building by one level at a time, you cannot use dynamite with this
command. It is also important to note that you must specify the demolition of
a level 10 building, either by using the level10 argument or highestlevel 10. As with the upgrade command,
demo will not do anything to a level 10 building unless specifically told to do so. The above example will
demo 5 cottages to level 9, the proceed by demo'ing these cottages to the ground.



Another way of doing this is using the highest/lowestlevel building argument, and making sure that you
repeat command only repeats enough times to accommodate 5 level 10 cottages.



Refer to the Appendix [#Building_Types Building Types] for valid arguments for this command.

Refer to the Appendix [#----[Building_Policies Building Policies] for valid arguments for this command.



[#Current_Notices Home]



===_ Upgrade _===

Command: upgrade

Syntax : upgrade buildingtype levelX

Example: upgrade cottage; upgrade barrack level8; upgrade farm lowestlevel



Coded Example:




{{{
//============================================
// As long as you have the tech levels and
// the resources, this command will upgrade
// everything in your city to level 9
//============================================
//
setMayor pol
upgrade
loop
//
//============================================
// Upgrade your 5 lowest level cottages
//============================================
//
upgrade cottage
repeat 5
//
//============================================
// Upgrade a cottage to level 10
//============================================
//
upgrade cottage level9
}}}



The upgrade command works the same as it does in the game, with the except that it will STOP upgrading
at level 9, unless specified to a higher level. You can simply use a valid building type and the upgrade
command will automatically perform an upgrade on the lowest level building type specified that you have.
Or you can specify to preform upgrades on specific building levels with the usage of either the levelX
argument or highest/lowestlevel argument.



Refer to the Appendix [#Building_Types Building Types] for valid arguments for this command.

Refer to the Appendix [#Building_Policies Building Policies] for valid arguments for this command.



[#Current_Notices Home]



==Hero Commands==
There aren't many hero commands to actually use, but the two that are here are very powerful indeed.
From spending gold to find that strongest and rarest jewel of a hero to making sure that your highest
level attribute hero is in office for the specified task, these commands here can be invaluable.



[#Current_Notices Home]



===_ Find Hero _===

Command: findHero

Syntax : findHero stat min_stat#

Example: findHero atk 70; findHero pol 75; findHero int 72



Valid command line arguments for findHero are pol for politics, atk for attack and int for intelligence.



This command will find heroes that you specify based on an attribute and a value for that attribute (labeled
as the stat and min_stat# arguments in the syntax). We recommend that you use a level 1 Inn for the best
results, as anything higher than a level 1 Inn will increase the amount of gold spent to find heroes.
And even at a level 1 Inn, you must be aware that you spend a large sum of gold in the
duration of the process.



Currently, the above examples are the only way to find heroes, however, there is a proposed idea (and
in the works) to demolish and create a level 1 Inn in order to refresh the hero listing, thus spending
a meager amount of resources instead of a large quantity of gold. This process has yet to be implemented
as of yet.



While findHero has been refined over the last few releases, it will rarely hire a sub-standard hero.
When this happens, simple fire the hero and start over. Also, there hasn't been a way to effectively turn
this feature off, you can do so manually by pausing your script (with the pause button) or reloading the
bot by refreshing the page and re-logging.



The command will continue to run in the background (you can do many other things while this command is
running which won't interfere) until you run out of gold, or you successfully fill up your Feasting Hall.



Please note, that because of the new changes to Evobot and findHero now working so
much faster than it had done in the past, if you use this in the background of sending out attacks, you will screw up your
attacks. If you want to get an idea of what I am talking about, use this script:



{{{
verbose on
findHero atk 70
}}}




Watch the output in the log window... then you will understand why we advise against using this command in an
"active attacking city"



[#Current_Notices Home]



===_ setMayor _===

Command: setMayor

Syntax : setMayor stat

Example: setMayor pol; setMayor atk; setMayor int; setMayor remove



Valid arguments for setMayor are pol for politics, atk for attack and int for intelligence.



This command will change your current mayor for one of the specified attribute. It automatically selects
the highest level of the attribute that you specify (stat is the label for the attribute argument).



This is very useful when creating, upgrading and demolishing buildings, as you can specify the highest
level politic hero you have to go into office. Capturing a level ten and only have a level 9 Feasting
hall in one city? You can remove the mayor with this command to make sure he marches with the rest of the
troops.



[#Current_Notices Home]



===_ setMayorbyname _===

Command: setMayorbyname

Syntax : setMayorbyname HeroName

Example: setMayorbyname AT150; setMayorbyname Bubba; setMayorbyname Ike



This new command will allow you to specify the Mayor you wish to assign by hero name.



[#Current_Notices Home]



----


=Appendix A: Command Line Arguments Reference=
A complete listing of command line arguments used with the commands detailed previously.



[#Current_Notices Home]



==Syntax Reference==
While it is good practice to either code all uppercase or all lowercase (never mixing the two), Evobot
is not case sensitive. However here is a small list of things that Evobot is
sensitive to:




{{{
Spacing... ... Watch spacing correctly, an extra space will cause your script to fail
Punctuation ... Common mistakes are made with the colon and semi-colon (: and ;), make
sure that you are using the correct one, as it will cause a fail
Spelling... ... This is primarily for the arguments, like attack is atk, not att, but
your primary commands must be spelled correctly as well.
}}}



[#Current_Notices Home]



==Building Types==
Reference material for the [#Construction_Commands Construction Commands]



[#Current_Notices Home]




===_ Building Arguments _===
Reference material for the [#Construction_Commands Construction Commands]



Where a "." means there's not a single letter abbreviation. A space between single letters indicates
more than one letter for the abbreviation.




Valid Arguments for BuildingTypes
Name Abrv Verbose Old Verbose New
Academy a academy NA
Barrack b barrack NA
Beacon Tower be sentry_building beacon
Cottage c / h cottage house
Embassy e embassy NA
Feasting Hall fh / hm heros_mansion feasting
Forge fo / bl blacksmith forge
Farm Land f / fl farm_land farm
Sawmill s / l / saw lumber_mill / lumber sawmill / saw
Quarry q stone_mine / stone quarry
Iron Mine i iron_mine iron
Inn NA tavern inn
Market Place m market NA
Rally Point r / tf trainning_feild rally
Relief Station rs / ts transport_station relief
Stable st stable NA
Town Hall t town_hall town
Town Walls w wall NA
Warehouse wh warehouse NA
Workshop ws workshop NA


Arguments used with create, upgrade, demo commands

_Some items are misspelled, this isn't the result of a poor spell checker on our part, you hard(ly) working team of developers at Evony.com managed to let these slip through the crack_




Again, there are spaces between multiple items that do the same things, IE, for the sawmill, valid arguments
are s, l and saw (seperate) not s l saw. All of these arguments should work fine, if the single/double letter
abbreviations do not work, use the longer versions of the argument and that should work fine.



[#Current_Notices Home]



===_ Building Policies _ ===
Reference material for the [#Construction_Commands Construction Commands]



Building Policies are for defining arguments of level, in such, these are the building policies that can be
used for the label *levelX* listed in the syntax usage of each construction command. (Currently, there are
no options for the create command, it defaults to the first available "lot" to
create a building):




{{{
levelX whereas you input a desired level between 1 and 10 (IE level1; level5) with no space
--Used with upgrade command
--Used with demo command

lowestlevel whereas you input the desired "up to that" level in place of X (optional).
This policy selects buildings that are the lowest levels to perform the
argued command (IE upgrade cottage !lowestlevel) (must have space)
--Used with upgrade command
--Used with demo command

highestlevel whereas you input the desired "up to that" level in place of X (optional).
This policy selects buildings that are the highest levels to perform the
argued command (IE demo cottage !highestlevel) (must have space)
--Used with upgrade command
--Used with demo command

X Optional augment for policy arguments, it allows to specify a level to be
equal to or greater than/less than the desired level to be upgraded or
demolished.
-level level10 will demo to level 9, it will upgrade to level 10 using a mich script
}}}



Level specification now has abbreviations, you can now use hi for highestlevel, lo for lowest level and le for level.




++ Using highestlevel or level10 arguments will utilize a mich script when used with the upgrade command.

++ The only way to demolish a level 10 building is to use highestlevel or level10



[#Current_Notices Home]



==Troop Command Arguments==
Options and arguments used with the [#Troop_Commands Troop Commands]



[#Current_Notices Home]



===_ Troop Types _===



Valid Arguments for Troop Types
Abbreviated Verbose Evony calls it
wo worker Workers
w warr Warriors
s scout Scouts
p pike Pikeman
sw sword Swordsman
a arch Archers
NA cav Cavalry
NA cata Cataphracts
t tran or transport Transports
b balli Ballista
r ram Battering Rams
cp pult Catapults



Used with various marching commands referenced to [#Troop_Commands Troop Commands]



[#Current_Notices Home]



===_ March Types _===



Valid Arguments MarchTypes
Abbreviated Verbose Evony calls it
atk attack Attack
bld build Build City
rei reinforce Reinforce
sct scout Scout



Used with [#----[Deploy Deploy] commands



[#Current_Notices Home]



===_ Hero _===



The hero parameter has changed in such a way that you can now specify a list of heroes that can be either inclusive or exclusive in nature.
Listing is performed by comma and no spaces, a hero name proceeded by an exclamation mark will exclude that hero from the deployment type.


{{{
any ... ...chooses first available hero to march with
name... ...chooses the specified named hero (IE Bubba) to march with
(If there are multiple heroes with the same name, then the
first available hero with that name marches first)
none... ...specifies that no hero is needed for this march type
(will return error if there is a hero needed for the march)
name,name,name... ...creates an inclusive list of heroes to choose from
!name,!name,!name... ...creates an exclusive list of heroes to leave out
}}}



Used with various [#Troop_Commands Troop Commands]



[#Current_Notices Home]



===_ Resources _===



Valid Arguments for FoodTypes
Abbreviated Verbose Evony calls it
f food Food
w wood Wood/Lumber
i iron Iron
s stone Stone
g gold Gold



Used with various marching types, [#Deploy Deploy], [#Reinforce Reinforce], [#Transport Transport]



[#Current_Notices Home]



==City Command Arguments
==
For use with various [#City Commands City Commands]



[#Current_Notices Home]



===_ Comfort and Levy Arguments _===
Valid Comfort Arguments for Comfort:




Valid Arguments for ComfortTypes
Abbreviated Verbose Evony calls it
1 relief Disaster Relief
2 pray Praying
3 bless Blessing
4 poprise Population Raising



Valid levy arguments are as follows:




Valid Arguments for LevyTypes
Abbreviated Verbose Evony calls it
1 gold Levy Gold
2 food Levy Food
3 wood Levy Wood
4 stone Levy Stone
5 iron Levy Iron



Used with [#Comfort Comfort] and [#Levy Levy] commands.



[#Current_Notices Home]



===_ Research Arguments _
===



Valid Arguments for ResearchTypes
Argument Description
quickest ...Selects the tech with the shortest research time.
cheapest ...Selects the tech with the lowest gold cost.
dearest ...Selects the tech with the highest gold cost.
agriculture ...Research Agriculture
lumbering ...Research Lumbering
masonry ...Research Masonry
mining ...Research Mining
metal ...Research Metal Casting
info ...Research Informatics
militaryscience ...Research Military Science
militarytradition ...Research Military Tradition
ironwork ...Research Iron Working
logistics ...Research Logistics
compass ...Research Compass
horseback ...Research Horseback Riding
archery ...Research Archery
stockpile ...Research Stockpile
medicine ...Research Medicine
construct ...Research Construction
engineer ...Research Engineering
machinery ...Research Machinery
privateer ...Research Privateering



For use with the [#Research Research] command.



[#Current_Notices Home]



----


=Appendix B: Common scripts
=
This section contains common scripts to perform certain tasks using Evobot. Please be sure to filter these
scripts using NOTEPAD before placing them in the Evobot scripting window!



[#Current_Notices Home]



==Common Attack scripts==
===_ Attacking NPCs _===
Copy between the headers of the code below for your script and modify that script to specify your own
coordinates, hero, and troop levels (all heroes are assumed to be 70 in attack or better)




{{{
//=========================================
// Commonly used to attack level 1 NPCs
//=========================================
//
attack XXX,YYY any b:50,t:50
//
//=========================================
// Commonly used to attack level 2 NPCs
//=========================================
//
attack XXX,YYY any b:100,t:100
//
//=========================================
// Commonly used to attack level 3 NPCs
//=========================================
//
attack XXX,YYY any b:200,t:200
//
//=========================================
// Commonly used to attack level 4 NPCs
//=========================================
//
attack XXX,YYY any b:300,t:300
//
//=========================================
// Commonly used to attack level 5 NPCs
//=========================================
//
attack XXX,YYY any b:400,t:400
//
//=========================================
// You may need to increase or decrease
// these values based on your heroes ATT
// and your technology requirements.
// These are common commands used to
// attack these types of NPCs, and are NOT
// guaranteed to NOT have troop losses
//=========================================
}}}



More Content to be added later.



[#Current_Notices Home]




==Common Town Building/Upgrading Scripts
==
===_ Demolishing 5 Cottages and Replacing with 5 Barracks _===



{{{
//=========================================
// Used with any cities, useful in level
// 10 NPCs that have been cap'd
//=========================================
//
setMayor pol
demo cottage level10
repeat 5
demo cottage
repeat 45
create barrack
repeat 5
upgrade barrack
repeat 45
//
//=========================================
// Demo 5 cottages and build 5 barracks,
// upgrading them to level 9
//=========================================
}}}



If at any time your mayor levels up or you wish to switch mayors with higher politics, simply pause
the bot and change them out or level up your current mayor.



[#Current_Notices Home]



===_ Upgrade EVERYTHING _
===
This script will not instantly upgrade everything in your city, but it will upgrade everything in
there, one building at a time, starting with the lowest level building and working up to your highest
level. It will stop at level 9 for everything.




{{{
//=========================================
// You must have the technology and
// building requirements met, and you must
// have enough resources
//=========================================
//
setMayor pol
upgrade
loop
//
//=========================================
// Only works on existing buildings
//=========================================
}}}



[#Current_Notices Home]



==Common City Scripts
==
===_ Move Hero from one city to another to train _===



{{{
//=========================================
// Run from starting city
//=========================================
train trooptype:XXX atk
reinforce XXX,YYY atk scout:1

//=========================================
// run from next city
//=========================================
train trooptype:XXX atk
reinforce XXX,YYY atk scout:1

// modify this script and add as many as you
// need to, to send your highest attack hero
// to each of your cities to train your
// troops
// *** This will FAIL if your Feasting hall
// is already FULL of heroes
}}}



[#Current_Notices Home]



===_ Common Research Scripting _
===



{{{
//=========================================
// Simple research command to make sure you
// have a high INT hero before researching
//=========================================
//
setMayor int
research compass
// replace compass with anything you wish to research
setMayor pol
// replace your int mayor with your highest pol mayor
}}}



[#Current_Notices Home]



===_ Common Comfort/Levy scripts _
===



{{{
//=========================================
// Praying for prestige
//=========================================
//
levy gold
comfort pray
sleep 900
loop 0
//
//=========================================
// Disaster Relief and 100% Tax Rates
// ** Set your taxes to 100% while in the
// game client, then log in with the
// bot
//=========================================
//
comfort relief
sleep 900
loop 0
//
//=========================================
// Overnight (or work day) resource levy
//=========================================
//
levy wood
// replace wood with any valid argument for this command
comfort relief
sleep 900
loop 0
}}}



[#Current_Notices Home]



----


=Appendix C: Common Checklists (Do and Don't)
=


==Common Sense Items==


* When running NPC raids on multiple targets, make sure your bot was loaded after all the heroes and troops were in the city, if not reload the bot, because it might hang, thinking the troops aren't there.
* Also, verify your coordinates before you march, it is easier to correct this while in the game client than to attempt to recall 45 marches after they have been sent.
* When using commands such as _transport_ make sure you...
* are not trying to send more resources than possible given your tech/xport method
* Verify the coordinates you are sending to before marching
* Before starting a large upgrade project, make sure you have enough resources in the city first.
* If you didn't see a "Logged in successfully" in the logs window to the left, you aren't logged in.
* Unless you are gift wrapping a city for someone else, never use a levy command alone!
* There isn't an argument for applying a war banner for a march... so don't attempt to send out more troops than you have marching slots for or levels for (don't trying marching 125k warriors from a Level 10 Rally Spot)
* Be discreet in your usage of this program while online.
* When something appears to be broken, post it @ evonytalks.com. Don't assume that we know there's an issue. You might be the first to have found something overlooked.
* Don't look a gift horse in the mouth... we assume no responsibility for your computer blowing up, your cat getting pregnant, being banned from Evony, IRS knocking at your door or your keyboards sticky keys... These are your responsibilities.
* DON'T DOWNLOAD UNOFFICIAL RELEASES OF EVOBOT FROM ANYWHERE. DON'T DOWNLOAD BETA COPIES THAT HAVEN'T BEEN RELEASED. DON'T ASKED QUESTIONS ON THE BEHAVIOR OF A CLONED OR MODIFIED BOT OR A BETA RELEASE AS YOU WILL GET NO ANSWERS.

Have fun!


More Content to be added Later



[#Introduction Home]