Code: Select all
sub fight()
while 1
gotoxy(2070,826,0) # êîîðäèíàòû êóäà ïîäõîäèòü ê ïðîòèâíèêó
UO.usetype("0x1B76") # òèï ùèòà
uo.usetype("0x0EC2") # òèï îðóæèÿ
UO.Exec("attack 0x00012A2B") #àéäè 2-ãî ÷àðà
Repeat
wait (500)
if uo.injournal("destroyed")then
UO.usetype("0x0EC2") # òèï îðóæèÿ
uo.deletejournal()
endif
Until ((UO.GetHP("0x00286725") <75)or (UO.GetHP("0x00012A2B") <100)) #
#æèçíè 1-ãî è 2-ãî ÷àðà
repeat
UO.Exec("warmode 0") # âûêëþ÷àåì âàð ìîä
UO.Press(35) # êîä êëàâèøè End
UO.Press(35) # êîä êëàâèøè End
until (uo.GetY() < 827)# êîîðäèíàòû ïî Y êóäà îòõîäèòü ÷òîáû ëå÷èòü(ñÿ)
UO.DeleteJournal()
Repeat
UO.Usetype("0x0E21") #Bandages
UO.Exec("waittargetobject 0x00012A2B") # àéäè 2-ãî ÷àðà
wait(3500)
Until (UO.InJournal("need you"))
UO.DeleteJournal()
Repeat
UO.Usetype("0x0E21") #Bandages
UO.Exec("waittargetobject 0x00286725") # àéäè 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')
sub test()
# Ñîáñòâåííî ïî ñåáå ïðîâåðÿåì êîîðäèíàòû â ìèðå =)
# Âñ¸ ïðîòåñòèë- ðàáîòàåò.
var x = 1351 ; Ïðîâåðêó òàéëà- Õ
var y = 2897 ; Ïðîâåðêó òàéëà- Y
var coordx
var coordy
coordx = uo.GetX('self')
coordy = uo.GetY('self')
if x == coordx then
if y == coordy then
uo.Print('All is oke')
fight()
end if
end if
end sub
немогли бы вы взять за основу выше указаный срипт, и переделать скрипт fight: если у чара хп доустим < 25, то он идёт на координату по y, допустим 1111. Я просто не шарю.) А посик у меня не работает. Спс.)