Bapeth's Butler by barryroser
Description from the author:
# Bapeths Butler
#
# March 26th 2025 - Ship crate code changed for new unlockable ship crate tile
#
# Video link on how to use : (not made yet)
#
# This script will buff the closest friendly character, sort items from shipping crates, recycle items, and sort items
# If you ever need to reset storage items, tomes, containers etc... simply delete the variables in Script Options
#
# "***REQUIRED***"
#
# This script should be used on ALT account with and ALT character with the following skills:
#
# "120 Item ID" (Hard requirement must have)
# "120 Inscription" (Is not needed, but the higher this skill is the longer your buffs last)
#
# Items this script uses are as follows:
#
# All of these items should be locked down/secured in your inn room or house
# Do not put any of these items inside containers
#
# "Two containers of any kind"
# "A rune tome"
# "A rare cloth tome"
# "A dyes tome"
# "An arcane rune tome"
# "A treasure map tome"
# "A ship upgrade tome"
# "A skill mastery tome"
# "A collectible card tome"
# "An ore map tome"
# "A skinning map tome"
# "A lumber map tome"
# "A fishing map tome"
# "A storage shelf"
# "A bank deposit box"
# "A garden shelf"
# "A resource stockpile"
# "A magic item recycler"
# "A magic item vault"
# "A repair bench"
#
# Script starts here
if not varexist firsttimedumper
@setvar firsttimedumper backpack
overhead "Welcome to Bapeths One Tile Item Eater and Ship Crate Expeditor..." 156
pause 8000
overhead "This script uses many required storage items within a 2 tile radius..." 1172
pause 9000
overhead "Please ensure that you have all required items locked down and/or secured within 2 tiles of your character before using the script..." 156
pause 10000
overhead "This script should be used with an alt character on an alt account, and, should have 120 Item ID skill..." 156
pause 10000
overhead "If you do not have 120 Item ID or are missing items from the required list, stop the script now and get those things..." 1172
pause 10000
overhead "Inscription skill is recommended to have, the higher it is the longer your buffs will last..." 156
pause 10000
overhead "When you are ready, place your character on your one-tile dump spot and play the script" 156
stop
endif
if not varexist lootchestdump
overhead "Set Main Loot Container" 88
hotkey "Cancel Current Target"
setlasttarget
wft 500
while targetexists
//donothing
endwhile
@setvar "lootchestdump" lasttarget
overhead "Loot Container Set" 77
endif
if not varexist lootchestdump2
overhead "Set Second Loot Container" 88
hotkey "Cancel Current Target"
setlasttarget
wft 500
while targetexists
//donothing
endwhile
@setvar "lootchestdump2" lasttarget
overhead "Loot Container Set" 77
endif
if not varexist rareclothtome
if findtype "book" ground 1495 -1 2 as book
@setvar "rareclothtome" book
endif
endif
if not varexist dyestome
if findtype "book" ground 1494 -1 2 as book
@setvar "dyestome" book
endif
endif
if not varexist arcanerunetome
if findtype "book" ground 2085 -1 2 as book
@setvar "arcanerunetome" book
endif
endif
if not varexist treasuremaptome
if findtype "book" ground 2990 -1 2 as book
@setvar "treasuremaptome" book
endif
endif
if not varexist shipupgradetome
if findtype "book" ground 2877 -1 2 as book
@setvar "shipupgradetome" book
endif
endif
if not varexist skillmasterytome
if findtype "book" ground 2963 -1 2 as book
@setvar "skillmasterytome" book
endif
endif
if not varexist collectablecardtome
if findtype "book" ground 2141 -1 2 as book
@setvar "collectablecardtome" book
endif
endif
if not varexist oremaptome
if findtype "book" ground 2796 -1 2 as book
@setvar "oremaptome" book
endif
endif
if not varexist skinningmaptome
if findtype "book" ground 2651 -1 2 as book
@setvar "skinningmaptome" book
endif
endif
if not varexist lumbermaptome
if findtype "book" ground 2799 -1 2 as book
@setvar "lumbermaptome" book
endif
endif
if not varexist fishingmaptome
if findtype "book" ground 2722 -1 2 as book
@setvar "fishingmaptome" book
endif
endif
if not varexist myshelf
if findtype "storage shelf" ground -1 -1 2 as shelf
@setvar "myshelf" shelf
endif
endif
if not varexist repbench
if findtype "repair bench" ground -1 -1 2 as rbench
@setvar "repbench" rbench
endif
endif
if not varexist gardenshelf
if findtype "barrel planter shelf|garden shelf" ground -1 -1 2 as gshelf
@setvar "gardenshelf" gshelf
endif
endif
if not varexist respile
if findtype "resource container" ground -1 -1 2 as pile
@setvar "respile" pile
endif
endif
if not varexist magicrecycler
if findtype "magic item recycler|ornate elven chest" ground -1 -1 2 as recycle
@setvar "magicrecycler" recycle
endif
endif
if not varexist magicchest
if findtype "sm magic item vault|magic item chest" ground -1 -1 2 as mchest
@setvar "magicchest" mchest
endif
endif
if not timerexists bufftimer
createtimer bufftimer
settimer bufftimer 33000
endif
clearsysmsg
hotkey "Next Friend Target"
pause 600
if insysmsg "No one matching that"
//donothing
elseif timer bufftimer >= 33000
say "Hey bud, need a buff?" 78
settimer bufftimer 0
endif
gumpresponse 6
getlabel backpack ping
gumpclose 4045111101
getlabel backpack ping
if not hidden
hotkey 'Set Grab Item HotBag'
wft 500
target backpack
say "[belch"
while cooldown "Hiding"
//donothing
endwhile
if skill "Item ID" = 120
clearsysmsg
while not insysmsg "What do you wish to appraise"
skill "itemidentification"
endwhile
wft 500
target "magicrecycler"
getlabel backpack ping
pause 500
if not dead
dclick "magicrecycler"
waitforgump 4045111101 500
gumpresponse 10
waitforgump 4045111101 500
pause 500
if ingump "Begin" 4045111101
gumpresponse 6
waitforgump 4045111101 500
pause 350
endif
if ingump "Confirm" 4045111101
gumpresponse 6
waitforgump 4045111101 500
pause 500
getlabel backpack ping
endif
endif
if gumpexists 4045111101
while ingump "Begin" 4045111101
gumpresponse 6
waitforgump 4045111101 500
pause 350
if ingump "No recyclable items found"
menu magicchest 0
wft 500
target "magicrecycler"
gumpclose 4045111101
break
endif
endwhile
endif
endif
dclick "myshelf"
waitforgump 3232825965 500
gumpresponse 7
waitforgump 3232825965 500
gumpclose 3232825965
if mana >= 20 and skill "Magery" >= 60
cast "bless"
wft 2500
hotkey "Next Friend Target"
lasttarget
clearall
pause 350
cast "arch protection"
wft 2500
target self
clearall
endif
say "SALLY FOURTH!!!" 88
while not hidden
skill "hiding"
cooldown "Hiding" 10000
endwhile
endif
if findtype 3645|3644 ground -1 -1 2 as shipcrate
while cooldown "World Save"
//donothing
endwhile
hotkey 'Set Grab Item HotBag'
wft 500
target backpack
pause 300
dclick shipcrate
getlabel backpack ping
while findtype "gold coin" shipcrate as bgold
lift bgold 60000
drop lootchestdump -1 -1 0
while queued
pause 600
endwhile
endwhile
while findtype "doubloon" shipcrate as bdoubloon
lift bdoubloon 60000
drop lootchestdump -1 -1 0
while queued
pause 600
endwhile
endwhile
while findtype "cathedral tapestry|Darkscale tapestry|large painting|landscape painting|portrait painting|hieroglyph|figurine|statue|44987|49730|47107|18653|45127|47105|29361|43453|5899|47109|45250|41509|43447|18657|4025|51308|45156|51304|45214|28769|28799|28803|28765|45211|45248|51259|45220|51328|45218|3842|51327|45222|45241|51336|51375|45282|54722|45255|45246|28795|44983|45235|45251|45238|51258|51314|28761|45236|51260|54718|18400|45252|18656|47111|3839|45239|45242|45254|45281|45247|42241|45216|28775|2594|51321|3838|51318|5901|5905|5903|48407|51302|4248|27611|15296|43166|5359|5981|4026|3985|25359|17686|3836|17087|5356|29030|24434|22336|29036|3843|29025|51098|8826|576|3827|22326|45315|3891|2539|39898|39896|39892|39918|39911|39916|39897|39905|39891|39917|39912|39909|39889|31047|31017|31049|31019|31055|31051|31053|31025|31027|31031|31041|54717|31021|31011|31023|31029|31043|31003|31035|31033|31045|31037|31002|20006|31169|31006|30999|31012|31009|30996|7109|7107|3922|31128|31188|20014|31014|31004|31142|31001|31000|37181|31010|30998|31172|30988|30997|31038|31141|7947|20008|31005|31191|31008|31007|30994|30993|31182|30989|20012|31186|31178|31015|30991|20010|20016|31184|31190|30990|30995|31176|31180|30992|31130|5207|7031|7026|7034|7033|7027|7035|7029|5078|5063|5059|5105|5060|5138|5129|5201|5142|5143|5076|5106|7610|5139|5090|5103|5132|7177|5061|7181|7179|3920|5042|5127|5117|5185|5125|3938|5177|3937|5044|5121|3915|3909|3568|3932|5123|5144|5119|5056|5135|5187|5074|5089|3934|3913|3917|3721|5075|5046|5049|7170|5146|5205|5203|5115|5204|5040|5179|5070|5182|5085|5181|3719|7173|5131|3911|5101|7175|7169|3713|5112|22187|9917|3859|3862|3878|3865|3856|3873|3877|3834|3742|3762|3740|3763|10245|3572|3573|3571|3885|7127|4225|12686|19985|19981|19984|19982|19983|19991|19989|19986|19987|19988|19994|19995|19992|19993|19990|19980|19977|19976|19978|7154|19979|3861|3821" shipcrate as bitem
hotkey 'Grab Item'
target bitem
while queued
wait 600
endwhile
if insysmsg "That container cannot hold"
break
endif
endwhile
//Dumping all items
menu respile 0
waitfortarget 1000
target 'self'
menu gardenshelf 0
waitfortarget 1000
target 'self'
menu rareclothtome 0
menu dyestome 0
menu arcanerunetome 0
menu treasuremaptome 0
menu shipupgradetome 0
menu skillmasterytome 0
menu collectablecardtome 0
menu oremaptome 0
menu skinningmaptome 0
menu lumbermaptome 0
menu fishingmaptome 0
menu magicrecycler 1
while findtype "void orb" backpack as bvoid
lift bvoid 60000
drop lootchestdump -1 -1 0
while queued
pause 600
endwhile
endwhile
while findtype "research materials" backpack as bresearch
lift bresearch 60000
drop lootchestdump -1 -1 0
while queued
pause 600
endwhile
endwhile
while findtype "deed" backpack as bdeed
lift bdeed 60000
drop lootchestdump -1 -1 0
while queued
pause 600
endwhile
endwhile
while findtype "bag of gems" backpack as bpirateboot
lift bpirateboot 60000
drop lootchestdump2 -1 -1 0
while queued
pause 600
endwhile
endwhile
while findtype "12686" backpack as bessence
lift bessence 60000
drop magicrecycler -1 -1 0
while queued
pause 600
endwhile
endwhile
while findtype "black market goods" backpack as bmg
lift bmg 60000
drop lootchestdump -1 -1 0
while queued
pause 600
endwhile
endwhile
while findtype "redline bottle" backpack as redlinebot
lift redlinebot 60000
drop lootchestdump -1 -1 0
while queued
pause 600
endwhile
endwhile
while findtype "redline bottle" backpack as redlinebot
lift redlinebot 60000
drop lootchestdump -1 -1 0
while queued
pause 600
endwhile
endwhile
while findtype "card" backpack as eventitem
lift eventitem 60000
drop lootchestdump2 -1 -1 0
while queued
pause 600
endwhile
endwhile
if skill "Item ID" = 120
clearsysmsg
while not insysmsg "What do you wish to appraise"
skill "itemidentification"
endwhile
wft 500
target "magicrecycler"
getlabel backpack ping
pause 500
if not dead
dclick "magicrecycler"
waitforgump 4045111101 500
gumpresponse 10
waitforgump 4045111101 500
pause 500
if ingump "Begin" 4045111101
gumpresponse 6
waitforgump 4045111101 500
pause 350
endif
if ingump "Confirm" 4045111101
gumpresponse 6
waitforgump 4045111101 500
pause 500
getlabel backpack ping
endif
endif
if gumpexists 4045111101
while ingump "Begin" 4045111101
gumpresponse 6
waitforgump 4045111101 500
pause 350
if ingump "No recyclable items found"
menu magicchest 0
wft 500
target "magicrecycler"
gumpclose 4045111101
break
endif
endwhile
endif
endif
hotkey 'Grab Item'
wft 500
target shipcrate
dclick "myshelf"
waitforgump 3232825965 500
gumpresponse 7
waitforgump 3232825965 500
gumpclose 3232825965
clearsysmsg
hotkey "Next Friend Target"
pause 600
if insysmsg "No one matching that"
//donothing
elseif timer bufftimer >= 33000
say "Hey bud, need a buff?" 78
settimer bufftimer 0
endif
if mana >= 20 and not hidden and skill "Magery" >= 60
cast "bless"
wft 2500
hotkey "Next Friend Target"
lasttarget
clearall
pause 350
cast "arch protection"
wft 2500
target self
clearall
say "SALLY FOURTH!!!" 88
endif
while not hidden
skill "Hiding"
endwhile
endif
loopThis script will use an alt character to sort your shipping crate into your one-tile loot dump setup. If you have a house it can be used to Expedite your ship crate from an inn room to your house, where it will sort the loot into your one-tile setup and buff the closest friendly character.