Yoko

All sides of Injection
It is currently 2025-10-14 20:49:59

All times are UTC+02:00




Post new topic  Reply to topic  [ 7 posts ] 
Author Message
PostPosted: 2011-07-15 07:45:27 
Offline

Joined: 2009-06-12 20:10:00
Posts: 240
Location: Vasa Smerti(RASToMAN) DRW
Code:
############################################################### 
#===---====----===---===---= 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:
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
почемута он не копает в радиусе -2 то 2 а дальше чем надо
вот что пишет когда он пытаица дальше копать that is too far away
можна как то если такая натпесь появица чтобы игнорировал её


Top
   
PostPosted: 2011-07-15 08:15:58 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Можно. надо добавить сообщение в строки
Code:
Until UO.InJournal('There is nothing|location|Region|You cannot|elsewhere')
Code:
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
Code:
Del('There is nothing|elsewhere|location|You cannot|Region|Elemental|attacking you|You stop')


Top
   
PostPosted: 2011-07-15 08:33:14 
Offline

Joined: 2009-06-12 20:10:00
Posts: 240
Location: Vasa Smerti(RASToMAN) DRW
ZeroDX wrote:
Можно. надо добавить сообщение в строки
Code:
Until UO.InJournal('There is nothing|location|Region|You cannot|elsewhere')
Code:
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
Code:
Del('There is nothing|elsewhere|location|You cannot|Region|Elemental|attacking you|You stop')

не помогло пробовал


Top
   
PostPosted: 2011-07-15 08:54:01 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Пропробуй ещё раз вот так:
Code:
Until UO.InJournal('There is nothing|location|far away|Region|You cannot|elsewhere')
Code:
until UO.InJournal('There is nothing|elsewhere|far away|location|You cannot|Region|Elemental|attacking you|You stop') OR LastTimer+250<UO.Timer() OR uo.life < uo.str
Code:
Del('There is nothing|elsewhere|location|far away|You cannot|Region|Elemental|attacking you|You stop')


Top
   
PostPosted: 2011-07-15 09:25:34 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Вот чтобы избегать подобных проблем (стоит, сцук, и не роет :( ) и придумали выносить сообщения в два var - allmsg и endmsg
А в скрипте использовать уже константы. Когда треба чтото поменять меняется в 1 месте а не ползается по всему скрипте.
Кстати такая история (когда вроде бы -2, 2 а не достает) возникает на 56b сфере - там фигура досягаемости чара не квадрат а типокруг - угловые точки не достаются. Ну или в пещере со сталактитами :mrgreen:

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-07-17 17:04:35 
Offline
Expert!
User avatar

Joined: 2005-09-14 15:31:58
Posts: 2152
Location: Latvia
O_O антиквариат

_________________
Уроки языка Injection
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net


Top
   
PostPosted: 2011-07-17 20:12:42 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Но оформление зычанское :mrgreen:
Еще бы отступы с сохранением переносов...

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 7 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited