UO Outlands: Boating Primer Script (Repair/Equip/Reload/Dock)

Created: 12 days ago on 10/21/2025, 12:57:08 AMUpdated: 12 days ago on 10/21/2025, 02:07:36 AM
Size: 17752
Category: boating

Description: Hail and thanks for checking out my script!

This is a script meant to be used for boating. It's designed to be used when you first dock onto water and in-between fights. It's meant for the PVM Harpooner builds (with/without parry).

##TO RUN THIS MOSTLY FAULT-FREE, YOU MUST HAVE THE FRAY COOLDOWN TIMER ADDED TO YOUR COOLDOWNS.XML##

This script will do the following (not necessarily in this order):

Sets overhead mode (2 different modes or 0 for nothing at all)

Activates Spell Siphon (requires magic arrow scroll)

Checks for spyglass

Initializes repair flags

Reloads ship cannons

Verifies boating mastery chain and activates (as set by user in-script)

Equips harpoon

Opens ship hotbars

Checks ship presence (if not, runs [dock command and stops script)

Readies crew

Begins main repair loop

Repairs guns

Repairs sails

Repairs hull

Confirms all repairs complete

Starts background script

It is not really meant for combat use, so attempt at your own peril :) and0z0r on discord your feedback!

# =============================== # BOAT PRIMER / REPAIR SCRIPT — PIRATE EDITION v0.4a # # PLEASE ADD THE "FRAY" COOLDOWN FOR THIS TO WORK PROPERLY!! (PM and0z0r in Discord) # # CHANGELOG (v0.4a - brief) ## - Default overhead mode stays 2 (brief tags) manual flips only ## - Colorized overheads in commands: setup=68, ops=94, errors=33, complete=88 ## - Single-bracket yell syntax everywhere (e.g., yell [reload) ## - Ship presence check after [shiphotbars] using ingump hull ## - Comments cleaned (no inline color codes) varexist checks only ## =============================== @clearsysmsg if not varexist overheads setvar! overheads 2 endif # =============================== # INTRO BANNER # =============================== if overheads = 1 overhead "## BOATING PRIMER ##" 68 endif if overheads = 2 overhead "# PRIMER #" 68 endif wait 1500 # =============================== # SPELL SIPHON (REQUIRES MAGIC ARROW SCROLL) # =============================== if skill "resist" > 0 and not findbuff "Spell Siphon" if findtype 0x1F32 backpack as zscroll dclick zscroll wft 2000 target self if overheads = 1 overhead "Spell Siphon Activated!" 68 endif if overheads = 2 overhead "# SIPHON #" 68 endif else if findtype "magic arrow scroll" backpack as zscroll2 dclick zscroll2 wft 2000 target self if overheads = 1 overhead "Spell Siphon Activated!" 68 endif if overheads = 2 overhead "# SIPHON #" 68 endif endif endif endif # =============================== # SPYGLASS (OPTIONAL) # =============================== if findtype 5365 backpack as zspyglass yell [spyglass if overheads = 1 overhead "Scoping the seas!" 68 endif if overheads = 2 overhead "# SCAN #" 68 endif else if overheads = 1 overhead "No spyglass found!" 33 endif if overheads = 2 overhead "# NO SPYGLASS #" 33 endif endif getlabel backpack pingcheck # =============================== # LOCAL FLAGS # =============================== setvar! guns_repaired 0 setvar! sails_repaired 0 setvar! hull_repaired 0 # =============================== # PREP: RELOAD / MASTERY CHAIN / HARPOON / UI # =============================== @clearsysmsg yell [reload if overheads = 1 overhead "Cannons be loadin’! Stand clear!" 68 endif if overheads = 2 overhead "# RELOADING #" 68 endif wait 1000 # Mastery chain (user-defined variable "chain1") if not varexist chain1 if overheads = 1 overhead "Ye forgot yer mastery chain, ye scallywag!" 33 endif if overheads = 2 overhead "# NO CHAIN #" 33 endif setvar chain1 endif if find chain1 backpack getlabel chain1 chain_label if active in chain_label if overheads = 1 overhead "The chain be active and hummin’, Cap’n!" 68 endif if overheads = 2 overhead "# CHAIN ACTIVE #" 68 endif else wait 1000 menu chain1 0 if overheads = 1 overhead "Chain be set! We’re ready to sail!" 68 endif if overheads = 2 overhead "# CHAIN ON #" 68 endif endif else if overheads = 1 overhead "Blimey! The mastery chain’s gone missin’!" 33 endif if overheads = 2 overhead "# CHAIN MISSING #" 33 endif endif # Equip harpoon if you have fishing skill if skill "fishing" > 0 if lhandempty if findtype 31169 backpack as harpoon dclick harpoon if overheads = 1 overhead "Harpoon in hand — ready to skewer sea beasts!" 68 endif if overheads = 2 overhead "# HARPOON #" 68 endif else if overheads = 1 overhead "No harpoon in the hold, ye lazy deckhand!" 33 endif if overheads = 2 overhead "# NO HARPOON #" 33 endif endif else if overheads = 1 overhead "Yer mitts already be full, matey!" 68 endif if overheads = 2 overhead "# HAND OCCUPIED #" 68 endif endif endif # Open Hotbars @clearsysmsg yell [shiphotbars wait 800 # =============================== # VERIFY SHIP PRESENCE # =============================== if not ingump hull wait 800 yell dock if overheads = 1 overhead "We be on land, Cap’n! Dockin’ to regroup!" 33 endif if overheads = 2 overhead "# NO SHIP #" 33 endif stop endif getlabel backpack pingcheck # Ready Crew @clearsysmsg yell [readycrew getlabel backpack pingcheck if overheads = 1 overhead "Crew be roused ‘n ready for duty!" 68 endif if overheads = 2 overhead "# READY #" 68 endif # =============================== # MAIN REPAIR LOOP # =============================== while guns_repaired = 0 or sails_repaired = 0 or hull_repaired = 0 # ------------------------------- # GUNS # ------------------------------- while guns_repaired = 0 if cooldown "Fray" if overheads = 1 overhead "Hold fast! We’re in the Fray — the deck be too hot for fixin’!" 94 endif if overheads = 2 overhead "# FRAY #" 94 endif while cooldown "Fray" wait 1000 endwhile getlabel backpack pingcheck endif @clearsysmsg yell [repairguns if overheads = 2 overhead "# GUN REP #" 94 endif getlabel backpack pingcheck if insysmsg "That ship's guns do not need to be repaired." setvar! guns_repaired 1 if overheads = 1 overhead "Cannons be shipshape — no patchin’ needed!" 94 endif if overheads = 2 overhead "# GUN OK #" 94 endif break endif if findbuff "entangled" if overheads = 2 overhead "# ENTANGLED #" 94 endif while findbuff "entangled" wait 200 endwhile if cooldown "Fray" if overheads = 1 overhead "Fray still ragin’ — stand by on the cannon patches!" 94 endif if overheads = 2 overhead "# FRAY #" 94 endif while cooldown "Fray" wait 1000 endwhile getlabel backpack pingcheck endif @clearsysmsg if insysmsg "Guns repaired" or insysmsg "That ship's guns do not need to be repaired." setvar! guns_repaired 1 if overheads = 1 overhead "Cannons fixed ‘n primed fer blastin’!" 94 endif if overheads = 2 overhead "# GUN DONE #" 94 endif break endif else @clearsysmsg waitforsysmsg "Guns repaired" 5000 getlabel backpack pingcheck if insysmsg "Guns repaired" setvar! guns_repaired 1 if overheads = 1 overhead "Cannons patched ‘n ready t’ roar!" 94 endif if overheads = 2 overhead "# GUN DONE #" 94 endif break endif endif endwhile # ------------------------------- # SAILS # ------------------------------- while sails_repaired = 0 if cooldown "Fray" if overheads = 1 overhead "Hold the lines! Fray’s upon us — no stitchin’ sails just yet!" 94 endif if overheads = 2 overhead "# FRAY #" 94 endif while cooldown "Fray" wait 1000 endwhile getlabel backpack pingcheck endif @clearsysmsg yell [repairsails if overheads = 2 overhead "# SAIL REP #" 94 endif getlabel backpack pingcheck if insysmsg "That ship's sails do not need to be repaired." setvar! sails_repaired 1 if overheads = 1 overhead "The canvas be crisp — sails need no mending!" 94 endif if overheads = 2 overhead "# SAIL OK #" 94 endif break endif if findbuff "entangled" if overheads = 2 overhead "# ENTANGLED #" 94 endif while findbuff "entangled" wait 200 endwhile if cooldown "Fray" if overheads = 1 overhead "Fray still blowin’ — belay them needles!" 94 endif if overheads = 2 overhead "# FRAY #" 94 endif while cooldown "Fray" wait 1000 endwhile getlabel backpack pingcheck endif @clearsysmsg if insysmsg "Sails repaired" or insysmsg "That ship's sails do not need to be repaired." setvar! sails_repaired 1 if overheads = 1 overhead "Sails mended ‘n catchin’ the wind again!" 94 endif if overheads = 2 overhead "# SAIL DONE #" 94 endif break endif else @clearsysmsg waitforsysmsg "Sails repaired" 5000 getlabel backpack pingcheck if insysmsg "Sails repaired" setvar! sails_repaired 1 if overheads = 1 overhead "Sails patched — she’ll fly again!" 94 endif if overheads = 2 overhead "# SAIL DONE #" 94 endif break endif endif endwhile # ------------------------------- # HULL # ------------------------------- while hull_repaired = 0 if cooldown "Fray" if overheads = 1 overhead "Hands off the planks! Fray be boilin’ — wait fer clear seas!" 94 endif if overheads = 2 overhead "# FRAY #" 94 endif while cooldown "Fray" wait 1000 endwhile getlabel backpack pingcheck endif @clearsysmsg yell [repairhull if overheads = 2 overhead "# HULL REP #" 94 endif getlabel backpack pingcheck if insysmsg "That ship's hull does not need to be repaired." setvar! hull_repaired 1 if overheads = 1 overhead "Hull be solid as a sea serpent’s hide!" 94 endif if overheads = 2 overhead "# HULL OK #" 94 endif break endif if findbuff "entangled" if overheads = 2 overhead "# ENTANGLED #" 94 endif while findbuff "entangled" wait 200 endwhile if cooldown "Fray" if overheads = 1 overhead "Fray ain’t done — keep yer tar warm!" 94 endif if overheads = 2 overhead "# FRAY #" 94 endif while cooldown "Fray" wait 1000 endwhile getlabel backpack pingcheck endif @clearsysmsg if insysmsg "Hull repaired" or insysmsg "That ship's hull does not need to be repaired." setvar! hull_repaired 1 if overheads = 1 overhead "Hull patched up tight — no leaks this voyage!" 94 endif if overheads = 2 overhead "# HULL DONE #" 94 endif break endif else @clearsysmsg waitforsysmsg "Hull repaired" 5000 getlabel backpack pingcheck if insysmsg "Hull repaired" setvar! hull_repaired 1 if overheads = 1 overhead "Hull be seaworthy once more!" 94 endif if overheads = 2 overhead "# HULL DONE #" 94 endif break endif endif endwhile endwhile # =============================== # COMPLETION # =============================== if overheads = 1 overhead "All fixin’s be done, Cap’n! Hoist the colors ‘n make for open waters!" 88 endif if overheads = 2 overhead "# COMPLETE #" 88 endif getlabel backpack pingcheck # =============================== # OPTIONAL: START BACKGROUND SCRIPT # =============================== wait 650 hotkey "Play Script: ##SCRIPT RUNNER##"

Version History

Original Version Saved - 10/21/2025, 12:57:08 AM - 12 days ago

Boating Primer Script (Repair/Equip/Reload/Dock)

No changes to display
View list of scripts
Disclaimer: This is a fan made site and is not directly associated with Ultima Online or UO staff.