Yoko
http://forum.yoko.com.ua/

Помогите со скриптом на тинкеринг (BestUO)
http://forum.yoko.com.ua/viewtopic.php?f=3&t=17746
Page 1 of 1

Author:  KocTuk [ 2016-04-25 06:05:22 ]
Post subject:  Помогите со скриптом на тинкеринг (BestUO)

Берёт инги только если сундук открыт, делает одну бутылку и замирает, если два раза тыкнуть на инструмент , то делает ещё одну бутылку ;(
Помогите пожалуйста разобраться, если я тут разберусь то смогу переделывать етот скрипт и под другие крафтовые скиллы.
Спасибо.
Code:
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


Author:  Mirage [ 2016-04-25 07:15:40 ]
Post subject:  Re: Помогите со скриптом на тинкеринг (BestUO)

Не срабатывает ловушка
Code:
      repeat
        wait( delay1 )
      until UO.InJournal("You make|fail|You broke") or UO.Timer()>LastTimer+150

Попробуй прописать вот так:
Code:
      repeat
        wait( delay1 )
      until UO.InJournal("You make|fail|You broke|the item") or UO.Timer()>LastTimer+150


И проверяй меню. Оно меняется от скилла и количества элементов.

Author:  KocTuk [ 2016-04-25 07:56:23 ]
Post subject:  Re: Помогите со скриптом на тинкеринг (BestUO)

Всё так же , берёт 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 ? первый раз с ним сталкиваюсь

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/