Да, я чета не то написал там. Во так работает вроде как надо:
Code: ##################################################################### ; Veterinary. v.1.08b (c) Edred ; sub Veterinar() ; Ставим рядом двух чаров, у каждого по лошади. Рядом с чарами ; сундук. В сундук чистые бинты. Сериалы лошадей каждому в скрипт. ; Стравливаем лошадей (можно использовать скрипт provocat2.sc) и ; качаемся. Внимание! При низком скилле за работой скрипта надо ; следить (одним чаром, вытащив на экран статусы обоих лошадей) и ; периодически садиться на лошадь и отъезжать в сторону, слезать с нее ; и давать обоим чарам вылечить лошадей полностью. После 40-45 скилла ; нужда в этом отпадает (скилл растет быстро). ; VAR Sunduk = '0x40EA5CD6' ; Сериал сундука с бинтами и медом VAR Bandag = '0x0E21' ; Тип бинтов VAR BlBandag = '0x0E20' ; Тип грязных бинтов VAR Refresh = '0x0F0B' ; Тип банки рефреш VAR Horse1 = '0x00C9442F' ; Сериал лошади ЭТОГО чара 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 uo.findtype("0x0E21") if uo.getquantity("finditem") < 10 then UO.FindType( Bandag, '-1', Sunduk ) If UO.FindCount() > 0 Then UO.MoveItem( 'finditem', '200', 'backpack' ) wait(500) Endif Endif 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) Endif If UO.Count( Refresh ) < 1 Then UO.FindType( Refresh, '-1', Sunduk ) If UO.FindCount() > 0 Then UO.MoveItem( 'finditem', '1' ) wait(500) Endif Endif If UO.GetHP( Horse1 ) < UO.GetMaxHP( Horse1 ) Then uo.DeleteJournal( fizzle ) uo.DeleteJournal( success ) uo.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 if uo.stamina < 30 then uo.usetype('0x0F0B') end if Wend endsub
Только кажется вот это еще лишнее, хотя и не мешает:
Code: uo.findtype("0x0E21")
|