Yoko
http://forum.yoko.com.ua/

Veterinary
http://forum.yoko.com.ua/viewtopic.php?f=17&t=17760
Page 2 of 2

Author:  Incorrect User [ 2016-06-25 12:31:55 ]
Post subject:  Re: Veterinary

Я не пойму что ты делаешь

if uo.getquantity('0x0E21') < 10 then - значение вписывается как ID а не type, я же сразу вписал "finditem"
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', '200' ) - не указан контейнер куда кидать

Author:  NiggaSuperBulka [ 2016-06-25 12:45:41 ]
Post subject:  Re: Veterinary

Да, я чета не то написал там.
Во так работает вроде как надо:
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")

Page 2 of 2 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/