Code: Select all
#####################################################################
; Herding v.1.02b (c) Edred
;
; Для прокачки потребуются две лошади (ламы или другие животные)
; и два щита (или какие-то другие объекты). Кладем щиты на пол в доме
; в паре шагов от чара (не стопкой, в соседние тайлы) и ставим обеих
; лошадей рядом с чаром. Чару в руку посох (одного посоха хватит на всю
; прокачку). Вносим серийники лошадей и щитов в соответствующие переменные.
; Поехали. Блоки, отвечающие за подкормку чара и прокачку
; Spirit Speak закомментарены.
;
sub Herding()
VAR Horse = '0x0040D2A1'
VAR Horse2 = '0x005AF4B1'
VAR Targ = '0x404215E8'
VAR Targ2 = '0x404214EF'
VAR Sunduk = '0x404E5494'
UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
VAR success = "The animal goes where it is instructed"
VAR fizzle = "You don't seem"
VAR SpiritTime = UO.Timer()
UO.UseObject( Sunduk )
wait(1000)
CheckLag()
While UO.SkillVal( 'Herding' ) < 1000
EatChar( Sunduk, 2, 1, 120 )
If ( UO.Timer() - SpiritTime ) / 600 > 5 Then
; Прошло 5 минут с момента последней прокачки Spirit Speak
SpSpeak()
SpiritTime = UO.Timer()
Endif
DeleteJournal( success )
DeleteJournal( fizzle )
UO.WaitTargetObject( Horse, Targ )
UO.UseObject( UO.ObjAtLayer( 'Lhand' ) )
repeat
wait(100)
until UO.InJournal( fizzle ) OR UO.InJournal( success )
If UO.InJournal( success ) Then
; вторая животина
DeleteJournal( success )
UO.WaitTargetObject( Horse2, Targ2 )
UO.UseObject( UO.ObjAtLayer( 'Lhand' ) )
repeat
wait(100)
until UO.InJournal( fizzle ) OR UO.InJournal( success )
Endif
Wend
endsub