Вот этот скрипт время от времени выдает ошибку парсера и повисает. При попытке перезапустить выполнение скрипта - та же ошибка. Помогает только перезапуск инжекта. Что тут не так?
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
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
Tergos wrote:Эмм... А по пунктам? Чтоб на будущее таких ошибок не допускать...
Grab заменил на MoveItem ибо так посовременее.
Задержки увеличил на перемещение итемов, ибо ты слишком быстро всё пытался делать.
Проверку на лаги и ВС поставил перед перемещением итемов.