//---- Evony Hookups ----//
//---- Find Player in Peace Mode within Radius Script for NEAT Bot - by sgkdnay ----//
//Change this ONLY!
//It will search/scout (if selected) all cities excluding yourself and your alliance...
set rad 5 //set miles radius
set IncRed 0 //Include Reds in Search? (0-no/1-yes)
set IncNeu 0 //Include Neutrals in Search? (0-no/1-yes)
//Scouting
set sco 0 //send scout after finding? (0-no/1-yes)
set scotroop 10k //how many scout to send at a time
set RallyUse 10 //how many rally spot to use at a time for scout
//Do Not Modify Below! Unless you know what you're doing :P
label StartHere
echo "Search for Victims - Automated Scan/Scout Script - by SRG/Vandiel v1.3"
echo "Initializing Settings..."
gosub Settings //get Preset settings
echo "Scanning the map, please wait..."
execute "scanmap " + city.coords + " " + %rad%
PV = FindField(city.x, city.y, %rad%, 11, 0).sort(city.compareByDistanceToCastle)
if(PV.length = 0) echo "No City found within " + %rad% + " mile(s).. Increase your radius!"
if(PV.length = 0) end
echo "We found potentially " + PV.length + " city(s)/" + %rad% + " miles..."
echo "It will take a bit... go and twiddle your thumb..."
echo "Preset Attack Script, change to suit your needs..."
echo "Copy/paste the result list and remember to remove the timestamp"
echo "set S attack //change to scout if scouting"
echo "set T c:5k //change to s:10k (or however number you want) if scouting"
echo "set H !notthishero,butthishero //change to your hero name"
echo "======= VICTIM(s) ============"
echo "XXX,YYY : <Alliance> Player (Castle) {Mile}"
label LoopVics
fD = GetDetailInfo(PV[i],true)
ifgoto(fD == null) LoopVics
ifgosub(fD.state == 1) GotOne
i = i + 1
ifgoto i < PV.length LoopVics
goto END
label GotOne
if(RelationIndex(fD) == 0) gosubreturn //Self
if(RelationIndex(fD) == 2) gosubreturn //Our Alliance
if(RelationIndex(fD) == 1) if(%IncRed% == 0) gosubreturn //Reds
if(RelationIndex(fD) == 4) if(%IncNeu% == 0) gosubreturn //Neutrals
FO = FO + 1
echo "%S% " + FieldIdToCoords(PV[i])+" %H% %T% //: <"+fD.allianceName+"> "+fD.userName+" ("+fD.name+") "+"{"+round(MapDistance(city.x,city.y,GetX(PV[i]),GetY(PV[i])),2)+"}"
if(%sco% == 1) PVNewC = PVNewC.concat(FieldIdToCoords(PV[i]))
if(%sco% == 1) PVNewN = PVNewN.concat(fD.userName)
if(%sco% == 1) PVNewT = PVNewT.concat(fD.name)
gosubreturn
label Settings
ifgoto(%RallyUse% > city.getBuildingLevel(29)) ExcRally
FO = 0
i = 0
if(%sco% == 1) CArr = 0
if(%sco% == 1) PVNewC = []
if(%sco% == 1) PVNewN = []
if(%sco% == 1) PVNewT = []
gosubreturn
label END
echo "======= END: "+FO+" VICTIM(s) ===="
if(FO == 0) echo "No City found within " + %rad% + " miles.. Increase your radius!"
if(FO == 0) end
if(%sco% == 0) echo "You request no scouting... Exit Gracefully..."
if(%sco% == 0) end
ifgoto(%sco% == 1) ScoutThis
label ScoutThis
echo "======= SENDING SCOUT(s) ====="
label ScoutCoord
ifgosub(%RallyUse% == city.selfArmies.length) WaitForIt
ifgosub(%ScoTroop% > city.troop.scouter) OutOfScout
echo "Scouting: " + PVNewC[CArr] + " - " + PVNewN[CArr] + " (" + PVNewT[CArr] + ")"
execute "scout " + PVNewC[CArr] + " none s:" + %scotroop%
CArr = CArr + 1
ifgoto(CArr < PVNewC.length) ScoutCoord
echo "======= DONE SCOUTed ========="
end
label WaitForIt
echo "No Rally Spot Available... Will try again in 30s..."
sleep 00:00:30
ifgoto(%RallyUse% == city.selfArmies.length) WaitForIt
gosubreturn
label OutOfScout
echo "Out of Scout!! Will try again in 30s when other scout returns..."
sleep 00:00:30
gosubreturn
label ExcRally
echo "You only have L" + city.getBuildingLevel(29) + " Rally. Revise your Rally Use!"
echo "Exit gracefully..."
end
//
//---- www.EvonyHookups.info ----//