Train Poisoning using a Shelf by Jaseowns
Description: This script uses your shelf to pull poison based on your skill. If your skill is less than 55, you do need to make sure you setup the restock_container_regular_kegs variable. Updated for the shelf changes on March 1st.
1# Training Poisoning with a shelf by Jaseowns
2# UO Outlands - Updated 3/1/2023 updated for shelf
3# Make sure to update the max skill on line 47 if you want to go over 100
4#################
5# Disclaimer: This script will edit your shelf loadout to only grab neccesary
6# items to train. To learn how to do this, check out my videos: youtube.com/jaseowns
7#################
8# Requirements: a shelf stocked with poison, heals and cures & one weapon (ex: kryss)
9##################
10# Additional Info
11##################
12# If your skill is less than 55 you also need:
13# One Empty bottle in your backpack
14# Regular posion kegs in a container
15# Restock Agent 1 as keg
16# Script variable called "restock_container_regular_kegs"
17# Organizer Agent 1 as keg - Set to a different container then your restock_container_regular_kegs
18##################
19# How to heal through failed posion?
20##################
21# Training poison has the ability to kill you if you do not heal or cure yourself.
22# This script attempts to use heal and cure pots to survive. You could also
23# have another character constantly bandaging you but this script should be enough.
24
25if not findtype "kryss" backpack and not find select_train_weapon backpack
26 overhead 'Please select your target weapon to train poison on' 88
27 @setvar! 'select_train_weapon'
28endif
29
30clearsysmsg
31
32while not dead
33
34 if insysmsg 'world will save'
35 overhead "World save coming soon.."
36 elseif insysmsg 'world is saving'
37 for 100
38 overhead 'Waiting for world save...'
39 wait 100
40 if insysmsg 'save complete'
41 overhead 'Save complete - continue on!' 88
42 break
43 endif
44 endfor
45 endif
46
47 if skill 'poisoning' >= 100
48 overhead 'Maxed out' 88
49 wait 2500
50 replay
51 elseif skill 'poisoning' < 50
52 overhead 'Go train at vendor to 50' 34
53 wait 2500
54 replay
55 elseif skill 'poisoning' < 55
56 if not findtype "empty bottle%s%" backpack
57 overhead 'Need at least one empty bottle!' 34
58 wait 1000
59 replay
60 endif
61
62 // target a container that has reg kegs
63 if not findtype "keg" backpack
64 restock 1
65 waitfortarget
66 target 'restock_container_regular_kegs'
67 endif
68
69 if not findtype "keg" backpack
70 overhead "Missing regular keg!" 34
71 wait 2500
72 replay
73 endif
74
75 overhead 'Using keg of Regular Posion' 88
76 dclicktype "keg" backpack
77 wait 500
78
79 // keg is empty, make sure to organizer to a different container
80 if not insysmsg "place it into your backpack"
81 organizer 1
82 wait 500
83 replay
84 endif
85 endif
86
87 overhead 'Using restock shelf' 88
88 gumpclose 3232825965
89 if not gumpexists 3232825965 and findtype "storage shelf" ground -1 -1 2 as shelf
90 dclick shelf
91 waitforgump 3232825965 5000
92 endif
93
94 // Restock shelf
95 gumpresponse 1000 3232825965
96 waitfortarget 5000
97 hotkey 'Target Self'
98
99 // Clear loadout
100 while not insysmsg "Loadout cleared"
101 gumpresponse 16 3232825965
102 waitforgump 3232825965 5000
103 endwhile
104
105 // edit loadout
106 gumpresponse 1001 3232825965
107 waitforgump 3232825965 5000
108
109 // 10 heal pots
110 gumpresponse 300 3232825965
111 waitforgump 3232825965 5000
112 gumpresponse 315 3232825965
113 waitforgump 3232825965 5000
114
115 // 10 cure pots
116 gumpresponse 301 3232825965
117 waitforgump 3232825965 5000
118 gumpresponse 316 3232825965
119 waitforgump 3232825965 5000
120
121 if skill 'poisoning' < 50
122 overhead 'Go train at vendor' 34
123 wait 2500
124 replay
125 elseif skill 'poisoning' < 55
126 overhead '55 Regular'
127 elseif skill 'poisoning' < 80
128 overhead '80 Greater'
129 gumpresponse 307 3232825965
130 waitforgump 3232825965 5000
131 elseif skill 'poisoning' < 100
132 overhead '100 Deadly'
133 gumpresponse 308 3232825965
134 waitforgump 3232825965 5000
135 elseif skill 'poisoning' < 120
136 overhead '120 Lethal'
137 gumpresponse 309 3232825965
138 waitforgump 3232825965 5000
139 else
140 replay
141 endif
142
143 // Resupply
144 gumpresponse 7 3232825965
145 waitforgump 3232825965 5000
146
147 wait 500
148
149 if findtype "Green Potion" backpack and hp > 50
150 skill 'Poisoning'
151 wft 500
152 targettype "Green Potion" backpack
153 wft 500
154 if findtype "kryss" backpack
155 targettype "kryss" backpack
156 else
157 target 'select_train_weapon'
158 endif
159 endif
160
161 if findtype "Yellow Potion" backpack and hp < 50
162 hotkey 'Drink Heal'
163 wait 500
164 endif
165
166 if poisoned
167 overhead 'Posioned'
168 while poisoned
169 if findtype "Orange Potion" backpack
170 hotkey 'Drink Cure'
171 wait 500
172 else
173 overhead "Out of cures... you gonna die" 34
174 wait 1000
175 endif
176
177 if findtype "Yellow Potion" backpack and hp < 40
178 hotkey 'Drink Heal'
179 wait 500
180 endif
181 endwhile
182 wait 5000
183 else
184 wait 5000
185 endif
186endwhile