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

Помогите разобраться
http://forum.yoko.com.ua/viewtopic.php?f=3&t=16610
Page 1 of 1

Author:  xplorer [ 2011-05-12 00:35:03 ]
Post subject:  Помогите разобраться

Есть такой скрипт. Собственно говоря ничего сверхестественного - крафтит бутылочки. Но вылетает через 5 минут unhadled parser error, или что-то похожее. Взял скрипт на тинкер из Top Quality, работает без проблем, делаю вывод - я что-то делаю не так. Визуальное сравнение двух скриптов (точнее частей отвечающих за крафт) ничего не принесло. Хочется очень разобраться в чем проблема, поможете? :) Заранее спасибо)
Code:
sub tinker()
 while (0 == 0)
   uo.automenu('Tinkering','Tools')
   uo.automenu('Tools','bottle')
   uo.usetype('0x1EBC')
   uo.deletejournal()
   while not uo.injournal("failed") and not uo.injournal("You put")
      wait(500)
   wend
   wait(500)
wend
end sub


Upd: Ммм.... Попробовал исправить на
Code:
sub tinker()
uo.automenu('Tinkering','Tools')
uo.automenu('Tools','bottle')
 while (0 == 0)
   uo.usetype('0x1EBC')
   uo.deletejournal()
   while not uo.injournal("failed") and not uo.injournal("You put")
      wait(500)
   wend
   wait(500)
wend
end sub


Тестю)

Author:  Mirage [ 2011-05-12 07:53:16 ]
Post subject:  Re: Помогите разобраться

Так чуть получше будет.
Code:
sub tinker()
var LastTimer
var msg ='You put|положили|fail|не удалось|You broke|сломали'
UO.CancelMenu() ; сбрасываем меню
uo.automenu('Tinkering','Tools')
uo.automenu('Tools','bottle') ; внимательно с названием бутылок. Регистр ВАЖЕН!!!
   while not UO.Dead()
      UO.DeleteJournal()
      LastTimer=UO.Timer()
      uo.usetype('0x1EBC')
      repeat
         wait( 300 )
      until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
   wend
UO.CancelMenu() ; если умерли - сбрасываем меню.
end sub

Author:  xplorer [ 2011-05-12 11:45:25 ]
Post subject:  Re: Помогите разобраться

Да, получше, но смысл был в ошибке. Я так понял что она вылетала из-за неправильного использования uo.automenu(). К сожалению достаточно долго пока что потестить свою догадку не удалось :)

Author:  Mirage [ 2011-05-12 12:23:53 ]
Post subject:  Re: Помогите разобраться

автоменю "запоминается" в инжекте, отменяется UO.CancelMenu().
Вейтменю одноразовая команда. В твоем первом скрипте если бы ты воспользовался
UO.WaitMenu ('Tinkering', 'Tools', 'Tools', 'bottle' )
скрипт бы работал правильно. А так получилось что в память наваливается одна и таже команда каждый раз.
Потому и вылезала ошибка.
+ еще не было выхода из цикла (если сообщение удача/неудача не проскакивало)

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