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.SetEasyUO(ESelf,"1")
UO.Exec("warmode 0")
wait(1000)
UO.Exec("warmode 0")
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 шага.