Ну раз тут что-то вроде кастинга на лучший тейлор дня, то вот ещё вариант
Code:
Sub Tailoring()
var msg = 'ou put|fail', Pause = 100, Time, Delay = 5, id_Container = '0x12345678', id_Trash = '0x12345678', t_SewingKit = '0x1234' t_BodySash = '0x1234', t_Cloth = '0x1234', ClothNeeded = Тут кол-во тряпок на крафт однной повязки
While UO.SkillVal('Tailoring', 1) < 1000 and not UO.Dead()
UO.FindType(t_BodySash, -1, 'backpack')
If UO.FindCount() then
CheckLag()
UO.MoveItem('finditem', -1, id_Trash)
Wait(Pause)
else
If UO.Count(t_Cloth) >= ClothNeeded then
DelJournal(msg)
Time = UO.Timer()
UO.WaitMenu('Cloth', 'Misc', 'Misc', 'body')
UO.UseType(t_SewingKit)
Repeat
Wait(100)
Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer()
else
UO.UseObject(id_Container)
UO.FintType(t_Cloth, -1, id_Container)
If UO.FindCount() then
CheckLag()
UO.MoveItem('finditem', 100, 'backpack')
Wait(Pause)
else
UO.Print('Нет тряпок в ящике!!!!!!')
Return
Endif
Endif
Endif
EatSomeSteaks()
Wend
Endsub
Sub EatSomeSteaks()
var t_Steaks = '0x1234', msg = 'simply|full', Time, Delay = 10, id_Container = '0x12345678', Pause = 100
DelJounal(msg)
Time = UO.Timer()
Repeat
If Count(t_Steaks) then
UO.UseType(t_Steaks)
Wait(100)
else
UO.UseObject(id_Container)
UO.FindType(t_Steaks, -1, id_Container)
If UO.FindCount() then
CheckLag()
UO.MoveItem('finditem', 10, 'backpack')
Wait(Pause)
else
UO.Print('Нет хавки в ящике!!! ЗАСАДА!!!')
Return
Endif
Endif
Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer()
Endsub
Sub DelJournal(msg)
While uo.injournal(msg)
UO.SetJournalLine(UO.InJournal(msg) - 1, '')
Wend
Endsub
Sub CheckLag()
DelJournal('ackpack')
UO.Click('backpack')
Repeat
Wait(100)
Until UO.InJournal('ackpack')
Endsub
Тоже с парсеррорами возможно =)
100 пудово парсер родился у тестера изза строки ClothNeeded = Тут кол-во тряпок на крафт однной повязки ©Mirage 