Мининг на скалах

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
o..
Posts: 45
Joined: 2005-08-19 13:14:09

Мининг на скалах

Post by o.. »

Дайте кто-нить плиз скрипт на мининг, чтобы копал, относил рууд в сундук и опять копал. :)
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Поищи получше, тут стопудово выкладывали такие скрипты. Даже производные от етого скрипта.

Для дрв был у Question`a. Капает - кидает руду, возвращяется и всё заново.
RiFeX aka Maybek
Posts: 56
Joined: 2005-02-27 19:47:55
Contact:

Re: Мининг на скалах

Post by RiFeX aka Maybek »

o.. wrote:Дайте кто-нить плиз скрипт на мининг, чтобы копал, относил рууд в сундук и опять копал. :)
Не-а. 8) :twisted:
mazeppa
Posts: 6
Joined: 2006-02-04 12:43:07

Re: Мининг на скалах

Post by mazeppa »

RiFeX aka Maybek wrote:
o.. wrote:Дайте кто-нить плиз скрипт на мининг, чтобы копал, относил рууд в сундук и опять копал. :)
Не-а. 8) :twisted:
а... жадина) мох бы и поделиться с человеком)
o..
Posts: 45
Joined: 2005-08-19 13:14:09

Post by o.. »

поиском не нашел ничего. и в постах question'a тоже
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

o.. wrote:поиском не нашел ничего. и в постах question'a тоже
Откат был...

Поищи в http://archive.org и ему подобных.
o..
Posts: 45
Joined: 2005-08-19 13:14:09

Post by o.. »

как там искать чета не догоню? :)
Не нашел ничего похожего на этот форум :)
Dominator
Posts: 124
Joined: 2005-04-06 05:53:47

Post by Dominator »

Вообщем вот сам скрипт (ЗЫ непомню уже кто его автор, но ему могу сказать - молоток скрипт хороший )

Кароче тебе надо будет только проставить все координаты тайлов по которым чар будет ходить и копать ( =! =ЗЫ читай в скрипте есть описание =! =)
Ну собственно всё, удачного миненга =)

Code: Select all

########################################################
# Все просто: расставляем координаты go(x,y,z,k), где х и y это 
# координаты по инжекту, z - направление движения, k - константа
# определяющая действие(1 - копаем; 0 - идем в эти координаты).
########################################################
#Направление движения: константа z имеет следущие значения:
#                                       PageUp
#PageUp    -   33                         |
#                                         |
#PageDown - 34                 Home ----    ----PageDown
#                                         |
#End       -     35                       |
#                                        End
#Home     -    36
########################################################
# Координата конечной точки должна быть рядом с сундуком чтобы 
#чар до него дотянулся, проще - вы должны координатной сеткой
# превести чара в исходный тайл!
########################################################
########################################################
##########                                   ########### 
########                                        ######## 
######              Удачно покопать :))           ######
########                                        ########
##########                                   ###########
########################################################
########################################################
var tShovel='0x0E85' #Тип кирки
######################################################## 
var tSeif='0x400732C5' #Йд сейфа где лежат оры и хавчик 
######################################################## 
var tEat='0x097B' #Тип еды 
######################################################## 


sub go(x,y,k,m) 
while UO.GetX()<>x or UO.GetY()<>y 
UO.Press(k) 
CheckLag() 
wend 
if m==1 then 
Dig() 
end if 
end sub 

sub main() 
while Not UO.Dead() 
FollowMine() 
UnLoad() 
ToEat() 
GoBeg() 
wend 
end sub 

sub FollowMine() 
dig() 
go(1695,2998,34,1)
go(1695,3000,35,1) 
go(1695,3002,35,0)
go(1694,3002,36,0)
go(1694,3004,35,0)
go(1693,3004,36,1)
go(1693,3003,33,0)
go(1691,3003,36,1)
go(1691,3000,33,0)
go(1689,3000,36,0)
go(1689,3001,35,1)
go(1688,3001,36,1)
go(1688,2999,33,0)
go(1686,2999,36,1)
go(1685,2999,36,1)
go(1685,2988,33,0)
go(1691,2988,34,0)
go(1691,2989,35,0)
go(1695,2989,34,1)
go(1695,2991,35,1)
go(1695,2993,35,1)
go(1695,2995,35,1)
go(1695,2998,35,0)
go(1692,2998,36,0)

end sub 

sub GoBeg() 
go(1692,2998,33,0)  
end sub 

sub CheckLag() 
UO.DeleteJournal() 
UO.Click('backpack') 
repeat 
wait(50) 
until UO.InJournal('backpack') 
end sub 

sub tohide() 
while NOT UO.Hidden() 
UO.DeleteJournal() 
UO.Warmode('0') 
UO.UseSkill('Hiding') 
repeat 
wait(50) 
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied') or UO.Dead() 
wend 
end sub 

sub UnLoad() 
var i 
DIM Item[13] 

Item[1]=0x19B9 ; >3 ore 
Item[2]=0x19B7 ; 1 ore 
Item[3]=0x19BA ; 2 ore 
Item[4]=0x19B8 ; 3 ore 
Item[5]=0x0F11 ; saphires 
Item[6]=0x0F16 ; amethysts 
Item[7]=0x0F18 ; tourmalines 
Item[8]=0x0F15 ; citrines 
Item[9]=0x0F10 ; emeralds 
Item[10]=0x0F0F ; star sapphires 
Item[11]=0x0F26 ; diamonds 
Item[12]=0x0EED ; gold 

for i = 1 to 12 
UO.FindType(Item[i], '-1', 'backpack') 
while UO.GetQuantity('finditem') > 0 
UO.MoveItem('finditem','-1',tSeif) 
Wait(1000) 
CheckLag() 
UO.FindType(Item[i],'-1','backpack') 
wend 
next 
end sub 

sub ToEat() 
UO.UseObject(tSeif) 
UO.FindType(tEat,'0x0000',tSeif) 
if UO.FindCount() > 0 then 
UO.MoveItem('finditem','20','backpack') 
else 
return 
end if 
repeat 
CheckLag() 
uo.UseType(tEat) 
while not uo.InJournal("can't") and not uo.InJournal('full') and not uo.InJournal('stuffed') and not uo.InJournal('hungry') and not uo.InJournal('satiated') and not UO.Dead() 
wait(100) 
wend 
until uo.InJournal('too full') or UO.Dead() 
UO.FindType(tEat, '0x0000','backpack') 
if UO.FindCount() > 0 then 
UO.MoveItem('finditem','20',tSeif) 
end if 
end sub 

sub Dig() 
var mx = UO.GetX("self"), my = UO.GetY("self"), mz = UO.GetZ("self"),TileNum='1339', t=0 
var i,j 
if UO.Dead() then 
UO.CloseUO() 
end if 
for i = mx-1 to mx+1 
for j = my-1 to my+1 
tohide() 
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") 
tohide() 
CheckLag() 
UO.Waittargettile("1341", str(i), str(j), str(mz)) 
UO.Exec("usetype " + tShovel) 
while not UO.InJournal("You put") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("OOPS") and not UO.InJournal("attacking you") 
wait(500) 
wend 
if UO.InJournal('something with ore') OR UO.InJournal("attacking you") then 
t=1 
end if 
if UO.InJournal("but fail") then 
wait(1000) 
end if 
wend 
UO.DeleteJournal() 
next 
next 
if t == 1 then 
Pause() 
end if 
return 1 
end sub 

sub Pause() 
UO.DeleteJournal() 
REPEAT 
WAIT(3000) 
UO.Print("!@! ELEMENTAL !@!") 
UNTIL UO.InJournal('GO') 
UO.Print("!@! KOPAU !@!") 
end sub
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

хехе на скрипт сфагнума похож а ваще я щас этим временно капаю пока домом не обзовелся :)

Code: Select all

sub main()
 while not uo.dead()
  go(x,y,k)
  .....
  .....
wend
endsub

sub minround() 
VAR Kirka = '0x0F39'
VAR TileNum = '1339' 
VAR x, y, t, k 
VAR MaxTime = 100  
VAR ms1 = "There is no ore here to mine" 
VAR ms2 = "You can't use" 
VAR ms3 = "You put the" 
VAR ms4 = "You loosen some rocks" 
VAR ms5 = "You are too far away" 
VAR ms6 = "Try mining in rock" 
VAR ms7 = "You can't see that"
var kolr,per
for y=-1 to 1 
for x=-1 to 1  
  k = 0 
  repeat 
    UO.DeleteJournal() 
    t = UO.Timer() 
    k = k + 1
    if uo.targeting() then
     UO.CancelTarget()
    endif
    CheckLag()
    wait(300) 
    UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0) 
    UO.UseType( Kirka ) 
    repeat 
     wait(300) 
    until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR ((t + MaxTime) < UO.Timer())
    uo.findtype('0x19B9','-1','backpack')
    kolr=uo.getquantity('finditem')
    per=uo.str*4+30-uo.weight
    uo.print("kol-vo irona " + str(kolr) + " do perevesa " + str(per))
    if per<=30 then
     uo.exec('terminate all')
     wait(700)
    endif     
  until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) ) 
 next 
next 
endsub

Sub go(x,y,k) 
	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	

			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
	Wend
	if k==1 then
	 minround()
	endif
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
;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
		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
; zatik			
				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
o..
Posts: 45
Joined: 2005-08-19 13:14:09

Post by o.. »

Question, куда в твоем скрипте он руду сбрасывает? В нем тоже надо координаты проставлять?
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

o.. wrote:Question, куда в твоем скрипте он руду сбрасывает? В нем тоже надо координаты проставлять?
я же сказал что никуда не сбрасывает я у скалы капаю дома нет я просто набираю максимальный вес и скрипт останавливается
скрипт с анлоадом не делал это не сложно сами попробуйте
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

вот с разгрузом в сундук
ходим по координатам вдоль скалы капаем (капает вокруг чара с радиусом 1 тайл!!!) дошли до конца скалы идем к сундуку выкладываем руду возвращаемся в исходную точку

Code: Select all

var tSeif='000000000'
var Kirka='0x0F39'

sub main()
 while not uo.dead()
  go(x,y,k)#k=1 капаем k<>1 холостой ход
  ........
  go(x,y,0)#подходим к сундуку
  UnLoad()#выкладываем руду
wend
endsub

sub minround() 
VAR TileNum = '1339' 
VAR x, y, t, k 
VAR MaxTime = 100  
VAR ms1 = "There is no ore here to mine" 
VAR ms2 = "You can't use" 
VAR ms3 = "You put the" 
VAR ms4 = "You loosen some rocks" 
VAR ms5 = "You are too far away" 
VAR ms6 = "Try mining in rock" 
VAR ms7 = "You can't see that"
var kolr,per
for y=-1 to 1 
for x=-1 to 1  
  k = 0 
  repeat 
    UO.DeleteJournal() 
    t = UO.Timer() 
    k = k + 1
    if uo.targeting() then
     UO.CancelTarget()
    endif
    CheckLag()
    wait(300) 
    UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0) 
    UO.UseType( Kirka ) 
    repeat 
     wait(300) 
    until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR ((t + MaxTime) < UO.Timer())
    uo.findtype('0x19B9','-1','backpack')
    kolr=uo.getquantity('finditem')
    per=uo.str*4+30-uo.weight
    uo.print("kol-vo irona " + str(kolr) + " do perevesa " + str(per))    
  until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) ) 
 next 
next 
endsub

Sub go(x,y,k) 
	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	

			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
	Wend
	if k==1 then
	 minround()
	endif
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
;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
		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
; zatik			
				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

sub UnLoad() 
var i 
DIM Item[13] 

Item[1]=0x19B9 ; >3 ore 
Item[2]=0x19B7 ; 1 ore 
Item[3]=0x19BA ; 2 ore 
Item[4]=0x19B8 ; 3 ore 
Item[5]=0x0F11 ; saphires 
Item[6]=0x0F16 ; amethysts 
Item[7]=0x0F18 ; tourmalines 
Item[8]=0x0F15 ; citrines 
Item[9]=0x0F10 ; emeralds 
Item[10]=0x0F0F ; star sapphires 
Item[11]=0x0F26 ; diamonds 
Item[12]=0x0EED ; gold 

for i = 1 to 12 
UO.FindType(Item[i], '-1', 'backpack') 
while UO.GetQuantity('finditem') > 0 
UO.MoveItem('finditem','-1',tSeif) 
Wait(1000) 
CheckLag() 
UO.FindType(Item[i],'-1','backpack') 
wend 
next 
end sub 

Post Reply