Dab's Fishing Spot Background Script by dabiri
Description from the author:
//This one expects cooldowns named 'Spyglass' , 'Holy Light' , "Snacking' , "Mariners' , and 'Change Target'
//My greater cooldown is three minutes so I just loop mariner's fortune continually, you'd perhaps need to modify for your setup
overhead 'Fishing spot script'
while not dead
if lhandempty
overhead 'Left hand empty'
if findtype 31169 backpack as jarpoon
overhead 'Equipping harpoon'
dclick jarpoon
getlabel backpack pingCheck
endif
endif
//Eat food if we need it
if not findbuff "food" and findtype "tray" backpack as jood
dclick jood
wait 200
endif
//Heals & Cures
//Bandage Self
if not bandaging and hp < maxhp and skill healing > 50
hotkey "Bandage Self"
wait 100
endif
//Potion heal
if diffhits >= 30
if findtype "Yellow Potion" backpack as pot
getlabel pot desc
if "next usable" in desc
// do nothing
else
dclick pot
overhead 'Heal Potion' 48
wait 500
endif
endif
endif
//Chivalry heal
if diffhits >= 50 and skill "Chivalry" > 95 and not cooldown 'Holy Light'
say '[Holylight'
wait 250
if insysmsg "Holy symbols remaining:"
cooldown 'Holy Light' 31000
endif
endif
if diffhits >= 70 and not cooldown 'Snacking'
if findtype 28865 backpack as 'snackfood'
dclick snackfood
getlabel backpack pingCheck
cooldown 'Snacking' 60000
else
overhead 'Out of Snackfood' 28
cooldown 'Snacking' 10000
endif
endif
if poisoned
// Potion cure
if diffhits >= 30 and findtype "Orange Potion" backpack as pot
dclick pot
overhead 'Cure Potion' 48
wait 500
endif
endif
//Fishing Spot Net Routine
if not timerexists 'throwNet'
createtimer 'throwNet'
settimer 'throwNet' 9999
endif
//Occasionally this will bork the timing and think someone is already fishing a spot
//If you identify why please reach out to @dabiri and let me know
if timer 'throwNet' > 3500 and findtype rowboat|barrel|horn|25769|rock|foliage|rowboat|mushroom|basket|18824|28933|swordfish|rocks|bedroll ground as fishingSpot
//My greater cooldown is 3 minutes so I can just leave this always on
if not cooldown 'Mariners'
say '[GreaterAbility'
getlabel backpack pingCheck
cooldown 'mariners' 180000
endif
overhead "Throwing Net" 15
settimer 'throwNet' 0
dclick 'fishingSpot'
getlabel backpack pingCheck
endif
//Change target routine
if not cooldown 'Change Target'
@hotkey 'Target Closest Non-Friendly Monster'
getlabel backpack pingCheck
if insysmsg 'No one matching that was found'
// overhead 'No target found'
cooldown 'Change Target' 2000
else
@setvar! killTarget lasttarget
getlabel backpack pingCheck
endif
if find killTarget -1 -1 20
attack killTarget
//overhead '● ▼▼ HERE ▼▼ ●' 38 killTarget
getlabel backpack pingCheck
//say '[WeaponAbility3'
endif
unsetvar killTarget
cooldown 'Change Target' 5500
endif
//Spyglass Routine
if not findtype 5365 backpack
overhead 'No spyglass'
script 'LandHarpooner'
endif
if not cooldown 'Spyglass' and not queued
if targetexists
overhead 'Skipping spyglass' 15
cooldown 'Spyglass' 2000
else
gumpclose 2890020940
dclicktype 5365
wft 500
if targetexists neutral
target 'self'
waitforgump 2890020940
gumpresponse 4 2890020940
waitforgump 2890020940
cooldown 'Spyglass' 6300
endif
endif
endif
// Drink str pot
if not findbuff 'Strength Potion Usage Cooldown'
if findtype 'White Potion' backpack as jPot
overhead 'Drinking strength potion'
dclick jPot
wait 500
endif
endif
// Drink resist pot
if not findbuff 'Magic Resist Potion'
if findtype 'Black Potion' backpack as jPot
overhead 'Drinking resist potion'
dclick jPot
wait 500
endif
endif
// Drink agility pot
if not findbuff 'Agility Potion Usage Cooldown'
if findtype 'Blue Potion' backpack as jPot
overhead 'Drinking agility potion'
dclick jPot
wait 500
endif
endif
// Drink Red Pot
if diffstam >= 5
overhead 'drink a red pot'
if findtype 'Red Potion' backpack as redPot
overhead ' Drinking refresh potion'
dclick redPot
wait 500
else
overhead 'Out of refresh pots' 34
endif
endif
endwhileThis one will throw nets at fishing spots, and spyglass for boats. I will occasionally manually hit the companion script 'FishGlass' to spy for fishing spots, put one on track, and then it rolls back into this script on a loop.