Page 1 of 1

Bowcraft: Делаем стрелы из шафтов и перьев...

Posted: 2009-08-07 17:39:37
by Nima4akin
Вот столкнулся с проблемой: есть куча шафтов и перьев, а хотелось бы сделать из них стрелы... Пробовал пользоваться скриптом:

Code: Select all

##################################################################### 
; Bowcraft2. v.1.04b (c) Edred
;
; Чар берет из сундука шафты и перья, крафтит из них стрелы и
; складывает эти стрелы в этот же сундук.
; Если шафты или перья закончились - выход.
;
sub bowcraft2()
   VAR Sunduk = '0x4044FB80'       ; Сериал сундука
   VAR Shafts = '0x1BD4'          ; Тип шафтов
   VAR Feather = '0x1BD1'         ; Тип перьев
   VAR Arrows = '0x0F3F'         ; Тип стрел
   VAR Kolvo = 1               ; Брать шафтов для одного крафта
   VAR k = 0, j
      UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
   UO.CancelMenu()
   UO.AutoMenu ('Select arrow type', 'arrow' )
   While TRUE
      EatChar( Sunduk, 2, 1, 120 )
      If UO.Count( Shafts ) == 0 Then
         UO.FindType( Shafts, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("Shafts not found, script terminated")
            return
         Endif
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
         while UO.Count( Shafts ) < Kolvo
            wait(100)
         wend
         CheckLag()
      Endif
      If UO.Count( Feather ) == 0 Then       
         UO.FindType( Feather, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("Feather not found, script terminated")
            return
         Endif
         UO.Grab( Str( Kolvo ), 'finditem' )
         wait(500)
         while UO.Count( Feather ) < Kolvo
            wait(100)
         wend
         CheckLag()
      Endif
      UO.DeleteJournal()
      UO.UseType( Shafts )
      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( Arrows ) > 0 then
         UO.FindType( Arrows, -1, -1 )
         UO.MoveItem( 'finditem', 0, Sunduk )
         wait(500)
         while UO.Count( Arrows ) > 0
            wait(100)
         wend
         UO.Print( 'Arrows moved' )
      Endif
   Wend
end sub

Естественно все значения (ИД сундука, тип шафтов и проч) подправил, но вот проблема, выдает ошибку:
Line 100 function not found - EATCHAR
Помоги нубу =) Скажите, как дописать этот скрипт или дайте новый (поиск юзал!). Прошу учесть, что в скриптостроении я полный 0, поэтому, если поправите это скрипт, то дайте пожалуйста код и фрагмент, куда его вписывать. Заранее спс.

Posted: 2009-08-07 17:41:12
by Scripts Writer
Удали эту строку

Code: Select all

      EatChar( Sunduk, 2, 1, 120 )


либо найди на форуме одноимённый скрипт и вставь в том же файле ниже.

Posted: 2009-08-07 17:54:32
by Nima4akin
Удалил. Тогда делает от 0 до 2 стрел и пишет одну из двух ошибок:
Line 124 function not found - CHECKLAG
Line 111 function not found - CHECKLAG

Posted: 2009-08-07 18:28:06
by Nima4akin
Не поверите! Просто удалил строки 111 и 124 и вуаля... работает!

Posted: 2009-08-07 19:09:25
by Mirage
Трудно поверить :lol:

PS без чеклагов может глючить. Не все лучше удалять :roll:

Posted: 2009-08-07 23:54:22
by Nmy

Code: Select all

VAR Chest='0x4033008D' ; ИД сундука где все
VAR TFeather='0x1BD1'
VAR TArrow='0x0F3F'
VAR TShaft='0x1BD4' ; Тип шафтов
sub Bowcrafting_arrows()
   uo.useobject(Chest)
   wait(200)
   while 1
     uo.findtype(TShaft,-1,Chest)
     if uo.findcount() then
       uo.moveitem('finditem',1,'backpack')
     else
       return
    endif
     wait(300)
     uo.findtype(TFeather,-1,Chest)
     if uo.findcount() then
       uo.moveitem('finditem',1,'backpack')
     else
       return
     endif
     wait(300)
     uo.usetype(TFeather)
     uo.waitmenu('Select arrow type','arrow')
     wait(3100)
     uo.findtype(TArrow,-1,'backpack')
     if uo.getquantity('finditem')>25 then
       uo.moveitem('finditem',0,Chest)
       wait(1000)
     endif
   wend
end sub

Re: Bowcraft: Делаем стрелы из шафтов и перьев...

Posted: 2015-05-10 08:34:16
by SilverOZ
Можна узнати пачиму всиоранво он делаит все стрелы сразу, мне нада штоб он делал по аднои