Page 1 of 1

Помогите

Posted: 2005-03-20 09:04:30
by Adec[DrW]
Люди помогите со скриптом на Бофкрафт. Он не работает.

Code: Select all

 ##################################################################### 
; Bowcraft. v.1.03b (c) Edred 
; 
; Чар берет из сундука логи, крафтит из них шафты 
; и складывает эти шафты в этот же сундук. 
; Если логи закончились - выход. 
; Если даггер (или что вы там используете) сломался - 
; скрипт найдет аналогичный по типу в бэкпаке и возьмет 
; в руки. 
; 
; 1.03b: Проверка, если Kolvo = 1, то берем три и кладем обратно два 
;        лога. 
; 
sub bowcraft() 
   VAR Sunduk = '0x4042B1A1'       ; Сериал сундука 
   VAR Logi = '0x1BDD'          ; Тип логов 
   VAR Shafts = '0x1BD4'          ; Тип шафтов 
   VAR Kolvo = 10               ; Брать логов для одного крафта 
   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 

Posted: 2005-03-20 12:39:13
by CErebrus
напиши что хоть пишет!

Posted: 2005-03-20 13:16:09
by Sfagnum
CErebrus wrote:напиши что хоть пишет!
хочешь напишу тебе его ответ?
- ничего не пишет - просто запускается, делает что то и тупит или просто тупит.

ЗЫ это не поклёп на Edred'а, я просто показал как люди обычно описывают свои проблемы ;)

Posted: 2005-03-21 01:44:28
by Goggy
Sfagnum wrote:
CErebrus wrote:напиши что хоть пишет!
хочешь напишу тебе его ответ?
- ничего не пишет - просто запускается, делает что то и тупит или просто тупит.

ЗЫ это не поклёп на Edred'а, я просто показал как люди обычно описывают свои проблемы ;)
млин, сто пудово, мя такие задрали в аське :evil: :?

Posted: 2005-03-21 02:31:25
by Sfagnum
Goggy wrote:млин, сто пудово, мя такие задрали в аське :evil: :?
а я в инвиз ушёл :)
причём в постоянку...а для непонятливых игнор лист есть ;)

Posted: 2005-03-21 03:18:51
by Goggy
хех, эт ясно... у мя в игноре щас 65 чел :twisted:

Posted: 2005-03-21 11:16:22
by Adec[DrW]
Все работает, просто кое что переписать надо было.Он после физла сбиваля. Вот чуть переделал и все работает

Posted: 2005-03-21 12:14:34
by Sfagnum
типа

Code: Select all

if UO.InJournal('fail') then
wait(300)
end if
или просто кто то рядом юзал к примеру алхимию ;)

Posted: 2005-03-21 14:12:24
by Askaneli
Goggy wrote:
Sfagnum wrote:
CErebrus wrote:напиши что хоть пишет!
хочешь напишу тебе его ответ?
- ничего не пишет - просто запускается, делает что то и тупит или просто тупит.

ЗЫ это не поклёп на Edred'а, я просто показал как люди обычно описывают свои проблемы ;)
млин, сто пудово, мя такие задрали в аське :evil: :?
Ответ: 20 WMZ, сразу как-то народ отсеивает.