Code:
;Инструкция (все обязательно) -) :
#ОБЯЗАТЕЛЬНО включите NumLock -))))
;1)у меня в инже стоят следущие галки в main:
; -Flush Log
; -Track World Items
; -Target XYZ fix
; -AntiCrash
;2)Введите все типы в переменных -)
;3)перетащите ОБЯЗАТЕЛЬНО полоску с жизньями лошади!!!!!!!!!
;4)кладем в пак кинжал(люб. оружие) щит бинты(много, чистые)
#Одеваем фул айрон -)
;5)по желанию одеваем брас жизни -)
;6)я качал при гм паринг так что как у вас будет не знаю -)
;7)Стоим в ПУСТОМ СОРТИРЕ!!! или на 2-ом этаже виллы -) как я -)
#Очень важно понять следущее:
#-комната пустая
#-вы должны ОБЯЗАТЕЛЬНО узнать и вбить координаты центра комнаты
;8)Удачи всем вам ;)
;п.с. заметил следущее - боевые растут наплывом -)
;Question aka GimFlex
var kykla='0x00CC' ;тип лошадки -)
var orygie='0x0F51';тип кинжала -)
var chit='0x1B76';тип щита -)
var centrx=1555; !!! координата центра комнаты X !!!
var centry=2358; !!! координата центра комнаты Y !!!
var bints='0x0E21'; тип бинта -)
sub train()
uo.findtype(kykla,'-1','ground')
while not uo.dead()
uo.findtype(kykla,'-1','ground')
if uo.gethp('finditem')>15 then
atack()
else
heal()
endif
uo.warmode(0)
wait(100)
wend
endsub
sub atack()
uo.usetype(orygie)
wait(500)
uo.usetype(chit)
wait(500)
uo.warmode(1)
uo.findtype(kykla,'-1','ground')
uo.attack('finditem')
while uo.gethp('finditem')>15
go(uo.getx('finditem'),uo.gety('finditem'))
uo.findtype(kykla,'-1','ground')
wait(100)
if uo.gethp('finditem')<16 then
uo.warmode(0)
endif
wend
uo.warmode(0)
endsub
sub heal()
uo.warmode(0)
UO.Disarm()
uo.deletejournal()
uo.findtype(kykla,'-1','ground')
while not uo.injournal("does not need")
GotoXY(centrx,centry)
uo.warmode(0)
CheckLag()
uo.waittargetobject('finditem')
uo.usetype(bints)
wait(4000)
uo.findtype(kykla,'-1','ground')
wend
endsub
Sub go(xko,yko)
var mx=UO.GetX()
var my=UO.GetY()
if mx == xko and my > yko then
UO.Press(33)
endif
if mx == xko and my < yko then
UO.Press(35)
endif
if mx < xko and my == yko then
UO.Press(34)
endif
if mx < xko and my > yko then
UO.Press(39)
endif
if mx < xko and my < yko then
UO.Press(40)
endif
if mx > xko and my == yko then
UO.Press(36)
endif
if mx > xko and my > yko then
UO.Press(38)
endif
if mx > xko and my < yko then
UO.Press(37)
endif
end sub
Sub GotoXY(x,y)
VAR i,j,m
VAR dir,ldir,rdir,key,olddir
VAR dx,dy,Exit=0
VAR CacheLimit=9,CacheIndex="Text"
DIM CacheX[10], CacheY[10]
CacheX[0]="Test"
While Exit<>1
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx==0 AND dy==0 Then
Exit=1
Endif
If dx<>0 AND dy<>0 Then
If dx>0 AND dy>0 Then ; GoSE
dir=3
ldir=2
rdir=4
key=40 ; DownArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==2 Then ; GoNE
dir=1
ldir=0
rdir=1
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=5
rdir=6
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx>0 AND dy<0 Then ; GoNE
dir=1
ldir=0
rdir=2
key=39 ; RightArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==0 Then ; GoWN
dir=7
ldir=6
rdir=7
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSE
dir=3
ldir=3
rdir=4
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 AND dy>0 Then ; GoSW
dir=5
ldir=4
rdir=6
key=37 ; LeftArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==6 Then ; GoWN
dir=7
ldir=7
rdir=0
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSE
dir=3
ldir=2
rdir=3
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 AND dy<0 Then ; GoWN
dir=7
ldir=6
rdir=0
key=38 ; UpArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==0 Then ; GoNE
dir=1
ldir=1
rdir=2
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=4
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
If dx<>0 AND dy==0 Then
If dx>0 Then ; GoE
dir=2
key=34 ; PgDown
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoSE
dir=3
ldir=3
rdir=4
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoNE
dir=1
ldir=1
rdir=0
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 Then ; GoW
dir=6
key=36 ; Home key
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==0 Then ; GoWN
dir=7
ldir=7
rdir=0
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=4
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
If dx==0 AND dy<>0 Then
If dy>0 Then ; GoS
dir=4
key=35 ; End
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoSE
dir=3
ldir=2
rdir=3
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=6
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dy<0 Then ;GoN
dir=0
key=33 ; PgUp
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoNE
dir=1
ldir=1
rdir=2
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoWN
dir=7
ldir=7
rdir=6
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
endif
Wend
end sub
Sub StepEdit(x,y,dir,key)
VAR walkwait=300
VAR ErrLevel=0
If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
If x==UO.GetX() AND y==UO.GetY() Then
ErrLevel=1
Endif
Endif
Return ErrLevel
end sub
Sub StepArrow(x,y,dir,ldir,rdir,key)
VAR walkwait=300
VAR ErrLevel=0
If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir AND UO.GetDir()<>ldir AND UO.GetDir()<>rdir Then
CheckLag()
Endif
Endif
If UO.GetX()==x AND UO.GetY()==y Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
CheckLag()
If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
ErrLevel=1
Endif
Endif
Endif
Return ErrLevel
end sub
Sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(50)
until UO.InJournal('backpack')
end sub