Back to "question" tags

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