Дополнить макрос на мининг.

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
Botinokk
Posts: 62
Joined: 2006-09-08 04:46:12

Дополнить макрос на мининг.

Post by Botinokk »

Знатоки помогите пожалуйста,нужно сделать так когда в ручную останавливаешь макрос при повторном включении он шел и капал тот тайл на котором был выключен,а то очень тяжко когда выкапываешь елема приходиться вырубать,убивать его и начинать заного обходить все тайлы??? !!!!

Code: Select all

sub collecting() 

var i,s=0,flag=0 
var f=file("D:\_GAMES\Ultima Online\Inject\rock.txt") 
dim RockX[500],RockY[500],RockT[500] 
var Count=0 

while not flag ==1 
  
   uo.usetype ('0x0E85') 
   WaitForTarget() 
    
   while uo.targeting() 
   wait(100) 
   wend 
    
   if  uo.LastTile(1)==UO.GetX("self") then 
      if uo.lastTile(2)==UO.GetY("self")  then 
         flag=1 
      endif 
   endif 

    
   if flag == 0 then 
      RockX[Count]=uo.LastTile(1) 
      RockY[Count]=uo.lastTile(2) 
      RockT[Count]=uo.LastTile(0) 
      uo.print('Íàéäåíà êî÷êà ¹ '+str(count)+': x='+str(uo.lasttile(1))+' y='+str(uo.lastTile(2))) 
       

      Count = Count+1 
    
   endif 
    
    
wend 


uo.print ("Íàéäåíî " + str(Count) + " êî÷åê") 
################################################# 
################Çàïèñü â ôàéë#################### 
################################################# 

f.open() 
f.create() 
s=safe call f.writeln(Count) 
   for i=0 to Count-1 
   s=safe call f.writeln(str(RockT[i])+' '+str(RockX[i])+' '+str(RockY[i])) 
   next 
f.close() 

################################################# 
################################################# 
################################################# 


end sub 



################################################# 
################################################# 
################################################# 
################################################# 
################################################# 
################################################# 


sub mining() 

var i,flag,j 
var Count 
var f=file("D:\_GAMES\Ultima Online\Inject\rock.txt") 
dim RockX[500],RockY[500],RockT[500] 
uo.deletejournal() 

################################################# 
###############Çàãðóæàåì èç ôàéëà################ 
################################################# 

uo.print('Çàãðóæàåì êîîðäèíàòû èç ôàéëà...') 
f.open() 
Count=safe call f.readNumber() 

uo.print("Çàãðóæåíî "+str(Count)+ " êî÷åê") 

for i=0 to Count-1 
RockT[i]=safe call f.ReadNumber() 
RockX[i]=safe call f.ReadNumber() 
RockY[i]=safe call f.ReadNumber() 
next 
f.close() 


################################################# 
###############Õîäèì ïî êîîðäèíàòàì############## 
################################################# 

while UO.Weight<650 
uo.deletejournal() 
   if Count>0 then 
   for i=0 to Count-1 
      flag=0 
      j=0 
      uo.print('Èäåì ê êî÷êå '+str(i)+': x='+str(Rockx[i])+' y='+str(RockY[i])) 

      while not flag==1 
         flag=gotoxy(RockX[i],RockY[i]) 
         wait (1000) 
      wend 
        
       
uo.deletejournal() 
 GetRock(str(RockT[i]),str(RockX[i]),str(RockY[i]),str(uo.getz())) 
       
   next 
   endif 
wend 

uo.print ("Âûêîïàíî")    

end sub 


################################################################## 

sub GetRock(tile,x,y,z) 

uo.print('Íà÷èíàåì êîïêó...') 

while not UO.InJournal("Try") and not UO.InJournal("location") and not UO.InJournal("Ïîïðîáóéòå") and not UO.InJournal("far away") and not UO.InJournal("There is nothing here to mine for.") and not UO.InJournal ("Òóò íå îñòàëîñü ðóäû") and not UO.InJournal("äîòÿíóòüñÿ") and not UO.InJournal("You put the iron ores in your pack.")and not UO.InJournal ("You cannot mine so close to yourself.")
   uo.deletejournal() 
   UO.Waittargettile(tile,x,y,z) 
   uo.print ("Èñïîëüçóåì êèðêó...") 
   UO.Usetype("0x0E85") 
             
   while not UO.InJournal("You put") and not UO.InJournal("location") and not UO.InJournal("Ïîïðîáóéòå") and not UO.InJournal("äîòÿíóòüñÿ") and not UO.InJournal("There is nothing here to mine for.") and not UO.InJournal ("Òóò íå îñòàëîñü ðóäû") and not UO.InJournal("but fail") and not UO.InJournal("nothing") and not UO.InJournal("Try") and not UO.InJournal("You put the iron ores in your pack.") and not UO.InJournal ("You cannot mine so close to yourself.")
      wait (1000) 
   wend 
wend 



end sub 
########################################## 
#############Äîïîëíèòåëüíûå############### 
################Ôóíêöèè################### 
########################################## 


sub abs(num) 
if num>=0 then 
return num 
else 
return num*(-1) 
end if 
end sub 

sub gotoXY(x,y) 
var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0 
for i=1 to 60 
MyX=uo.getX(); 
MyY=uo.getY(); 
if LastX==MyX AND LastY==MyY then 
halt=halt+1 
else 
halt=0 
end if 
if halt>=10 then 
if uo.GetDir()==1 then 
for z=0 to 8 
uo.press(40) 
next 
end if 
if uo.GetDir()==3 then 
for z=0 to 8 
uo.press(37) 
next 
end if 
if uo.GetDir()==5 then 
for z=0 to 8 
uo.press( 38 ) 
next 
end if 
if uo.GetDir()==7 then 
for z=0 to 8 
uo.press(39) 
next 
end if 
halt=15 
end if 
if abs(x-myX)<=1 AND abs(y-myY)<=2 then 
return 1 
end if 
if x<=MyX then 
if y<=MyY then 
for z=0 to 3 
uo.press( 38 ) 
next 
else 
for z=0 to 3 
uo.press(37) 
next 
end if 
else 
if y<=MyY then 
for z=0 to 3 
uo.press(39) 
next 
else 
for z=0 to 3 
uo.press(40) 
next 
end if 
end if 
lastX=myX 
lastY=myY 
wait(200) 
next 
return 0 
end sub 

sub WaitForTarget() 
for var i=0 to 50 
if uo.Targeting()==1 then 
return 1 
end if 
wait(200) 
next 
return 0 
end sub
Botinokk
Posts: 62
Joined: 2006-09-08 04:46:12

Post by Botinokk »

Вот нашел паузу только чето не получается сделать так чтобы он к томуже тайлу шел копать (((

Code: Select all

sub Pauza() ; Пауза... Чтобы продолжить напиши GO или после убийства элементаля он сам продолжит.
UO.DeleteJournal()
REPEAT
WAIT(3000)
UO.Print("!!!СКРИПТ НА ПАУЗЕ!!!!")
UNTIL UO.InJournal('GO') or UO.InJournal('Body of Earth Elemental')
UO.Print("!!!СКРИПТ ПРОДОЛЖЕН!!!!")
endif
end sub 
zimglads
Posts: 30
Joined: 2009-06-11 14:06:40

Post by zimglads »

скрипт скалы обкапует?
Botinokk
Posts: 62
Joined: 2006-09-08 04:46:12

Post by Botinokk »

не по теме децл молча ок?
zimglads
Posts: 30
Joined: 2009-06-11 14:06:40

Post by zimglads »

О_о проще выражайся и люди к тебе подтянуться ;) :arrow:
Botinokk
Posts: 62
Joined: 2006-09-08 04:46:12

Post by Botinokk »

проще некуда читай название топика все ясно написано что и зачем.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Я такой скрипт даже прочитать не могу. Наверно склеили от старого ламбера в далеком 2003 году. Жесть.

Чтоб решить проблему - скрипт надо выложить полностью все что там есть.

имхо убрать проверку елемов и убивать их 2м чаром.
Botinokk
Posts: 62
Joined: 2006-09-08 04:46:12

Post by Botinokk »

пашет он отлично ((
Post Reply