NEATBot Global Goals Explained

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”.

NEATBot Global Goals Explained - NEAT.exe Location

NEATBot Global Goals Explained – NEAT.exe Location

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

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:

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:

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:

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:

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

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

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

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.

Comment below with any questions or comments you may have!