Veterinary

Ask for scripts here

Moderators: Murderator+, Murderator

Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Veterinary

Post by Incorrect User »

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

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

Re: Veterinary

Post by NiggaSuperBulka »

Да, я чета не то написал там.
Во так работает вроде как надо:

Code: Select all

#####################################################################
; 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: Select all

uo.findtype("0x0E21")
Post Reply