;============================= ;Vash Healer v. 2.6 ;============================= ; >>>>TENETE SEMPRE APERTI STATUS BAR E BACKPACK!!!<<<< ; Da usare con RunUO 2.0 e shard OSI-Style. ; Se le bende finiscono o sono poche ti avverte. ; Ma basta rifornirsi senza dover riavviare lo script. ; Controlla il journal per verificare che le bende siano state correttamente applicate, altrimenti riprova. ; Ottimo calcolo della bendata in base alla dex, secondo le ultime modifiche OSI. ; Mostra una sorta di countdown sulla testa del pg, rappresentante i decimi di secondo mancanti alla fine della bendata. ; Nota importante: per evitare problemi vari, tra cui quello di magie che ti vengono addosso... ; ... lo script non benderŕ se il mirino č target. Quindi se rimane fuori il target, premete ESC per toglierlo.. ; ... e lo script tornerŕ a bendare. ; Inoltre č fatto in modo da far finire la bendata un decimo di secondo dopo il mortal, se se ne riceve uno. ; Disattivare il target queue di razor per evitare di bendare i nemici. ;SETUP ;=========== ;set %counter 1 per usare il contatore in decimi di secondo, set %counter 0 per non usarlo set %counter 1 ;SPECIAL CURE ;============= ;E' anche possibile far funzionare lo script in modo che beva una pozione contro il veleno poco prima che finisca la bendata, ;in modo che sia impossibile farla fallire. ;Basta impostare su F11 una macro di Razor che beve la pozione cure (togliendo scudo ovviamente), e settare %cure a 1 anzichč 0. set %cure 0 ;Se invece non volete usare automaticamente pozze cure, lasciate %cure a 0. ;Se non vi piace il tasto F11 potete cambiarlo in fondo allo script. ;Ma non mettete combinazioni di tasti come CTRL F11 perchč razor non li intercetta. ;Finisce qui il setup, modificate lo script sottostante solo se sapete scriptare o volete cambiare il tasto per razor. ;MAIN LOOP ;========= set #lpc 60 set %mortal #true _mainloop: if ( ( ( #hits < ( #maxhits - 5 ) ) || C in #charstatus ) && H notin #charstatus ) { GoSub CheckAids if #result = #true { set #ltargetkind 1 if #targcurs = 1 GoSub WaitCurs GoSub CheckDex GoSub Apply if #result = #false goto mainloop GoSub Waitnew wait 2 } } onhotkey F8 ; il tasto della megaexplo { event sysmessage Pausa bendata wait 5s } sleep 10 goto _mainloop ;SUB CHECK AIDS ;============== Sub CheckAids finditem ZLF CA_ , #BACKPACKID if #findstack = 0 { event ExMsg #charID 3 0 No bandages found! wait 5s return #false } if #findstack < 10 && #findcnt < 2 event sysmessage Attention, only #findstack aids remaining return #true ;SUB CHECK DEX ;============== Sub CheckDex set %delay 11 - ( #dex / 20 ) set %euowait %delay * 10 return ;SUB APPLY ;========= Sub Apply aidloop: finditem ZLF C_ , #BACKPACKID set #lobjectid #findid set %startscan #jindex event macro 17 0 target 15 if #targcurs = 0 goto aidloop event macro 23 0 GoSub WaitStartMsg 15 if #result = #false goto aidloop if #result = 1 return #false return ;SUB WAITSTARTMSG ;=============== Sub WaitStartMsg set %start #scnt2 set %start %start + %1 _waitsysmsgloop: for %i %startscan #jindex { scanjournal %i if you_begin in #journal { set %applystart #scnt2 return #true } if that_being in #journal return 1 } if #scnt2 >= %start return #false set %startscan #jindex wait 1 goto _waitsysmsgloop ;SUB WAITNEW ;============ Sub WaitNew set %keypressed 0 set %end %euowait + %applystart set %limitcure %end - 20 waitloop: if D in #charstatus && %mortal = #false { set %mortal #true set %mortend #scnt2 + 64 mortloop: if ( %euowait + #scnt2 ) > ( %mortend - 4 ) return goto mortloop } if %counter = 1 { set %remaining ( %end - #scnt2 ) event ExMsg #charID 3 0 %remaining } wait 2 if C in #charstatus && %cure = 1 { if #scnt2 > %limitcure && %keypressed = 0 { key F7 ; cambiatelo se necessario set %keypressed 1 } } if #SCNT2 >= %end || you_finish_applying in #sysmsg { if %mortal set %mortal #false return } goto waitloop ;SUB WAITCURS ;============= Sub WaitCurs _cursloop: if #targcurs = 1 goto _cursloop wait 1 return