Bapeth's Ocean Launcher by barryroser
Related: Snippet ship launch
Description: Launches and readies a ship from any nearby dockmaster.
1# Bapeths Ship Launcher
2#
3# Updated March 30th 2025
4#
5#
6# Script will loop into 'Master Background' if you have it in your script library
7# Run this script near any friendly boats to add any and all friendly crew to the ignore list
8#
9# This script will launch your ship, ready crew, and load cannons
10#
11# Script starts here
12clearsysmsg
13overhead 'Launch sequence initiated...' 45
14if not findtype 5365 backpack
15 overhead 'I forgot a Spyglass...' 38
16 overhead 'Launch Aborted' 38
17 stop
18endif
19if not findtype "aspect crystal" backpack
20 overhead "I could use Aspect Crystals..." 78
21 pause 400
22endif
23if skill "Magery" >= 80 and followers = 0
24 overhead "I should get some followers..." 45
25 pause 400
26endif
27
28if skill "Arms Lore" >= 80 and not timerexists disarmcheck
29 createtimer disarmcheck
30 settimer disarmcheck 90000
31elseif skill "Arms Lore" >= 80 and timerexists disarmcheck
32 clearsysmsg
33 for 4
34 if timer disarmcheck >= 90000
35 say "[Disarm"
36 getlabel backpack ping
37 if insysmsg "You will now attempt to disarm your opponents."
38 settimer disarmcheck 0
39 break
40 endif
41 endif
42 endfor
43endif
44
45if skill "Arcane" >= 80 and not gumpexists 3954121934
46 say '[abilityhotbar'
47 waitforgump 3954121934 500
48endif
49
50if skill "Chivalry" >= 80 and not gumpexists 3954121934
51 say '[abilityhotbar'
52 waitforgump 3954121934 500
53endif
54
55if findtype 3763|3762|3740|3742|10245|20008|20006|20014|20016|20012|20010 backpack as instrument
56 @ignore instrument
57endif
58if findtype 3834 backpack 0 as bbook
59 @ignore bbook
60endif
61
62pause 500
63
64for 25
65 hotkey "Next Monster Target"
66 @setvar bdockmaster lasttarget
67 if noto bdockmaster = "invulnerable"
68 getlabel bdockmaster desc
69 if "dockmaster" in desc
70 menu bdockmaster 1
71 getlabel backpack ping
72 if gumpexists 3287496917
73 overhead "Which ship shall I captain?" 88
74 while not targetexists
75 //donothing
76 endwhile
77 getlabel backpack ping
78 if insysmsg 'You have traveled'
79 overhead 'Travel cooldown...' 38
80 overhead 'Launch Aborted' 38
81 gumpclose 3287496917
82 stop
83 elseif insysmsg 'You have been onboard'
84 overhead 'Onboard cooldown...' 38
85 overhead 'Launch Aborted' 38
86 hotkey "Cancel Current Target"
87 gumpclose 3287496917
88 stop
89 endif
90 wft 500
91 overhead "Select Launch Location" 88
92 while targetexists
93 //donothing
94 endwhile
95 getlabel backpack ping
96 gumpclose 3287496917
97 break
98 endif
99 endif
100 endif
101endfor
102
103if insysmsg 'A ship cannot be placed'
104 overhead 'Cannot place there...' 38
105 overhead 'Try again...' 38
106 gumpclose 3287496917
107 replay
108elseif insysmsg 'That location is too far away'
109 overhead 'Cannot place there...' 38
110 overhead 'Try again...' 38
111 gumpclose 3287496917
112 replay
113elseif insysmsg 'You have been onboard'
114 overhead 'Onboard cooldown...' 38
115 overhead 'Launch Aborted' 38
116 hotkey "Cancel Current Target"
117 gumpclose 3287496917
118 stop
119elseif insysmsg "while on a house"
120 overhead "I cannot place that from inside this house..." 38
121 overhead "Launch Aborted..." 38
122 gumpclose 3287496917
123 gumpclose 4216593270
124 stop
125endif
126while not dead
127 clearsysmsg
128 say "[Embark" 45
129 getlabel backpack ping
130 say "[EmbarkFollowers" 45
131 getlabel backpack ping
132 say "[Reload" 88
133 overhead '*Reloading*' 45
134 getlabel backpack ping
135 say "[ReadyCrew" 45
136 getlabel backpack ping
137 if insysmsg "may ready the crew"
138 overhead "Crew is not ready..." 38
139 pause 600
140 endif
141 while not gumpexists 3329337894
142 say "[TargetingMode" 45
143 getlabel backpack ping
144 endwhile
145 if gumpexists 4216593270
146 gumpclose 4216593270
147 endif
148 overhead "Set my Hatch..." 77
149 setlasttarget
150 wft 500
151 while targetexists
152 //donothing
153 endwhile
154 @setvar "shiphold" lasttarget
155 if not find "shiphold" ground -1 -1 22
156 overhead "Error, launch code resetting..." 38
157 replay
158 endif
159 if not gumpexists 4216593270
160 say "[ship"
161 waitforgump 4216593270 500
162 endif
163 if skill "Necromancy" >= 50 and not gumpexists 622436516
164 say [necromancyhotbar
165 pause 250
166 endif
167# for 30
168# hotkey "Next Monster Target"
169# @setvar friendcrewmember lasttarget
170# if noto friendcrewmember = "friend"
171# getlabel "friendcrewmember" desc
172# if "Crewmember" in desc
173# hotkey "Add Target To: IgnoreCrew"
174# wft 500
175# lasttarget
176# hotkey "Cancel Current Target"
177# endif
178# endif
179# endfor
180 hotkey "Cancel Current Target"
181 overhead "Launch Sequence Complete..." 88
182 warmode off
183 script 'Master Background'
184 stop
185endwhile