One hotkey necro nox mage cycle (1) by Jaseowns
Description: Check out https://outlands.uorazorscripts.com/script/25b38218-28e5-43d1-b9e1-01de484da5ce for latest
1# One hotkey mage cycle by Jaseowns
2# UO Outlands - https://youtu.be/K3bVPhHcInE
3
4##########################
5################
6##########
7#####
8# Check out https://outlands.uorazorscripts.com/script/25b38218-28e5-43d1-b9e1-01de484da5ce for latest
9##########################
10################
11##########
12#####
13##########################
14################
15##########
16#####
17##########################
18################
19##########
20###############################
21################
22##########
23#####
24##########################
25################
26##########
27#####
28##########################
29################
30##########
31#####
32##########################
33################
34##########
35#####
36
37// Beta client for cooldowns
38// cooldowns for mushrooms, mana vampire and healpots
39// for now using timers
40
41// Make sure we have a spell book attached
42if findlayer self righthand as item
43 // do nothing
44elseif findtype "3834" backpack as item
45 dclick item
46else
47 overhead "No book bro!" 34
48endif
49
50# Update this variable to 1 for ALL KILL
51# Update this variable to 0 for target nearest
52@setvar! setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster 0
53
54
55@setvar! cdLightning 40000
56@setvar! cdMagicArrow 20000
57@setvar! cdHarm 20000
58@setvar! cdFireball 60000
59@setvar! cdEvilOmen 30000
60@setvar! cdVampiricEmbrace 30000
61@setvar! cdCorpseSkin 30000
62@setvar! cdMindRot 30000
63@setvar! cdMushroom 60000
64@setvar! cdMagicShield 60000
65@setvar! cdReactiveArmor 60000
66
67if not timerexists reactiveArmorTimer
68 createtimer reactiveArmorTimer
69 settimer reactiveArmorTimer cdMagicShield
70endif
71
72if not timerexists magicShieldTimer
73 createtimer magicShieldTimer
74 settimer magicShieldTimer cdMagicShield
75endif
76
77
78if not timerexists magicMushroomTimer
79 createtimer magicMushroomTimer
80 settimer magicMushroomTimer cdMushroom
81endif
82
83if not timerexists magicArrowTimer
84 createtimer magicArrowTimer
85 settimer magicArrowTimer cdMagicArrow
86endif
87
88if not timerexists lightningTimer
89 createtimer lightningTimer
90 settimer lightningTimer cdLightning
91endif
92
93if not timerexists harmTimer
94 createtimer harmTimer
95 settimer harmTimer cdHarm
96endif
97
98if not timerexists fireballTimer
99 createtimer fireballTimer
100 settimer fireballTimer cdFireball
101endif
102
103if not timerexists evilOmenTimer
104 createtimer evilOmenTimer
105 settimer evilOmenTimer cdEvilOmen
106endif
107
108if not timerexists vampiricEmbraceTimer
109 createtimer vampiricEmbraceTimer
110 settimer vampiricEmbraceTimer cdVampiricEmbrace
111endif
112
113if not timerexists corpseSkinTimer
114 createtimer corpseSkinTimer
115 settimer corpseSkinTimer cdCorpseSkin
116endif
117
118if not timerexists mindRotTimer
119 createtimer mindRotTimer
120 settimer mindRotTimer cdMindRot
121endif
122
123
124
125
126if setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster = 1
127 say "all kill"
128 wait 200
129 while targetexists
130 // wait
131 wait 50
132 endwhile
133else
134 hotkey 'Target Closest Non-Friendly Monster'
135 wait 200
136 if insysmsg "No one matching that was found"
137 overhead "found no one" 34
138 stop
139 endif
140endif
141
142@setvar myKillTarget lasttarget
143
144if not varexist myPreviousKillTarget
145 @setvar myPreviousKillTarget 0
146endif
147
148getlabel myKillTarget desc
149overhead desc
150
151if not varexist myEarthPet or dead myEarthPet
152 overhead "Your pet is dead, demonic summon time" 34
153else
154 menu myEarthPet 2
155 wft 500
156 target myKillTarget
157endif
158
159if diffhits >= 30 and mana > 12
160 while not targetexists
161 if diffhits >= 60
162 cast 'Heal'
163 else
164 cast 'Greater Heal'
165 endif
166 wait 50
167 if hp = maxhp
168 hotkey '> Interrupt'
169 break
170 endif
171 endwhile
172 if targetexists
173 target self
174 endif
175endif
176
177if find myKillTarget -1 -1 12 as killy
178 if myKillTarget = myPreviousKillTarget
179 // do nthoing
180 else
181
182 while not targetexists and not dead myKillTarget
183 if diffhits < 30
184 cast 'Curse'
185 wait 50
186 elseif diffhits >= 30
187 hotkey '> Interrupt'
188 break
189 endif
190 endwhile
191 if targetexists
192 target myKillTarget
193 wait 500
194 endif
195
196
197 while not targetexists and not dead myKillTarget
198 if diffhits < 30
199 cast 'mana drain'
200 wait 50
201 elseif diffhits >= 30
202 hotkey '> Interrupt'
203 break
204 endif
205 endwhile
206 if targetexists
207 target myKillTarget
208 wait 500
209 endif
210 @setvar myPreviousKillTarget myKillTarget
211 endif
212else
213 overhead "Out of range" 34
214endif
215
216
217
218clearsysmsg
219
220say "all guard"
221
222@setvar! isLethalPoison 0
223
224while not dead myKillTarget and find myKillTarget -1 -1 12 as killy
225
226 if timer magicShieldTimer >= cdMagicShield and not findbuff "Magic Reflection"
227 cast "Magic Reflection"
228 wait 1000
229 elseif not findbuff "Magic Reflection" and not findbuff "Magic Resist Potion" and findtype "Black Potion" backpack as pot
230 dclick pot
231 wait 200
232 endif
233
234 if findbuff "Magic Reflection"
235 settimer magicShieldTimer 0
236 endif
237
238 if timer reactiveArmorTimer >= cdReactiveArmor and not findbuff "Reactive Armor"
239 cast "Reactive Armor"
240 wait 200
241 endif
242
243 if findbuff "Reactive Armor"
244 settimer reactiveArmorTimer 0
245 endif
246
247 if timer corpseSkinTimer >= cdCorpseSkin
248 overhead "Should be CorpseSkin!" 34
249 say "[CorpseSkin"
250 settimer corpseSkinTimer 0
251 wait 500
252 endif
253
254 if skill "poisoning" >= 100
255
256 if timer mindRotTimer >= cdMindRot
257 overhead "Should be mind rotting!" 34
258 say "[MindRot"
259 settimer mindRotTimer 0
260 wait 500
261 endif
262
263 while isLethalPoison = 0
264 getlabel myKillTarget desc2
265 overhead desc2 66
266 // poison lethal
267 if "Lethal" in desc2
268 @setvar! isLethalPoison 1
269 break
270 elseif diffhits >= 30
271 // need a heal
272 break
273 elseif mana >= 9
274 while not targetexists
275 cast 'poison'
276 wait 50
277 if dead myKillTarget
278 hotkey '> Interrupt'
279 break
280 endif
281 endwhile
282 target myKillTarget
283 else
284 wait 200
285 endif
286 endwhile
287 endif
288 if timer evilOmenTimer >= cdEvilOmen
289 say "[EvilOmen"
290 settimer evilOmenTimer 0
291 wait 200
292 endif
293
294 if timer vampiricEmbraceTimer >= cdVampiricEmbrace and findtype 8198 ground -1 -1 4 as jorpse
295 say "[VampiricEmbrace"
296 wft 500
297 target jorpse
298 settimer vampiricEmbraceTimer 0
299 endif
300
301 if find myKillTarget -1 -1 12 as killy
302 // do nothing
303 else
304 overhead "Out of range" 34
305 break
306 endif
307
308 if poisoned
309 if findtype "Orange Potion" backpack as pot
310 dclick pot
311 wait 200
312 else
313 while not targetexists
314 if not poisoned
315 hotkey '> Interrupt'
316 break
317 else
318 cast 'Cure'
319 wait 50
320 endif
321 endwhile
322 if targetexists
323 target self
324 wait 500
325 endif
326 endif
327 endif
328
329
330 if diffhits < 30 and mana >= 12 and timer lightningTimer >= cdLightning
331 while not targetexists
332 if dead myKillTarget or diffhits >= 30
333 hotkey '> Interrupt'
334 break
335 else
336 cast 'Lightning'
337 wait 50
338 endif
339 endwhile
340 if targetexists
341 target myKillTarget
342 settimer lightningTimer 0
343 wait 500
344 endif
345 endif
346
347 if diffhits < 30 and mana >= 5 and timer magicArrowTimer >= cdMagicArrow
348 while not targetexists
349 if dead myKillTarget or diffhits >= 30
350 hotkey '> Interrupt'
351 break
352 else
353 cast 'magic arrow'
354 wait 50
355 endif
356 endwhile
357 if targetexists
358 target myKillTarget
359 settimer magicArrowTimer 0
360 wait 500
361 endif
362 endif
363
364 if diffhits < 30 and mana >= 9 and timer harmTimer >= cdHarm
365 while not targetexists
366 if dead myKillTarget or diffhits >= 30
367 hotkey '> Interrupt'
368 break
369 else
370 cast 'harm'
371 wait 50
372 endif
373 endwhile
374 if targetexists
375 target myKillTarget
376 settimer harmTimer 0
377 wait 500
378 endif
379 endif
380
381 if diffhits < 30 and mana >= 12 and timer fireballTimer >= cdFireball
382 while not targetexists
383 if dead myKillTarget or diffhits >= 30
384 hotkey '> Interrupt'
385 break
386 else
387 cast 'fireball'
388 wait 50
389 endif
390 endwhile
391 if targetexists
392 target myKillTarget
393 settimer fireballTimer 0
394 wait 500
395 endif
396 endif
397
398 if diffhits >= 30
399
400 if findtype "Yellow Potion" backpack as pot
401 getlabel pot desc
402 if "next usable" in desc
403 // do nothing
404 else
405 dclick pot
406 wait 200
407 endif
408 endif
409
410 if diffhits >= 30 and mana >= 12
411 while not targetexists
412 if diffhits >= 60
413 cast 'Heal'
414 else
415 cast 'Greater Heal'
416 endif
417 wait 50
418 if hp = maxhp
419 hotkey '> Interrupt'
420 break
421 endif
422 endwhile
423 if targetexists
424 target self
425 wait 50
426 endif
427 endif
428 elseif mana < 55 and findbuff "actively meditating"
429 // wait for mana
430 elseif mana > 42
431 while not targetexists and mana > 40
432 if dead myKillTarget or diffhits >= 30
433 hotkey '> Interrupt'
434 break
435 else
436 cast 'Flamestrike'
437 wait 50
438 endif
439 endwhile
440 if targetexists
441 target myKillTarget
442 wait 500
443 endif
444 elseif not findbuff "actively meditating" and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
445 overhead "Eatting shrooms" 66
446 dclick mushy
447 settimer magicMushroomTimer 0
448 elseif not findbuff "actively meditating"
449 useskill 'meditation'
450 wait 500
451 endif
452 wait 50
453endwhile
454wait 500
455if targetexists
456 hotkey 'Cancel Current Target'
457endif
458say "all guard me"
459if counttype "mushroom" backpack < 5
460 while counttype "mushroom" backpack < 15
461 cast "Create Food"
462 wait 200
463 endwhile
464endif
465while mana < 50
466 if not findbuff "actively meditating"
467 useskill 'meditation'
468 endif
469 wait 500
470endwhile
471if timer vampiricEmbraceTimer >= cdVampiricEmbrace and findtype 8198 ground -1 -1 4 as jorpse
472 say "[VampiricEmbrace"
473 wft 500
474 target jorpse
475 settimer vampiricEmbraceTimer 0
476endif
477
478
479
480// curse
481// mana drain
482// magic arrrow
483// harm
484// fireball
485// lightening