Yoko

All sides of Injection
It is currently 2025-12-29 16:54:31

All times are UTC+02:00




Post new topic  Reply to topic  [ 1 post ] 
Author Message
PostPosted: 2005-06-11 13:30:23 
Offline

Joined: 2005-05-19 15:21:48
Posts: 3
Народ подскажите плизз, почему не пашет скрипт на боукрафтинг
Code:
##################################################################### 
; Bowcraft. v.1.03b (c) Edred
;
; Чар берет из сундука логи, крафтит из них шафты
; и складывает эти шафты в этот же сундук.
; Если логи закончились - выход.
; Если даггер (или что вы там используете) сломался -
; скрипт найдет аналогичный по типу в бэкпаке и возьмет
; в руки.
;
; 1.03b: Проверка, если Kolvo = 1, то берем три и кладем обратно два
;        лога.
;
sub bowcraft()
   VAR Sunduk = '0x4030CBC8'       ; Сериал сундука
   VAR Logi = '0x1BDD'          ; Тип логов
   VAR Shafts = '0x1BD4'          ; Тип шафтов
   VAR Kolvo = 3               ; Брать логов для одного крафта
   VAR k = 0, j, dagger
   dagger = UO.ObjAtLayer( 'Rhand' )
   UO.SetGlobal( 'instrtype', UO.GetGraphic( dagger ) )
   While TRUE
      UO.FindType( Logi, -1, Sunduk )   ; Ищем логи в сундуке
      If UO.FindCount() == 0 Then
         UO.Print("Logs not found, script terminated")
         return
      else
         j = UO.GetQuantity( 'finditem' )
         If j > Kolvo Then
            UO.Print( 'I can use ' + str( j ) + ' logs' )
         else
            UO.Print( "I can't use " + str( j ) + " logs" )
            return
         Endif
      Endif
      If Kolvo == 1 Then
         ; v. 1.03
         UO.Grab( '3', 'finditem' )
         wait(500)
         UO.FindType( Logi )
         UO.MoveItem( 'finditem', '2', Sunduk )
         wait(500)
      Else
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
      Endif
      ; А это - динамическая пауза на мув
      while UO.Count( Logi ) < Kolvo
         wait(100)
      wend
      ; проверка на то, что в руках по-прежнему даггер
      If CheckInstr() == 0 Then
         UO.Print("You don't have daggers!" )
         return
      Endif
      UO.DeleteJournal()
      UO.CancelMenu()
      UO.WaitMenu ('What do you want to carve', 'shaft' )
      UO.WaitTargetType( Logi )
      UO.UseObject( dagger )
      k = 0
      while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
         k = k + 1
         wait(300)
      wend
      If UO.Count( Shafts ) > 0 then
         UO.FindType( Shafts, -1, -1 )
         UO.MoveItem( 'finditem', 0, Sunduk )
         wait(500)
         while UO.Count( Shafts ) > 0
            wait(100)
         wend
         UO.Print( 'Shafts moved' )
      Endif
   Wend
end sub

Sub CheckInstr()
   ; проверим, есть ли в правой руке инструмент того же
   ; типа, что и в глобальной переменной instrtype
   ; если нет - найдем в бэкпаке такой инструмент и
   ; возьмем в правую руку.
   VAR typ = UO.GetGlobal( 'instrtype' )
   VAR cur = UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) )
   If typ == cur Then
      return 1
   Endif
   UO.FindType( typ )
   If UO.FindCount() == 0 Then
      return 0
   Endif
   UO.Equip( 'RHand' , 'finditem' )
   wait(1000)
   return 1
endsub

Вроде все тайпы и сериалы проставил, а он все равно не пашет ((
При запуске ведаёт сообшение о количестве логов в сундуке , делает первую партию шафтов , кидает в сундук , и выдаёт сообщение что логов нету ((((


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 1 post ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited