Доброго дня.
Прошу помощи дописать в этот скрипт питье рефрешки при условии если стамина чара ниже определенного числа N.
Code:
#####################################################################
; Veterinary. v.1.08b (c) Edred
;
sub Veterinar()
; Ставим рядом двух чаров, у каждого по лошади. Рядом с чарами
; сундук. В сундук чистые бинты. Сериалы лошадей каждому в скрипт.
; Стравливаем лошадей (можно использовать скрипт provocat2.sc) и
; качаемся. Внимание! При низком скилле за работой скрипта надо
; следить (одним чаром, вытащив на экран статусы обоих лошадей) и
; периодически садиться на лошадь и отъезжать в сторону, слезать с нее
; и давать обоим чарам вылечить лошадей полностью. После 40-45 скилла
; нужда в этом отпадает (скилл растет быстро).
;
VAR Sunduk = '0x4048E250' ; Сериал сундука с бинтами
VAR Bandag = '0x0E21' ; Тип бинтов
VAR BlBandag = '0x0E20' ; Тип грязных бинтов
VAR Horse1 = '0x0040F759' ; Сериал лошади ЭТОГО чара
VAR fizzle = 'You apply bandages to a horse but fail'
VAR Success = 'You apply the bandages to a horse'
VAR mustwait = 'You must wait to use bandages again'
VAR k
UO.UseObject( Sunduk )
wait(1000)
While UO.SkillVal( 'Veterinary' ) < 1000
If UO.Count( Bandag ) < 10 Then
UO.FindType( Bandag, '-1', Sunduk )
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', '200' )
wait(500)
CheckLag()
Else
UO.Print( 'Bandage not found! Script terminated!' )
return
Endif
UO.FindType( BlBandag )
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', '0', sunduk )
wait(500)
CheckLag()
Endif
Endif
If UO.GetHP( Horse1 ) < UO.GetMaxHP( Horse1 ) Then
DeleteJournal( fizzle )
DeleteJournal( success )
DeleteJournal( mustwait )
UO.WaitTargetObject( Horse1 )
UO.UseType( Bandag )
k = 0
repeat
wait(100)
k = k + 1
until UO.InJournal( fizzle ) OR UO.InJournal( success ) OR UO.InJournal( mustwait ) OR k > 30
If UO.InJournal( success ) Then
wait(2500)
Endif
If UO.InJournal( mustwait ) Then
wait(500)
Endif
wait(1500)
Else
wait(500)
Endif
Wend
endsub
sub Provocat2()
;
; Для провокации вам в паке необходим муз.инструмент!
;
VAR ser1, ser2
VAR Horse1 = '0x00C8', Horse2 = '0x00E2'
UO.Set( 'finddistance', '2' )
UO.FindType( Horse1, '-1', '1' )
If UO.FindCount() == 0 Then
UO.FindType( Horse2, '-1', '1' )
If UO.FindCount() == 0 Then
UO.Print( 'Horse 1 not found!' )
return
Endif
Endif
ser1 = UO.GetSerial( 'finditem' )
UO.Print( ser1 )
UO.Ignore( 'finditem' )
UO.FindType( Horse1, '-1', '1' )
If UO.FindCount() == 0 Then
UO.FindType( Horse2, '-1', '1' )
If UO.FindCount() == 0 Then
UO.Print( 'Horse 2 not found!' )
UO.IgnoreReset()
return
Endif
Endif
ser2 = UO.GetSerial( 'finditem' )
UO.Print( ser2 )
UO.IgnoreReset()
UO.WaitTargetObject( ser1, ser2 )
UO.UseSkill( 'Provocation' )
endsub