sub sparring() VAR Char1='0x000C97E6' VAR Char2='0x00018410' VAR Enemy, ESelf, EEnemy VAR Weapon, Shield, WpnType, ShldType VAR TazikType='0x1008',BloodBndg='0x0E20' VAR MinLife=60
if UO.GetSerial('self')==Char1 then Enemy=Char2 EEnemy=90 ESelf=80 else Enemy=Char1 EEnemy=80 ESelf=90 endif
Weapon=UO.ObjAtLayer('Rhand') If Weapon<>"" Then WpnType=UO.GetGraphic(Weapon) Endif
Shield=UO.ObjAtLayer('Lhand') If Shield<>"" Then ShldType=UO.GetGraphic(Shield) Endif
UO.SetEasyUO(ESelf,"0")
while NOT UO.Dead()
repeat wait(500) until UO.GetEasyUO(ESelf)=="0" AND UO.GetEasyUO(EEnemy)=="0"
UO.Exec("warmode 1") UO.Attack(Enemy)
while UO.Life>=MinLife AND UO.GetEasyUO(EEnemy)=="0" wait(100) wend
UO.FindType('0x0E21','0x0000','backpack') If UO.GetQuantity('finditem')<20 Then UO.FindType('0x0E20','0x0000','backpack') UO.WaitTargetType(TazikType) UO.UseObject('finditem') wait(1000) Endif
while UO.Life<UO.Str UO.DeleteJournal() UO.BandageSelf() Repeat wait(500) Until UO.InJournal('put') OR UO.InJournal('help') OR UO.InJournal('cure') wend
If Shield<>"" Then UO.Equipt('Lhand',ShldType) wait(2000) Endif
If Weapon<>"" Then UO.Equipt('Rhand',WpnType) wait(2000) Endif
UO.UseSkill('Spirit Speak') wait(3000) UO.SetEasyUO(ESelf,"0") wend end sub
sub fight() while 1 gotoxy(2020,532,0) ;координаты куда подходить к противнику UO.usetype("0x1B76") ;тип щита uo.usetype("0x0F51") ;тип оружия UO.Exec("attack 0x00053A88") ;айди 2-го чара Repeat wait (500) if uo.injournal("destroyed")then UO.usetype("0x0ec2") ;тип оружия uo.deletejournal() endif Until ((UO.GetHP("0x0028FFEC") <100)or (UO.GetHP("0x00053A88") <120)) ;жизни 1-го и 2-го чара repeat UO.Exec("warmode 0") ;выключаем вар мод UO.Press(35) ;код клавиши End UO.Press(35) ;код клавиши End until (uo.GetY() < 534) ;координаты по Y куда отходить чтобы лечить(ся) UO.DeleteJournal() Repeat UO.Usetype("0x0E21") ;Bandages UO.Exec("waittargetobject 0x00053A88") ;айди 2-го чара wait(3500) Until (UO.InJournal("need you")) UO.DeleteJournal() Repeat UO.Usetype("0x0E21") ;Bandages UO.Exec("waittargetobject 0x0028FFEC") ;айди 1-го чара wait(3500) Until (UO.InJournal("need healing")) wend end sub
sub gotoxy(x,y,prec) var ld=0,ldc=0 var dx,dy var mx,my var ox,oy,mk,k #uo.print(">") #uo.track("1",str(x),str(y)) start: mx=UO.GetX() my=UO.GetY() dx=mx-x if dx<0 then dx=0-dx endif dy=my-y if dy<0 then dy=0-dy endif if dy>dx then dx=dy end if if dx<=prec then return end if if not ldc then uo.print(STR(dx)) end if if dx<3 then mk=70 else mk=15 end if ox=mx oy=my for k=1 to mk mx=UO.GetX() my=UO.GetY() if mx<>ox or my<>oy then goto sdidapl end if wait(10) next sdidapl: mx=UO.GetX() my=UO.GetY() dx=mx-x if dx<0 then dx=0-dx endif dy=my-y if dy<0 then dy=0-dy endif if dy>dx then dx=dy end if if dx<=prec then return end if if ld==dx then ldc=ldc+1 if ldc>100 then uo.print("Can not reach location!") return end if else ld=dx end if if mx==x then if my==y then return endif if my>y then #UO.Print("UR") UO.Press(33) goto start endif #UO.Print("DL") UO.Press(35) goto start end if if mx<x then if my>y then #UO.Print("R") UO.Press(39) goto start endif if my==y then #UO.Print("DR") UO.Press(34) goto start endif #UO.Print("D") UO.Press(40) goto start end if if my<y then #UO.Print("L") UO.Press(37) goto start endif if my==y then #UO.Print("LU") UO.Press(35) goto start endif #UO.Print("U") UO.Press(38) goto start end sub
sub Healing() UO.SetArm('CWeapon') UO.Exec("bandageself") wait(500)
UO.Arm('CWeapon') end sub
sub CheckLag() UO.DeleteJournal() UO.Click('backpack') repeat wait(500) until UO.InJournal('backpack') end sub
2Leo: Вот я допустим с другом решил покачать боевой скилл, я первым чаром только буду отходить хелится, а вот второй будет потихоньку умирать? Я конешно придумал как вставить хелинг второму, но это как то ботски получилось Яж только учусь писать эти скрипты)
Я придумал через журнал, типа если в журнале бандажится чар, то второй тоже юзает их... но не как не магу понят как сделать чтобы было нормально и по человечески...
Dron D. wrote:2Leo: Вот я допустим с другом решил покачать боевой скилл, я первым чаром только буду отходить хелится, а вот второй будет потихоньку умирать? Я конешно придумал как вставить хелинг второму, но это как то ботски получилось Яж только учусь писать эти скрипты)
Я придумал через журнал, типа если в журнале бандажится чар, то второй тоже юзает их... но не как не магу понят как сделать чтобы было нормально и по человечески...
В этом скрипте первый чар лечит и себя и второго чара. Выбераете у кого хилинг больше, тот скрипт и будет запускать. Лучше всего отходить на 2 шага.
while 1 gotoxy(x1,y1,0) uo.arm(tmp_weap) UO.usetype("0x1B76") uo.usetype("0x0EC2")
UO.Exec("attack Partner") Repeat wait (500) if uo.injournal("destroyed")then UO.usetype("0x0EC2") uo.deletejournal() endif Until ((UO.GetHP("MyID") <75) or (UO.GetHP("Partner") <100)) repeat UO.Exec("warmode 0")
UO.Press(35) # Нажимает End UO.Press(35) # Нажимает End until (gotoxy(x1,y3,0)) UO.DeleteJournal() UO.say ("Забинтую как мумию!") Repeat UO.Usetype("0x0E21") #Bandages UO.Exec("waittargetobject Partner") wait(3500) Until (UO.InJournal("need you")) UO.DeleteJournal() Repeat UO.Usetype("0x0E21") #Bandages UO.Exec("waittargetobject MyID") wait(3500) Until (UO.InJournal("need healing")) wend end sub ... ... ...