Need a quick Level 5 NPC? Adjust this script once to your liking, save it for future use, then just paste it into a city script tab and run it to capture the nearest level 5 NPC. NO entering coordinates – just paste, run, and wait 30-45 minutes until you have a new city!
Once the level 5 NPC is captured it is sent some food, ballista, transporters, and a hero to get it farming the moment you set some farming goals! These features can be turned off or on easily – you can also have it capture any NPC less than level 5 if no level 5 NPCs are found!
Automatically capture dozens of new cities and quickly grow your Evony feeder accounts.
Instructions/Examples:
- If you alter the hero variables, make sure the hero-strings you use are correct so you don’t lose good heroes!
- If you alter the troop variables, make sure your city has enough troops to send 1 of the big attacks and 6-8+ of the spam attacks all at once.
- Be careful you don’t have too many level 5 NPCs being captured at once before you can paste goals into them, other players may have waves heading to the city from when it was still a level 5 NPC. Get that loyalty up fast before the cities are stolen from you, especially since they were the closest level 5 NPCs to your cities!
Automatic Capture Nearest Level 5 NPC Script for NEAT Bot – by EHU:
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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 |
//---- Evony Hookups ----// //---- Automatic Capture Nearest Level 5 NPC Script for NEAT Bot - by EHU ----// //---- Last Edited: 6/29/2016 ----// //---- This script will automatically find and capture //---- the nearest level 5 NPC, transport it some food //---- and gold, and then reinforce the specified hero //---- there with 1k ballista and transports. It is //---- useful for getting new cities quickly with //---- accounts that are new and not yet able to //---- capture level 10 NPCs yet! //---- Must have around 30k+ Archers, 90k+ Scouts, and 70k+ Warriors for default troop waves to work!! //---- Main User-Defined Variables - Change These!! ----// doorkickerhero="any:attack=best|any:attack>120" //-- Main Attack Hero --// reentryhero="any:attack>60,pol<best" //-- Secondary Attack Hero --// spamhero="any:attack<best" //-- Spam Heroes --// doorkickerwave="a:20k,s:7k,w:15k" //-- Main Attack Troops --// reentrywave="a:15k,s:6k,w:10k" //-- Secondary Attack Troops --// spamwave="s:2k,w:7k" //-- Spam Troops --// GetLessThanLvl5="false" //-- Get NPC Lower than Lvl 5 if a lvl 5 not found? True, Yes, False, or No --// TransportToggle="true" //-- Transport res to Capped City? True, Yes, False, or No --// ReinforceToggle="true" //-- Reinforce a Hero to Capped City? True, Yes, False, or No --// ReinforceHero="any:pol<best,pol>att,pol>int" //-- Hero to reinforce city with --// //---- Nothing to edit below here!!! ----// //------Start of actual Sript------ //------ Start of actual Sript ------ //------ Start of actual Sript ------ //------ Start of actual Sript ------ //------ Start of actual Sript ------ //------ Do Not Touch!! ----// echo "Running AutoCapNearestLvl5Npc.neat Script" //---- Constants - do not change!! currentcities = m_context.Player.playerInfo.castleCount distance=6 //---- Make sure script only runs in first city GetLessThanLvl5 = GetLessThanLvl5.toLowerCase() TransportToggle = TransportToggle.toLowerCase() ReinforceToggle = ReinforceToggle.toLowerCase() ReinforceHero = ReinforceHero.toLowerCase() //---- Delay for bot to stabilize, and map to finish loading label Startup sleep 10 goto SlotCheck //---- Make sure more than 1 free city slot label SlotFail echo "Not enough open City Slots!!" goto EOS label SlotCheck echo "Checking open City Slots.." if (player.playerInfo.titleId = 0 || player.playerInfo.titleId-player.playerInfo.castleCount = -1) goto SlotFail //---- Start loading User-Defined presets.. label Start echo "All preliminary checks passed, now starting Auto-Feeder-Grow script!!" echo "Setting User-Defined values: Distance, Troops, Heroes, States.." //---- Begin capping nearest lvl 5 npc... label Continue echo "Capturing closest NPC.." config wartown:1 config fasthero:0 recallall //---- Waves Check.. label WavesCheck echo "Check if enough heroes have returned.." if (city.selfArmies.length <= 2) goto MapScan if (city.selfArmies.length >= 3) sleep 120 goto WavesCheck //---- Map Scan and Start.. label MapScan list = FindField(city.x, city.y, distance, GetFieldType("npc"), 5).sort(city.compareByDistanceToCastle).map(CreateFunction("fieldId,i,a","FieldIdToCoords(fieldId)")) if (list.length = 0) if (GetLessThanLvl5 = "true" || GetLessThanLvl5 = "yes") goto MapScan2 if (list.length = 0) if (GetLessThanLvl5 = "false" || GetLessThanLvl5 = "no") goto NPCFail goto CapStart label MapScan2 npc1 = FindField(city.x, city.y, distance, GetFieldType("npc"), 1) npc2 = FindField(city.x, city.y, distance, GetFieldType("npc"), 2) npc3 = FindField(city.x, city.y, distance, GetFieldType("npc"), 3) npc4 = FindField(city.x, city.y, distance, GetFieldType("npc"), 4) npc5 = FindField(city.x, city.y, distance, GetFieldType("npc"), 5) list = npc1.concat(npc2, npc3, npc4, npc5).sort(city.compareByDistanceToCastle).map(CreateFunction("fieldId,i,a","FieldIdToCoords(fieldId)")) if (list.length = 0) goto NPCFail goto CapStart label CapStart echo "Found {list.length} NPC(s)" ind=0 xy=list[ind] //---- Door Kicker.. label DoorKicker config nomayor:1 if (xy = null) goto Startup gosub TargetCheck echo "attack {xy} {doorkickerhero} {doorkickerwave}" execute "attack {xy} {doorkickerhero} {doorkickerwave}" goto CheckRally //---- Re-Entry.. label ReEntry if (xy = null) goto Startup gosub TargetCheck echo "attack {xy} {reentryhero} {reentrywave}" execute "attack {xy} {reentryhero} {reentrywave}" if ($error != null && m_context.Player.playerInfo.castleCount = currentcities+1) goto Complete goto CheckRally //---- Check Rally.. label CheckRally sleep 1 if (city.selfArmies.length < 10) goto CheckHeroes if (city.selfArmies.length = 0) goto ReEntry //---- Check Heroes.. label CheckHeroes getspamhero if (city.heroes[0].isIdle = true) goto CheckWaves if (city.heroes[1].isIdle = true) goto CheckWaves if (city.heroes[2].isIdle = true) goto CheckWaves if (city.heroes[3].isIdle = true) goto CheckWaves if (city.heroes[4].isIdle = true) goto CheckWaves if (city.heroes[5].isIdle = true) goto CheckWaves if (city.heroes[6].isIdle = true) goto CheckWaves if (city.heroes[7].isIdle = true) goto CheckWaves if (city.heroes[8].isIdle = true) goto CheckWaves if (city.heroes[9].isIdle = true) goto CheckWaves getspamhero if (city.heroes[0].isIdle = true) goto CheckWaves if (city.heroes[1].isIdle = true) goto CheckWaves if (city.heroes[2].isIdle = true) goto CheckWaves if (city.heroes[3].isIdle = true) goto CheckWaves if (city.heroes[4].isIdle = true) goto CheckWaves if (city.heroes[5].isIdle = true) goto CheckWaves if (city.heroes[6].isIdle = true) goto CheckWaves if (city.heroes[7].isIdle = true) goto CheckWaves if (city.heroes[8].isIdle = true) goto CheckWaves if (city.heroes[9].isIdle = true) goto CheckWaves goto ReEntry //---- Check Waves.. label CheckWaves if (city.troop.militia > 10000) goto SpamWaves if (city.troop.militia < 10000) goto ReEntry //---- Spam Waves.. label SpamWaves if (xy = null) goto Startup gosub TargetCheck echo "attack {xy} {spamhero} {spamwave}" execute "attack {xy} {spamhero} {spamwave}" if ($error != null && m_context.Player.playerInfo.castleCount = currentcities+1) goto Complete goto CheckRally //---- Complete.. label Complete config nomayor:0 if (TransportToggle = "false" || TransportToggle = "no") goto Reinforce if (m_city.cityManager.troop.peasants >= 100000) goto TransportWave if (m_city.cityManager.troop.peasants < 100000) goto LesserTransSend label TransportWave echo "Transport {xy} wo:100k f:33m,g:5m" execute "transport {xy} wo:100k f:33m,g:5m" if ($error != null) goto TransError goto Reinforce label LesserTransSend trStr = "wo:{city.troop.peasants}" tr = GetTroops(trStr) transamount = (city.getCarryingLoad(tr))-5000000 echo "Transport {xy} {trStr} g:5m,f:{transamount}" execute "transport {xy} {trStr} g:5m,f:{transamount" if ($error != null) goto TransError goto Reinforce label Reinforce if (ReinforceToggle = "false" || ReinforceToggle = "no") goto NPCCappingDone echo "Reinforce {xy} {ReinforceHero} b:1k,t:1k" execute "reinforce {xy} {ReinforceHero} b:1k,t:1k" if ($error != null) goto TransError label NPCCappingDone echo "NPC has been captured and possibly transported and/or reinforced!!" goto EOS label TargetCheck fid=GetFieldId(xy) fidinfo=GetDetailInfo(fid) if (fidinfo = null) repeat if (fidinfo.userName = m_context.Player.playerInfo.userName) goto Complete if (fidinfo.userName != m_context.Player.playerInfo.userName && fidinfo.userName != null) goto Startup return label NPCFail echo "No NPCs within {distance} miles, ending script.." goto EOS label TransError echo "Something went wrong trying to transport/reinforce {xy}, ending scritpt.." goto EOS //---- End of Script.. label EOS echo "All Done capping closest Level 5 NPC with city {city.name}!!" config wartown:0 config nomayor:1 // //---- www.EvonyHookups.info ----// |
Thanks go to the Neat Forum for giving me the stock scripts to butcher for this!!
As soon as the new cities are captured and the food, ballista, transporters, and hero have arrived.. just paste in your favorite Feeder City goals and maybe some Level 5 NPC Convert scripts and watch your cities grow! A set of Global Goals or a custom version of NewCityGoals.txt or NewCityScript.txt could be used to automatically set goals/etc on newly autp-capped cities..
Sure, level 10 NPCs would be better… but some new accounts don’t have the heroes or troops for that, especially a clunky auto bot script doing the attacking.. Plus, with an adjusted “Level 10 NPC Convert” script you can easily build a level 5 npc city up to a usable city. Not to mention, this is a REAL time saver when playing 10.. 25.. 150+ accounts!