Помогите пожалуйста. При чар атакует чара-куклу с луком, потом лечит его, но почему то лечит 1-2 раза и снова бьет. Все хп не вылечивает. В чем тут проблема? Заранее благодарю.
sub main() var selfID = UO.GetSerial('self') var ID = '0x004CFD60' ## ID персонажа которого бить надо UO.Exec("exec reconnector") UO.Exec("setarm wp") while not UO.Dead() if GetHP(ID) < 60 then uo.Exec('warmode 0') UO.Disarm() while GetHP(ID) < 60 uo.Exec('warmode 0') Healing(ID) wait(100) wend UO.Exec("arm wp") wait(1000) uo.Exec('warmode 1') end if wait(500) UO.Attack(ID) wend end sub
sub GetHP(ID) var maxhp, result UO.GetStatus(ID) maxhp = UO.GetMaxHP(ID) if maxhp > 0 then result = (UO.GetHP(ID) * 150) / maxhp else result = 0 end if return result end sub
sub Healing(ID) var b=0x0E21 ;if UO.Life < UO.Str then UO.WaitTargetObject(ID) UO.UseType(b) CheckLag() uo.Exec('warmode 0') wait(1000) uo.Exec('warmode 0') wait(1000) uo.Exec('warmode 0') wait(1000) return true ;end if return true end sub
sub CheckLag() DeleteJournal('backpack') repeat UO.Click('backpack') wait(500) until UO.InJournal('backpack') end sub
sub DeleteJournal(msg) var num while UO.InJournal(msg) num = UO.InJournal(msg) UO.SetJournalLine(num - 1,' ') wend end sub
sub CheckBandage() uo.WaitTargetType('0x1008') uo.UseType('0x0E20') wait(1000) end sub
sub Reconnector() var RFlag RFlag = 1 Repeat While (UO.ObjAtLayer('Bpack') == '') if RFlag Then RFlag = 0 endif Wait(20000) # WorldSave Protection UO.Say('') Wait(3000) UO.Say('') Wait(3000) UO.Say('') Wait(3000) UO.LDblClick(357,164) UO.LClick(616,459) Wait(3000) WEnd Wait(3000) if (RFlag == 0) Then RFlag = 1 endif Until false end sub
sub main() var selfID = UO.GetSerial('self') var ID = '0x004CFD60' ## ID персонажа которого бить надо var MAXHP = 150 ## максимальное значение жизни у цели. Отрегулируй. UO.Exec("exec reconnector") UO.Exec("setarm wp") while not UO.Dead() if GetHP(ID) < 60 then uo.Exec('warmode 0') UO.Disarm() while GetHP(ID) < MAXHP if UO.WarMode()==1 then UO.WarMode(0) endif Healing(ID) wait(100) wend UO.Exec("arm wp") wait(1000) uo.warmode (1) end if wait(500) UO.Attack(ID) wend end sub sub GetHP(ID) var maxhp, result UO.GetStatus(ID) maxhp = UO.GetMaxHP(ID) if maxhp > 0 then result = (UO.GetHP(ID) * 150) / maxhp else result = 0 end if return result end sub sub Healing(ID) var b=0x0E21 if UO.WarMode()==1 then UO.WarMode(0) endif UO.WaitTargetObject(ID) UO.UseType(b) CheckLag() wait(3000) return true end sub sub CheckLag() DeleteJournal('ackpack') repeat UO.Click('backpack') wait(500) until UO.InJournal('ackpack') end sub sub DeleteJournal(msg) var num while UO.InJournal(msg) num = UO.InJournal(msg) UO.SetJournalLine(num - 1,' ') wend end sub sub CheckBandage() uo.WaitTargetType('0x1008') uo.UseType('0x0E20') wait(1000) end sub sub Reconnector() var RFlag RFlag = 1 Repeat While (UO.ObjAtLayer('Bpack') == '') if RFlag Then RFlag = 0 endif Wait(20000) # WorldSave Protection UO.Say('') Wait(3000) UO.Say('') Wait(3000) UO.Say('') Wait(3000) UO.LDblClick(357,164) UO.LClick(616,459) Wait(3000) WEnd Wait(3000) if (RFlag == 0) Then RFlag = 1 endif Until false end sub
Ну вот сейчас тестил, в сумке дагер и клевер лежат, молоток выкинул. Взял клевер, когда он его вылечил, он не одевает ничего, а бьет рукой. И так раз 5 одевал в ручную - всеравно не берет клевер... Можешь сюда вставить чтобы он брал оружие по Type?
От души .) Все работает. Но прежде тем чтобы поменять оружие, нужно выключить скрипт, потом взять которое нужно и снова включить Вот только бинты не моет, да и ладно