Code: Select all
###############################################################
#===---====----===---===---= Mining =---=-=-=-=-=--=-=-=-=-=-=#
# Single char mining for OLDP Mine. OLDP Shard www.oldp.net #
# Scripted by NMY (c) 2006-07 #
# Перевёл на русский - Печа #
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
# To start script use ",exec main" command from client window #
###############################################################
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
;==================== Main mining script ======================
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
###############################################################
# Чтобы настроить этот скрипт вам придёться прочитать все #
# строки на русском языке. И тогда можно спать... #
###############################################################
sub main()
VAR DigDistance, TileNum, LastTimer
DIM BaseX[6], BaseY[6] ## Считывающиеся точки с координат, ( сколько их у вас )?
VAR BaseZ, WayPoint, WayPoints
VAR MaxWeight, KillElemental
KillElemental='Yes'
MaxWeight=820
DigDistance=2
WayPoints=6 ## Считывающиеся точки с координат, ( сколько их у вас )?
## Скрипты. точка с запятой обозначает что выключин, если уберёте то скрипт будет рабюотать.
;uo.exec('exec Reconnector') ## Скрипт на реконект на сервер.
;uo.exec('exec DeCoder') ## Скрипт макро кода.
;uo.exec('exec Alert')
;uo.exec('exec closer')
uo.exec('msg Хочу Фулл ОлдПарадис !')
## Тут пишем координаты точек там где будем встовать и начинать копать, пример полной координаты: 1111,2222 , пример раздельной: BaseX[0]=1111 , BaseY[0]=2222. Если вам этих точек много или мало то можите сами дописать далее( скрипт нечитает пятую точку так что перескакивая сразу на шесть).
## Координаты №1
BaseX[0]=996
BaseY[0]=1592
BaseZ=0
## Координаты №2
BaseX[1]=995
BaseY[1]=1586
## Координаты №3
BaseX[2]=1002
BaseY[2]=1586
## Координаты №4
BaseX[3]=1000
BaseY[3]=1593
## Координаты №5
BaseX[4]=1008
BaseY[4]=1593
## Координаты №6
BaseX[5]=1001
BaseY[5]=1593
CheckLag()
UO.UseObject('Sunduk')
LastTimer=UO.Timer()
Repeat
wait(500)
Until UO.InJournal('You can') OR UO.InJournal('What is the') OR UO.Timer()>LastTimer+100
If UO.InJournal('see the') Then
UO.Say("Подойдите к сундуку и навидите прицелом!")
UO.AddObject('Sunduk')
While UO.Targeting()==2
wait(500)
Wend
UO.SaveConfig()
UO.UseObject('Sunduk')
Else
UO.Say("Атлична! Типерь нада кападь, поцан!.")
end if
uo.deletejournal()
While NOT UO.Dead()
For WayPoint=0 to WayPoints-1
WalkMe(BaseX[WayPoint],BaseY[WayPoint],'')
digitstay(MaxWeight,KillElemental,BaseX[WayPoint],BaseY[WayPoint])
Next
wend
end sub
;-------------------- Try to mine under self ------------------
sub digitstay(MaxWeight,KillElemental,BaseX,BaseY)
VAR x,y,z='0',TileNum='1339'
VAR Last=0, LastTimer
VAR MaxTimer=110
For x = -2 to 2
For y = -2 to 2
sbroska()
Repeat
CheckLag()
Del('that is too far away|There is nothing|elsewhere|location|You cannot|Region|Elemental|attacking you|You stop')
dig:
UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
UO.UseType('0x0E85')
LastTimer=UO.Timer()
Repeat
wait(500)
until UO.InJournal('that is too far away|There is nothing|elsewhere|location|You cannot|Region|Elemental|attacking you|You stop') OR LastTimer+250<UO.Timer() OR uo.life < uo.str
If UO.InJournal('Elemental|attacking you') or uo.life < uo.str then
If KillElemental=='Yes' Then
KillElem()
Endif
Endif
If UO.InJournal('you stop') then
UO.UseType('0x0E85')
GoTo dig
Endif
If UO.Weight>=MaxWeight then
unloadore()
Endif
Until UO.InJournal('that is too far away|There is nothing|location|Region|You cannot|elsewhere') OR LastTimer+250<UO.Timer()
Next
Next
end sub
sub sbroska()
var i,j
Dim OreType[4]
OreType[01]='0x19B7' ## 1 ore
OreType[02]='0x19BA' ## 2 ore
OreType[03]='0x19B8' ## 3 ore
OreType[04]='0x19B9' ## 4 and more ore
Dim OreColor[7] ## массив цветов трешевой руды
OreColor[1] = '0x03E3'
OreColor[2] = '0x0026'
OreColor[3] = '0x04C2'
OreColor[4] = '0x0601' ; Shadow
OreColor[5] = '0x0000'
OreColor[6] = '0x06D6'
OreColor[7] = '0x052D'
for j=1 to 4
for i=1 to 7
uo.findtype(OreType[j],OreColor[i],'backpack')
while uo.findcount()>0
uo.moveitem('finditem',-1,'ground')
wait(600)
uo.findtype(OreType[j],OreColor[i],'backpack')
wend
next
next
end sub
;------------------------- Unload ore -------------------------
sub unloadore()
VAR Sunduk, TempX, TempY, n
VAR SundukX=4825 ## С какой точки будет открывать сундук и складывать руду.
VAR SundukY=3667 ## С какой точки будет открывать сундук и складывать руду.
TempX=UO.GetX()
TempY=UO.GetY()
Dim UnLoad[18] ## То что будет складывать в сундук( если нужно дополнить или удалить, меняем следующие координаты: UnLoad[1] = '0x0000' сюда пишем Type, Dim UnLoad[1] указываем сколько всего итомов в вашем скрипте).
UnLoad[1] = '0x19B9' ## Руда 4 шт.
UnLoad[2] = '0x19B8' ## Руда 3 шт.
UnLoad[3] = '0x19BA' ## Руда 2 шт.
UnLoad[4] = '0x19B7' ## Руда 1 шт.
UnLoad[5] = '0x0EED' ## Деньги.
UnLoad[6] = '0x09AA' ## Пандор.
UnLoad[7] = '0x1088' ## Амуль.
UnLoad[8] = '0x1087' ## Серёжки.
UnLoad[9] = '0x1086' ## Браслет.
UnLoad[10]= '0x108A' ## Колечко.
UnLoad[11]= '0x1830' ## Бутылка ласер кур.
UnLoad[12]= '0x1831' ## Бутылка ласер пойзона.
UnLoad[13]= '0x182F' ## Бутылка ласер рефреш.
UnLoad[14]= '0x182E' ## Бутылка ласер хёл.
UnLoad[15]= '0x1515' ## Плащик.
UnLoad[16]= '0x1F03' ## Роба.
UnLoad[17]= '0x1541' ## Ленточка.
UnLoad[18]= '0x1549' ## Маска.
WalkMe(4813,3663,'') ## В эту координату персонаж будет идти как только выкопал свой вес ( чтобы непутался нужно поставить так что бы небыло припятствий ЖЕЛАТЕЛЬНО(в любом случаее будет пытаться обходить препятствие).
WalkMe(4816,3663,'') ## Координаты выхода из шахты (перед выходом из шахты чтобы не путался).
opendoor()
WalkMe(4818,3663,'') ## Координаты входа в шахту (перед входом в шахту чтобы не путался).
WalkMe(SundukX,SundukY,'')
UO.UseObject('Sunduk')
CheckLag()
For n = 1 to 18 ##Вытаскивает из вашего портфеля 18 итемов.
UO.FindType( UnLoad[n] , -1 ,'backpack')
while UO.GetQuantity('finditem') > 0
UO.moveitem('finditem','0','Sunduk')
CheckLag()
UO.FindType( UnLoad[n] , -1 ,'backpack')
wend
next
UO.FindType('0x0E85', -1 ,'backpack')
If UO.FindCount() == 0 then
UO.FindType('0x0E86', -1 ,'Sunduk')
UO.MoveItem('finditem')
Endif
WalkMe(4816,3662,'') ## Идём от сундука ( вход в шахту ).
opendoor()
WalkMe(4813,3663,'') ## До средней точки.
WalkMe(TempX,TempY,'')
end sub
sub opendoor()
UO.DeleteJournal()
UO.Set('finddistance','2')
UO.FindType('0x0870', -1 ,'ground')
If UO.FindCount() then
open:
UO.UseObject('finditem')
CheckLag()
wait(200)
If UO.InJournal('you must wait') then
wait(9000)
Goto open
Endif
Endif
end sub
;----------- -----------
sub loot()
VAR n
Dim Load[18] ## Всё то что будет лутать с элемов (если нужно дополнить или удалить, меняем следующие координаты: Load[1] = '0x0000' сюда пишем Type, Dim Load[1] указываем сколько всего итомов в вашем скрипте).
Load[1] = '0x19B9' ## Руда 4 шт.
Load[2] = '0x19B8' ## Руда 3 шт.
Load[3] = '0x19BA' ## Руда 2 шт.
Load[4] = '0x19B7' ## Руда 1 шт.
Load[5] = '0x0EED' ## Деньги.
Load[6] = '0x09AA' ## Пандор.
Load[7] = '0x1088' ## Амуль.
Load[8] = '0x1087' ## Серёжки.
Load[9] = '0x1086' ## Браслет.
Load[10]= '0x108A' ## Колечко.
Load[11]= '0x1830' ## Бутылка ласер кур.
Load[12]= '0x1831' ## Бутылка ласер пойзона.
Load[13]= '0x182F' ## Бутылка ласер рефреш.
Load[14]= '0x182E' ## Бутылка ласер хёл.
Load[15]= '0x1515' ## Плащик.
Load[16]= '0x1F03' ## Роба.
Load[17]= '0x1541' ## Ленточка.
Load[18]= '0x1549' ## Маска.
wait(500)
if (uo.getserial('backpack') <> uo.getserial('lastcontainer')) then
For n = 1 to 18 ## Вытаскивает из трупа от 1 до 18 итомов.
UO.FindType( Load[n] , -1 ,'lastcontainer')
while UO.GetQuantity('finditem') > 0
UO.moveitem('finditem','0','backpack')
CheckLag()
Wait(900)
UO.FindType( Load[n] , -1 ,'lastcorpse')
wend
next
end if
end sub
sub killelem()
if uo.InJournal("Elemental") or uo.InJournal("is attacking you") or uo.Dead() then
uo.playwav("С:\injection\Message.wav")
end if
uo.msg('.camp heal')
wait(1000)
UO.UseType('0x0978')
wait(1000)
UO.UseType('0x09D0')
VAR k=0
repeat
k = k + 1
uo.msg('.arm')
wait(1000)
until uo.life >= uo.str and k >= 10
loot()
wait(5000)
end sub
;;;;;;;;;;;;; DeCoder ;;;;;;;;;;;;;;;
sub DeCoder()
while true AND NOT UO.Dead()
if uo.LastGump('text',0) == 'enter anti macro code:' and uo.LastGump('replyed') == 0 then
uo.lclick(uo.LastGump('x')+75, uo.LastGump('y')+69)
;UO.PlayWAV('D:\games\ultima online old paradise\inject\alert2.wav')
wait(10000)
uo.say(decode())
wait(300)
uo.lclick(uo.LastGump('x')+77, uo.LastGump('y')+108)
endif
wait(1000)
wend
end sub
sub Reconnector()
while True
while UO.IsOnline() AND NOT UO.Dead()
wait(1000)
wend
UO.TextOpen()
UO.TextPrint('Disconnected at '+MakeTime())
UO.Exec('terminate all')
connect:
wait(3000)
UO.LDblClick(616,455)
wait(3000)
UO.LDblClick(616,455)
wait(3000)
UO.LDblClick(616,455)
wait(3000)
UO.LDblClick(357,164)
if UO.IsOnline() then
UO.Exec('exec main')
UO.TextOpen()
UO.TextPrint('Reconnected at '+MakeTime())
else
goto connect
endif
wend
endsub
Sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub
Sub GetXY(str,arnum)
arnum[0]=val(mid(str, 7, 3))
arnum[1]=val(mid(str, 10, 3))
end sub
Sub decode()
var temp='',i=0
var pos=0
var line=5
var sX=0, sY=0
var code=''
var finding = 1
var CurrX=0
var CurrY=0
var NumSum
dim tempXY[2]
dim Num[9]
Num[0]=6
Num[1]=35
Num[2]=45
Num[3]=-24
Num[4]=34
Num[5]=-5
Num[6]=26
Num[7]=4
Num[8]=-6
Repeat
temp=uo.LastGump('command',line)
GetXY(temp, tempXY)
if pos >= 17 then
if pos == 17 then
NumSum=(CurrX-sX)*10+(CurrY-sY)
finding = 1
i=0
while finding
if NumSum == num[i] then
code=code+str(i+1)
finding = 0
end if
i=i+1
wend
end if
if tempXY[0]-CurrX > 5 then
pos=0
end if
end if
if not pos then
sX=tempXY[0]
sY=tempXY[1]
pos=15
line=line+15
end if
CurrX=tempXY[0]
CurrY=tempXY[1]
pos=pos+1
line=line+1
Until len(code) == 4
return code
end sub
sub Alert()
VAR a
UO.TextClear()
UO.DeleteJournal()
while true and not uo.dead()
If UO.InJournal('Elemental|Your total damage|You see') then
Del('Elemental|Your total damage|You see')
end if
If UO.JournalSerial()<>'0x00000000' && UO.JournalSerial()<>'0xFFFFFFFF' && UO.JournalSerial()<>'0x4013129C' && UO.JournalSerial()<>'0x001312A8' && UO.JournalSerial()=='0x000101C7' then
For a = 1 to 5
UO.PlayWAV('D:\inject\alert2.wav')
wait(250)
next
uo.textopen()
uo.textprint(uo.journalserial())
end if
wait(200)
wend
end sub
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;; W A L K E R ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
################# W A L K E R ######################
sub WalkME(x,y,Target)
VAR i
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
If Target<>"" Then
dx=UO.GetX(Target)-UO.GetX()
dy=UO.GetY(Target)-UO.GetY()
; UO.Print("Target locked!")
If UO.GetDistance(Target)<2 Then
return
Endif
Else
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx==0 AND dy==0 Then
Exit=1
Endif
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
Wend
end sub
sub StepEdit(x,y,dir,key)
VAR walkwait=300
VAR ErrLevel=0
If UO.GetDir()<>dir Then
checkstam()
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif
checkstam()
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
If x==UO.GetX() AND y==UO.GetY() Then
;zatik
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
checkstam()
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
checkstam()
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
; zatik
ErrLevel=1
Endif
Endif
Endif
Return ErrLevel
end sub
sub checkstam()
var refresh = '0x0F0B'
if uo.stamina < 10 then
uo.findtype(refresh,-1,'backpack')
if uo.findcount() then
uo.usetype(refresh)
wait(1000)
else
uo.print("Nety Refreshey! Stoim...")
repeat
wait(500)
until uo.stamina >= 10
endif
else
endif
endsub
Sub CHECKLAG()
del('backpack')
uo.click('backpack')
repeat
wait(200)
until uo.injournal('backpack')
del('backpack')
endsub
Sub DEL(msg)
while uo.injournal(msg)
uo.setJournalLine(uo.injournal(msg)-1,"Is Empty!")
wend
endsub
sub closer()
VAR t
For t=0 to 540
wait(60000)
next
uo.closeuo()
end sub
##########################################
Sub test()
##########################################
If uo.getglobal('test')=='11' then
uo.setglobal('test',00)
uo.print(' !!! -= Test: off =- !!! ')
uo.exec('terminate test')
else
uo.setglobal('test',11)
uo.print(' !!! -= Test: on =- !!! ')
end if
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
WalkMe(4813,3660,'')
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
uo.setglobal('test',00)
uo.print(' !!! -= Test: off =- !!! ')
##########################################
end sub
##########################################
значет так вот в чём проблема
Code: Select all
sub digitstay(MaxWeight,KillElemental,BaseX,BaseY)
VAR x,y,z='0',TileNum='1339'
VAR Last=0, LastTimer
VAR MaxTimer=110
For x = -2 to 2
For y = -2 to 2
sbroska()
Repeat
CheckLag()
Del('There is nothing|elsewhere|location|You cannot|Region|Elemental|attacking you|You stop')
dig:
UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
UO.UseType('0x0E85')
LastTimer=UO.Timer()
Repeat
wait(500)
until UO.InJournal('There is nothing|elsewhere|location|You cannot|Region|Elemental|attacking you|You stop') OR LastTimer+250<UO.Timer() OR uo.life < uo.str
If UO.InJournal('Elemental|attacking you') or uo.life < uo.str then
If KillElemental=='Yes' Then
KillElem()
Endif
Endif
If UO.InJournal('you stop') then
UO.UseType('0x0E85')
GoTo dig
Endif
If UO.Weight>=MaxWeight then
unloadore()
Endif
Until UO.InJournal('There is nothing|location|Region|You cannot|elsewhere') OR LastTimer+250<UO.Timer()
Next
Next
end sub
вот что пишет когда он пытаица дальше копать that is too far away
можна как то если такая натпесь появица чтобы игнорировал её