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

Что-то не так со скриптом на тинкеринг.
http://forum.yoko.com.ua/viewtopic.php?f=20&t=4243
Page 1 of 1

Author:  Tergos [ 2005-06-17 07:14:38 ]
Post subject:  Что-то не так со скриптом на тинкеринг.

Вот этот скрипт время от времени выдает ошибку парсера и повисает. При попытке перезапустить выполнение скрипта - та же ошибка. Помогает только перезапуск инжекта. Что тут не так?
Code:
sub Tinkering()

uo.exec('addobject sunduk')
while uo.targeting()
  wait(100)
wend
while not uo.Dead() or UO.SkillVal('Tinkering')==1000
  uo.FindType('0x1BF2','0x0000','backpack')
  if uo.GetQuantity('finditem')<=10 then
    uo.FindType('0x0F0E','0x0000','backpack')
    if uo.GetQuantity('finditem')>25 then
      uo.SetReceivingContainer('sunduk')
      wait(100)
      uo.Grab('all','finditem')
      wait(100)
      uo.UnSetReceivingContainer()
    end if
    uo.FindType('0x1BF2','0x0000','sunduk')
    wait(100)
    uo.Grab('100','finditem')
    wait(100)
  end if
  CheckLag()
  uo.Waitmenu('Tinkering','Tools','Tools','empty bottle (2 Iron Ingot)')
  uo.UseType('0x1EBC')
  while not uo.InJournal("You put") and not uo.InJournal("failed")
    wait(300)
  wend
wend
end sub

Sub CheckLag()
uo.DeleteJournal()
uo.Click('backpack')
repeat
  wait(50)
until uo.InJournal('backpack')
end sub

Author:  Solaire [ 2005-06-17 07:41:56 ]
Post subject: 

Странный какой-то while. Должно быть, скорее всего, так:

while not uo.Dead() and not UO.SkillVal('Tinkering')==1000

Author:  Askaneli [ 2005-06-17 08:18:09 ]
Post subject: 

Code:
sub Tinkering() 

uo.exec('addobject sunduk')
while uo.targeting()
  wait(100)
wend
while not uo.Dead() or UO.SkillVal('Tinkering',1)<1000
  uo.FindType('0x1BF2','0x0000','backpack')
  wait(100)
  if uo.GetQuantity('finditem')<=10 then
    uo.FindType('0x0F0E','0x0000','backpack')
    wait(100)
    if uo.GetQuantity('finditem')>25 then
      CheckLag()
      uo.moveitem('finditem','-1','sunduk')
      wait(700)
    end if
    uo.FindType('0x1BF2','0x0000','sunduk')
    wait(100)
    CheckLag()
    uo.moveitem('finditem','100','backpack')
    wait(700)
  end if
  CheckLag()
  uo.Waitmenu('Tinkering','Tools','Tools','empty bottle (2 Iron Ingot)')
  uo.UseType('0x1EBC')
  while not uo.InJournal("You put") and not uo.InJournal("failed")
    wait(300)
  wend
wend
end sub

Sub CheckLag()
uo.DeleteJournal()
uo.Click('backpack')
repeat
  wait(50)
until uo.InJournal('backpack')
end sub

Author:  Tergos [ 2005-06-17 11:45:18 ]
Post subject: 

Эмм... А по пунктам? Чтоб на будущее таких ошибок не допускать...

Author:  Askaneli [ 2005-06-17 13:22:20 ]
Post subject: 

Tergos wrote:
Эмм... А по пунктам? Чтоб на будущее таких ошибок не допускать...

Grab заменил на MoveItem ибо так посовременее.
Задержки увеличил на перемещение итемов, ибо ты слишком быстро всё пытался делать.
Проверку на лаги и ВС поставил перед перемещением итемов.

Author:  Tergos [ 2005-06-17 20:46:50 ]
Post subject: 

А из-за чего мог виснуть?

Author:  flake [ 2005-06-17 21:05:38 ]
Post subject: 

Из-за слишком малых задержок после Мувов.

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