A Few years back Romulus introduced a new “Global Goals” feature to NEATBot so that goals could be globally loaded from .txt files instead of copy and pasting them in every city tab of your accounts. This is an awesome feature and has saved me countless hours of time, however, it seems many people cannot understand how they work. NeatPortal put out Global Goal instructions here but since many of my bot-capable alliance members don’t understand, I assume many others out there don’t get it either. Allow me to try and explain NeatBot Global Goals in my own words so that more of you understand.
Note: For this guide, I’m NOT going to show you an entire goal due to size constraints and the distraction it would be. I’m going to keep the goal at a bare-minimum JUST as an example, keep this in mind.
NEAT.exe Location and Enabling Global Goals
Global Goals are set from one or two .txt files named “PrependGoal.txt” and “AppendGoals.txt” automatically when the NEATBot logs in. In order to make NEATBot use the global goal .txt files, you MUST place in the same location/folder as the NEAT.exe bot you run and NEATbot will automatically load them – This is the reason the folks at NeatPortal/NEATBot have always said to place your bots in a folder called “Bots” OR “NEAT” somewhere on your computer instead of just running them from your “Desktop” or “Downloads” folder – I recommend a folder named NEAT in your main hard-drive, such as “C:/NEAT”.
If your NEATbot isn’t running neatly from it’s own folder, fix that mistake now and update your TheDirector before continuing.
PrependGoals.txt and AppendGoals.txt Explained
You probably wonder why there are two global goal .txt files when the bot’s city tabs only have one goal section for just one goal to be entered. Global Goals are just regular goals split into two sections, with some modifications, so that the city tabs goal sections can still function usefully.
Here’s how it works:
NEATBot Logs in —> auto loads “PrependGoal.txt” if found —> loads City Tab goals like usual —> auto loads “AppendGoals.txt” if found —> Login is Complete
This is why you don’t have to use both a PrependGoals file and an AppendGoals file, they are both optional. You could just take a goal like the one below that you normally use, save it as either “PrependGoals.txt” OR “AppendGoals.txt”, put it in your NEAT.exe bot folder, and it would work just fine.
Regular (Non-Global) Goal Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
//--------------------- // Regular Goal //--------------------- //---- Main Settings.. traininghero evonyhookups 300 900 3 //---- Troops.. troop wo:1,w:1,s:1,p:1,sw:1,a:1,c:1 troop b:2.5k,t:2.5k troop wo:105k troop w:10k,s:10k,p:1k,sw:1k,a:10k troop a:120k,wo:105k,w:160k,s:105k,t:20k,p:15k,sw:10k,c:10k,cata:5k,b:3.6k troop c:105k,t:25k,w:300k,s:505k,r:250,cp:125 troop a:505k,b:25k,r:10k,cp:25k,t:40k,p:50k,sw:25k,w:305k //---- Farming.. config npc:1 npclimits 10 a:505k npclimits 9 a:505k npclimits 8 w:305k npclimits 7 w:305k npclimits 6 w:305k npcheroes 10 any:att=best npcheroes 9 any:att=best npcheroes 8 any:pol=best npcheroes 7 any:pol=best npcheroes 6 any:pol=best npcheroes 5 any:bse>60 npcheroes 4 any:bse>60 npcheroes 3 any:bse>60 npcheroes 2 any:bse>60 npcheroes 1 any:bse>60 npctroops 10 a:88k,s:3k,t:2k,w:7k npctroops 9 a:83k,s:3k,t:2k,w:7k npctroops 8 w:80000,t:1100 npctroops 7 w:65000,t:850 npctroops 6 w:50000,t:600 npctroops 5 b:450,t:400 npctroops 4 b:350,t:300 npctroops 3 b:200,t:100 npctroops 2 b:90,t:50 npctroops 1 b:30,t:20 //---- Valleys.. config hunting:4 valleylimit a:505k valleyheroes any:att<best,pol<best valleytroops 10 w:200,s:1,p:1,sw:1,a:25k valleytroops 9 w:100,s:1,p:1,sw:1,a:20k //---- Trade.. config trade:3 tradepolicy /type:gold /min:50m tradepolicy /type:food /min:305m /max:305m /batch:9m /donotautosellabovemax tradepolicy /type:wood /min:10m /max:15m /batch:9m /allowselltomin /donotautosellabovemax tradepolicy /type:stone /min:5m /max:50m /batch:9m /allowselltomin /donotautosellabovemax tradepolicy /type:iron /min:10m /max:15m /batch:9m /allowselltomin /donotautosellabovemax //---- Other Config.. config hero:21 config fasthero:69 config trainpol:1 config trainint:1 //--------------------- |
HOWEVER, you wouldn’t have much ability to tweak some of the accounts into doing things differently without using BOTH PrependGoals AND AppendGoals.
Allow me to further explain.
Some goal lines can only be set once per goal, such as:
1
config npc:1
1 |
config npc:1 |
If you set
config npc:1 in PrependGoals.txt, but then in your City Tab you have
config npc:5 –
Because the city tab is set AFTER the PrependGoals,
config npc:5 would override
config npc:1 in the NEATBot’s memory and your city would only farm level 5 NPCs.
All is well then, right?
Some goal lines, though, can be set more than once, such as:
1
npcheroes 10 any:att=best
1 |
npcheroes 10 any:att=best |
If you set
npcheroes 10 any:att=best in your PrependGoals.txt, but then in your City Tab you add
npcheroes 10 any:att>=220,att<best –
Because you can have multiple lines of “npcheroes 10” in a goal, both
npcheroes 10 any:att=best and
npcheroes 10 any:att>=220,att<best would be loaded into NEATBot’s memory and your city would not only use the best attack hero to farm level 10 NPCS, it would ALSO use any attack hero that isn’t the best attack hero with 220 or more attack points to farm level 10 NPCs as well!
So what if you want JUST attack heroes over 220 but NOT the best attack hero to farm lvl 10 NPCs in just this city?
Continue reading to find out.
Preparing Regular Goals to be Used as Global Goals
As mentioned before, a regular goal needs to be split up into two separate goals with slight modifications in order to be properly utilized by NEATBot’s Global Goal feature. It’s actually a very simple process and there’s only one extra goal line/feature you need to learn first –
How to set “Static Variables” in NEATBot Goals:
1 2 |
set variable value %variable% |
Setting static variables, also called “False Variables” and “Static Variables”, works like this: Put set thname evonyhookups in your goal and then anywhere below that goal line where you put “thname” between percent (%) symbols like this %thname% it will be replaced with the variable you set in the first line, which in this case would be “evonyhookups”.
So, to solve our level 10 NPC farming problem from earlier, rather than having npcheroes 10 any:att=best in your PrependGoals.txt or AppendGoals.txt file, you would modify it like this:
1 2 |
set npcheroes10 any:att=best npcheroes 10 %npcheroes10% |
Which equals npcheroes 10 any:att=best.
Now, If you set set npcheroes10 any:att=best in your PrependGoals.txt, but then in your City Tab you add set npcheroes10 any:att>=220,att<best, and in your AppendGoals.txt you have npcheroes 10 %npcheroes10% – NEATBot will login and set set npcheroes10 any:att=best from the PrependGoals, then the City Tab goals will load and set npcheroes10 any:att>=220,att<best will override what was set first in the PrependGoals, lastly AppendGoals will load and npcheroes 10 %npcheroes10% will be set and since the City Tab line overrode the Prepend Goals line npcheroes 10 %npcheroes10% will equal npcheroes 10 any:att>=220,att<best
By using this technique you can have a set of Global Goals that your main accounts and all your feeders/alts automatically use, with just a few main accounts having slight modifications in their city Tabs.
Here’s the Regular (Non-Global) Goal Example from above converted into Global Goals:
PrependGoals.txt Global Goal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
//--------------------- // PrependGoals.txt //--------------------- //---- Main Settings.. set thname evonyhookups //---- Troops.. set troops1 wo:1,w:1,s:1,p:1,sw:1,a:1,c:1 set troops2 b:2.5k,t:2.5k set troops3 wo:105k set troops4 w:10k,s:10k,p:1k,sw:1k,a:10k set troops5 a:120k,wo:105k,w:160k,s:105k,t:20k,p:15k,sw:10k,c:10k,cata:5k,b:3.6k set troops6 c:105k,t:25k,w:300k,s:505k,r:250,cp:125 set troops7 a:505k,b:25k,r:10k,cp:25k,t:40k,p:50k,sw:25k,w:305k set troops8 wo:1,w:1,s:1,p:1,sw:1,a:1,c:1 set troops9 wo:1,w:1,s:1,p:1,sw:1,a:1,c:1 set troops10 wo:1,w:1,s:1,p:1,sw:1,a:1,c:1 //---- Farming.. config npc:1 set npclimits10 a:505k set npclimits8 w:305k set npcheroes10 any:att=best set npcheroes8 any:pol=best set npcheroes5 any:bse>60,lvl<=220 npctroops 10 a:88k,s:3k,t:2k,w:7k npctroops 9 a:83k,s:3k,t:2k,w:7k npctroops 8 w:80000,t:1100 npctroops 7 w:65000,t:850 npctroops 6 w:50000,t:600 npctroops 5 b:450,t:400 npctroops 4 b:350,t:300 npctroops 3 b:200,t:100 npctroops 2 b:90,t:50 npctroops 1 b:30,t:20 //---- Valleys.. config hunting:4 set valleylimit a:505k set valleyheroes any:att<best,pol<best valleytroops 10 w:200,s:1,p:1,sw:1,a:25k valleytroops 9 w:100,s:1,p:1,sw:1,a:20k //---- Trade.. config trade:3 set goldmin 50m set foodmin 305m set foodmax 305m set woodmin 10m set woodmax 15m set stonemin 5m set stonemax 50m set ironmin 10m set ironmax 15m set batch 9m //---- Other Config.. config hero:21 config fasthero:69 config trainpol:1 config trainint:1 //--------------------- |
Note: You might wonder why “set troops8”, “set troops9”, and “set troops10” all have the same value as “set troops1”, which is “wo:1,w:1,s:1,p:1,sw:1,a:1,c:1”. The reason is because “set troops8” through “set troops10” are all just place-holders so that NEATBot doesn’t display a (harmless) error in the log for having blank values for “set troops8” through “set troops10”. It will make more sense shortly when we get to the “Additional City Tab Goal” example below and we change the value of “set troops8” in the City Tab goal.
AppendGoals.txt Global Goal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
//--------------------- // AppendGoals.txt //--------------------- //---- Main Settings.. traininghero %%thname%% 300 900 3 //---- Troops.. troop %troops1% troop %troops2% troop %troops3% troop %troops4% troop %troops5% troop %troops6% troop %troops7% troop %troops8% troop %troops9% troop %troops10% //---- Farming.. npclimits 10 %npclimits10% npclimits 9 %npclimits10% npclimits 8 %npclimits8% npclimits 7 %npclimits8% npclimits 6 %npclimits8% npcheroes 10 %npcheroes10% npcheroes 9 %npcheroes10% npcheroes 8 %npcheroes8% npcheroes 7 %npcheroes8% npcheroes 6 %npcheroes8% npcheroes 5 %npcheroes5% npcheroes 4 %npcheroes5% npcheroes 3 %npcheroes5% npcheroes 2 %npcheroes5% npcheroes 1 %npcheroes5% //---- Valleys.. valleylimit %valleylimit% valleyheroes %valleyheroes% //---- Trade.. tradepolicy /type:gold /min:%goldmin% tradepolicy /type:food /min:%foodmin% /max:%foodmax% /batch:%batch% /donotautosellabovemax tradepolicy /type:wood /min:%woodmin% /max:%woodmax% /batch:%batch% /allowselltomin /donotautosellabovemax tradepolicy /type:stone /min:%stonemin% /max:%stonemax% /batch:%batch% /allowselltomin /donotautosellabovemax tradepolicy /type:iron /min:%ironmin% /max:%ironmax% /batch:%batch% /allowselltomin /donotautosellabovemax //---- Other Config.. //--------------------- |
Now, let’s pretend there are two cities from two different accounts running your new Global Goals that you would like to have slightly different market/trade amounts for, more troops built, different heroes used for farming, and a few other different config options. Below is the example goal you would paste into JUST those Cities’ Goals Sections in their City Tabs.
Additional City Tab Goal – Global Goals
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
//--------------------- // City Tab Goal //--------------------- //---- Main Settings.. //---- Troops.. set troops8 a:2m //---- Farming.. config npc:5 set npclimits10 a:1m set npcheroes10 any:att=best,att>=220 set npcheroes8 any:pol=best,att=best set npcheroes5 any:bse>60 //---- Valleys.. set valleyheroes any:att<best,pol<best,int<best //---- Trade.. config trade:3 set goldmin 500m set foodmin 1b set foodmax 990b set woodmin 100m set woodmax 200m set stonemin 50m set stonemax 990b set ironmin 100m set ironmax 200m set batch 99m //---- Other Config.. config fasthero:75 //--------------------- |
Now those two pretend cities we pasted this City Tab goal into will be gathering more res, building more archers, farming with different heroes, and doing fasthero for heroes over base 75 rather than just 69! Pretty simple, right?
There’s a good alt/feeder-oriented global goal here that you can use as another example to learn from.