repeat
finditem %droploot C_ , #backpackid
exevent drag #findid #findstack
wait %dragspeed
exevent dropc %dropbox
wait 15
until #findkind = -1
This is wrong. What happens if finditem = x(nothing found) ? -- it drags an non existing item ( well atleast send a packet to drag it and drop it )
I would use a while loop there or something similar...
Anyway, you would want to use something like this..
set %storage QWERTY
set %stuff LOOT_LOOT_ZLK_POF
Mainloop:
if #weight > ( #maxweight - 50 )
{
gosub Recall_from_named_book ORE 1 r 5 ; Recalling to home
gosub unload
gosub Recall_from_named_book ORE 2 r 5 ; Recalling back to cave
}
goto Mainloop
; gosub travel_named_book ore number r(for recal)/c(for sacred) retries
Sub Recall_from_named_book
finditem MPF C_ , #backpackid
for #FINDINDEX 1 #FINDCNT
{
event property #FINDID
if %1 in #PROPERTY
{
gosub recall #findid %2 %3 %4
return
}
}
display your named book was not found.
stop
return
Sub Unload
finditem %stuff C_ , #backpackid
for #FINDINDEX 1 #FINDCNT
{
exevent drag #findid #findstack
exevent dropc %storage
wait 30
}
return
Note that this is fastly writen for freddy's recalling sub, but as it seems he has withdrawn all his scripts, including the fastest recalling sub out there.. If you ask freddy he may still give it to you.