Gaderian, thanks for taking all that time to explain! I put it to good use. I won't say I have mastery over the "For" loop, but I at least get it now. In V5, I finally got a header on it. Added in ALL your suggestions and proofed them. Seems good so far.
I ran into an issue that I don't see a ready way to fix.
I made the change from -1 to 1 on RE casting. It now changes rune to the next one (%runelocstart + 1) for %RuneLocEnd. It does recall successfully! YAY!!!
BUT......
After if does it once, it has to use it every time thereafter. This is because %RunelocStart doesn't increment up with the change. How do I force it to skip a location to get caught back up?
Other changes:
Added in bank and pack full protection. If bank is full of items, it will skip banking specials and just dump candy in the trash.
Added 1 ID type for scarecrow.
To Do:
Fix the blocked recall rune increment.
Add in a halt command if the bank is full AND the pack is > 101 items. SInce there are 24 candy types, after you get to 102 specials in bag, you start recalling a lot. I played with the logic operators some and had a hard time getting it to work so far. Don't know how to find / set how many items are in pack.
Add in bank box gump detection. Go to next rune if bank did not open. Sometimes, latency will cause you to teleport away (due to a trick) AFTER you recalled to bank, leaving you stuck dragging items at the moongate. I know the gump is sizex 180, sizey 240. Playing with the logic operators I was unable to get it to work though. For example, I used This and it wound up in a loop, going back to dumpit.
sub dumpit
If %BankFull = #true
gosub trashcan
set %BankStart %BankStart + 1
if %BankStart > 16
set %BankStart 1
set %BankEnd %BankStart + 1
gosub TM_TravelFromNamedRunebook RE %BankStart %BankEnd %Bankbook
wait 5
event macro 3 0 bank
wait 10
if #contsizex <> 180
{
gosub dumpit ; recall back and make sure toon is at bank
}