Need a quick Level 10 NPC? Adjust this script once to your liking, save it for future use, then just paste it into a city and run it to capture the nearest level 10 NPC. NO entering coordinates – just paste, run, and wait 30-45 minutes until you have a new city!
Once the level 10 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.
Automatically capture the nearest level 10 NPC to use, give to an ally, or make new feeder cities.
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 10 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 10 NPC. Get that loyalty up fast before the cities are stolen from you, especially since they were the closest level 10 NPCs to your cities!
Automatic Capture Nearest Level 10 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 |
//---- Evony Hookups ----// //---- Automatic Capture Nearest Level 10 NPC Script for NEAT Bot - by EHU ----// //---- Last Edited: 6/30/2016 ----// //---- This script will automatically find and capture //---- the nearest level 10 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. //---- Must have around 100k+ Archers, 100k+ Scouts, and 150k+ Warriors for default troop waves to work!! //---- Main User-Defined Variables - Change These!! ----// doorkickerhero="any:attack=best|any:attack>250" //-- Main Attack Hero --// reentryhero="any:attack=best|any:attack>250" //-- Secondary Attack Hero --// spamhero="any:attack<best" //-- Spam Heroes --// doorkickerwave="a:85k,s:10k,w:5k" //-- Main Attack Troops --// reentrywave="a:40k,s:10k,w:60k" //-- Secondary Attack Troops --// spamwave="s:10k,w:15k" //-- Spam Troops --// 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 AutoCapNearestLvl10Npc.neat Script" //---- Constants - do not change!! currentcities = m_context.Player.playerInfo.castleCount distance=4 //---- Make sure script only runs in first city 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"), 10).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 10 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 auto-capped cities.