Помогите со скриптом на тинкеринг (BestUO)

Ask for help

Moderators: Murderator+, Murderator

Post Reply
KocTuk
Posts: 3
Joined: 2016-04-25 05:57:32

Помогите со скриптом на тинкеринг (BestUO)

Post by KocTuk »

Берёт инги только если сундук открыт, делает одну бутылку и замирает, если два раза тыкнуть на инструмент , то делает ещё одну бутылку ;(
Помогите пожалуйста разобраться, если я тут разберусь то смогу переделывать етот скрипт и под другие крафтовые скиллы.
Спасибо.

Code: Select all

sub TinkerBottle()
VAR LastTimer
VAR Bottle   = '0x0F0E'
VAR Ing      = '0x1BEF'     
VAR Instrum  = '0x1EBC'
VAR delay1   =  200
VAR sunduk1  = '0x4046353A'
WHILE NOT UO.Dead()

       If UO.Count( Ing ) < 10 Then
     UO.Print("Iron not found")
      UO.FindType( Ing, '-1', sunduk1)
       If UO.FindCount() > 0 Then
    uo.moveitem('finditem',100,'backpack')
         wait( delay1 )
        Else
         UO.Print( 'Iron not found' )
            return
        Endif
    Endif
   Repeat
     UO.DeleteJournal()
      LastTimer=UO.Timer()
       UO.WaitMenu ('Tinkering', 'Miscellaneous', 'Miscellaneous', 'Empty Bottle' )
       UO.Usetype( Instrum )
      repeat
        wait( delay1 )
      until UO.InJournal("You make|fail|You broke") or UO.Timer()>LastTimer+150
   Until UO.Count( Bottle ) > 0
checklag()
;    wait( delay1 )
      while UO.Count( Bottle ) > 0
       UO.FindType( Bottle, -1, -1 )
       UO.MoveItem( 'finditem', 0, sunduk1 )
checklag()
      wend
   wait( delay1 )
UO.FindType( Bottle, -1, sunduk1 )
UO.Print('Bottle in sunduk: '+Str(UO.GetQuantity('finditem')))
WEND
end sub

   

Sub CheckLag()
   DeleteJournal( 'Backpack' )
   UO.Click( 'Backpack' )
   repeat
      wait(100)
   until UO.InJournal( 'Backpack' )
   return
end sub


Sub DeleteJournal(msg)
var nom=UO.InJournal(msg)
  if nom>0 then
     UO.SetJournalLine(Nom - 1," ----- 8< ----- ")
     DeleteJournal(msg)
  endif
endsub

Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Помогите со скриптом на тинкеринг (BestUO)

Post by Mirage »

Не срабатывает ловушка

Code: Select all

      repeat
        wait( delay1 )
      until UO.InJournal("You make|fail|You broke") or UO.Timer()>LastTimer+150

Попробуй прописать вот так:

Code: Select all

      repeat
        wait( delay1 )
      until UO.InJournal("You make|fail|You broke|the item") or UO.Timer()>LastTimer+150


И проверяй меню. Оно меняется от скилла и количества элементов.
KocTuk
Posts: 3
Joined: 2016-04-25 05:57:32

Re: Помогите со скриптом на тинкеринг (BestUO)

Post by KocTuk »

Всё так же , берёт 100 ингов, делает одну бутылку и всё
получается тут где то
Endif
Repeat
UO.DeleteJournal()
LastTimer=UO.Timer()
UO.WaitMenu ('Tinkering', 'Miscellaneous', 'Miscellaneous', 'Empty Bottle' )
UO.Usetype( Instrum )
repeat
вот ета часть норм,он делает
wait( delay1 )
until UO.InJournal("You make|fail|You broke|the item") or UO.Timer()>LastTimer+150
Until UO.Count( Bottle ) > 0
вот ету я не могу понять,сообщение не всегда выводится.
checklag()
; wait( delay1 )
while UO.Count( Bottle ) > 0
UO.FindType( Bottle, -1, -1 )
UO.MoveItem( 'finditem', 0, sunduk1 )
checklag()
вот тут он выжидает,если бутылок больше одной, он находит её и найденный предмет перемещает в сундук.

я незнаю что такое венд, и зачем нужен тут lastTimer ? первый раз с ним сталкиваюсь
Post Reply