codice:
	
	;=============================
;Vash Healer v. 2.1
;=============================
;>>>>TENETE SEMPRE APERTI ZAINO E STATUS BAR!!!<<<<
;Testato su emulatore di Ultima Online RunUO 1.0.1 (con settaggi bendata OSI) col client 5.0.0b
;Dovrebbe funzionare senz'altro anche coi client vecchi.
;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.
;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 1
;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
;=========
linespercycle 20
mainloop:
if #hits < #maxhits || C in #charstatus
     {
     GoSub CheckAids
     if #result = #true
          {
         GoSub CheckDex
         GoSub Apply
         if #result = #false
              goto mainloop
         GoSub Waitnew
         wait 2
         }
     }
wait 1
goto mainloop
;SUB CHECK AIDS
;==============
Sub CheckAids
finditem ZLF C_ , #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 #finstack 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
wait 1
goto _waitsysmsgloop
;SUB WAITNEW
;============
Sub WaitNew
set %keypressed 0
set %end %euowait + %applystart
set %limitcure %end - 16
waitloop:
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 F11 ; cambiatelo se necessario
          set %keypressed 1
          }
     }
if #SCNT2 >= %end || you_finish_applying in #sysmsg
     return
goto waitloop




 ICQ 155767608
 ICQ 155767608


 
							
						
Commenta