Мининг помогите

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Мининг помогите

Post by Irina E »

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 
почемута он не копает в радиусе -2 то 2 а дальше чем надо
вот что пишет когда он пытаица дальше копать that is too far away
можна как то если такая натпесь появица чтобы игнорировал её
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Мининг помогите

Post by ZeroDX »

Можно. надо добавить сообщение в строки

Code: Select all

Until UO.InJournal('There is nothing|location|Region|You cannot|elsewhere')

Code: Select all

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: Select all

Del('There is nothing|elsewhere|location|You cannot|Region|Elemental|attacking you|You stop')
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Мининг помогите

Post by Irina E »

ZeroDX wrote:Можно. надо добавить сообщение в строки

Code: Select all

Until UO.InJournal('There is nothing|location|Region|You cannot|elsewhere')

Code: Select all

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: Select all

Del('There is nothing|elsewhere|location|You cannot|Region|Elemental|attacking you|You stop')
не помогло пробовал
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Мининг помогите

Post by ZeroDX »

Пропробуй ещё раз вот так:

Code: Select all

Until UO.InJournal('There is nothing|location|far away|Region|You cannot|elsewhere')

Code: Select all

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: Select all

Del('There is nothing|elsewhere|location|far away|You cannot|Region|Elemental|attacking you|You stop')
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мининг помогите

Post by Mirage »

Вот чтобы избегать подобных проблем (стоит, сцук, и не роет :( ) и придумали выносить сообщения в два var - allmsg и endmsg
А в скрипте использовать уже константы. Когда треба чтото поменять меняется в 1 месте а не ползается по всему скрипте.
Кстати такая история (когда вроде бы -2, 2 а не достает) возникает на 56b сфере - там фигура досягаемости чара не квадрат а типокруг - угловые точки не достаются. Ну или в пещере со сталактитами :mrgreen:
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Re: Мининг помогите

Post by Nmy »

O_O антиквариат
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мининг помогите

Post by Mirage »

Но оформление зычанское :mrgreen:
Еще бы отступы с сохранением переносов...
Post Reply