Помогиде доработать мининг

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
Greidon[Gods]
Posts: 54
Joined: 2006-12-26 09:32:20
Contact:

Помогиде доработать мининг

Post by Greidon[Gods] »

Проблемка в том, когда опкопает вокруг себя идет к сундуку, а потом ко второй точке, а хотельсь бы, чтоб скрипт обходил все точки потом относил все в сундук

Code: Select all

sub Na4alokopki() 
repeat
while gotoxy(1661,2933,0)
Mining()
GoToHome()
GoToMine()
gotoxy(1656,2930,0)
Mining()
GoToHome()
GoToMine()
gotoxy(1653,2923,0)
Mining()
GoToHome()
GoToMine()
gotoxy(1651,2915,0)
Mining()
GoToHome()
GoToMine()
gotoxy(1648,2909,0)
Mining()
GoToHome()
GoToMine()
gotoxy(1647,2897,0)
Mining()
GoToHome()
GoToMine()
gotoxy(1646,2892,0)
end sub

sub GoToHome()
gotoxy(1647,2893,0)
gotoxy(1652,2893,0)
gotoxy(1652,2885,0) 
gotoxy(1625,2885,0)
gotoxy(1619,2879,0) 
loot()
end sub

sub GoToMine()
gotoxy(1625,2885,0)
gotoxy(1652,2885,0)
gotoxy(1652,2893,0)
gotoxy(1647,2893,0)
gotoxy(1647,2911,0)
gotoxy(1654,2918,0)
gotoxy(1654,2929,0)
gotoxy(1658,2933,0)
gotoxy(1661,2933,0)
end sub


sub Mining()
     var x,y,z, n
     VAR LastTimer
  UO.Set('finddistance','4')
    n=0
    z=UO.GetZ("self")
       for x=-2 to 2
       for y=-2 to 2
      UO.Print(str(x)+" "+str(y))
           Repeat
              if UO.InJournal('TORMOZ') then
                pause()
              endif
              UO.DeleteJournal()             
              UO.Warmode("0")
              UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z))
              UO.UseType('0x0E85')
              LastTimer=UO.Timer()
              Repeat
                 wait(500)
              Until UO.InJournal("You put")  or UO.InJournal("heavy") or UO.InJournal("can't see") or UO.InJournal("You cant mine in this Region.") or UO.InJournal("stop") or UO.InJournal("location") or UO.InJournal("no ore") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200
              if UO.InJournal("You put") then
                  n=0
              else
                 n=n+1
              endif
           Until UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") or UO.InJournal("Iron Ore") or UO.InJournal("Rusty Ore") or UO.InJournal("Bronze Ore") or UO.InJournal("Gold Ore") or UO.InJournal("Rose Ore") or UO.InJournal("Copper Ore") or UO.InJournal("Agapite Ore") or UO.InJournal("Shadow Ore") or UO.InJournal("Dull Copper Ore") or UO.InJournal("Old Copper Ore") or UO.InJournal("Silver Ore") or n>=5
        next
     next
end sub

sub loot()
uo.UseSkill('Stealth')
wait(3000)
begin:
if uo.waiting() then
uo.canceltarget()
endif
VAR a,Exit
VAR UnloadCont='0x402374BC' ; ID sunduka
DIM Ore[5]
Ore[0]=0x19B9 ; 4 and more ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore
UO.SetReceivingContainer(UnloadCont)
wait(500)
For a=0 to 3
Exit=0
repeat
UO.FindType(Ore[a])
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(1500)
Else
Exit=1
endif
until Exit==1
Next
UO.UnSetReceivingContainer()
end sub

sub ToHide()
while not UO.Hidden()
uo.print('Пытаемся уйти в хайд...')
uo.deletejournal()
UO.UseSkill("Stealth")
wait(4100)
wend
wait(100)
end sub

sub gotoxy(x,y,prec)
var ld=0,ldc=0
var dx,dy
var mx,my
var ox,oy,mk,k
#uo.print(">")
#uo.track("1",str(x),str(y))
start:
mx=UO.GetX()
my=UO.GetY()
dx=mx-x
if dx<0 then
dx=0-dx
endif
dy=my-y
if dy<0 then
dy=0-dy
endif
if dy>dx then
dx=dy
end if
if dx<=prec then
return
end if
if not ldc then
uo.print(STR(dx))
end if
if dx<3 then
mk=70
else
mk=15
end if
ox=mx
oy=my
for k=1 to mk
mx=UO.GetX()
my=UO.GetY()
if mx<>ox or my<>oy then
goto sdidapl
end if
wait(10)
next
sdidapl:
mx=UO.GetX()
my=UO.GetY()
dx=mx-x
if dx<0 then
dx=0-dx
endif
dy=my-y
if dy<0 then
dy=0-dy
endif
if dy>dx then
dx=dy
end if
if dx<=prec then
return
end if
if ld==dx then
ldc=ldc+1
if ldc>100 then
uo.print("Can not reach location!")
return
end if
else
ld=dx
end if
if mx==x then
if my==y then
return
endif
if my>y then
#UO.Print("UR")
UO.Press(33)
goto start
endif
#UO.Print("DL")
UO.Press(35)
goto start
end if
if mx<x then
if my>y then
#UO.Print("R")
UO.Press(39)
goto start
endif
if my==y then
#UO.Print("DR")
UO.Press(34)
goto start
endif
#UO.Print("D")
UO.Press(40)
goto start
end if
if my<y then
#UO.Print("L")
UO.Press(37)
goto start
endif
if my==y then
#UO.Print("LU")
UO.Press(36)
goto start
endif
#UO.Print("U")
UO.Press(38)
goto start
end sub
CoS
Posts: 53
Joined: 2007-06-20 15:38:11

Post by CoS »

Code: Select all

sub Na4alokopki() 
repeat
while gotoxy(1661,2933,0)
Mining()
gotoxy(1656,2930,0)
Mining() 
gotoxy(1653,2923,0)
Mining() 
gotoxy(1651,2915,0)
Mining()
gotoxy(1648,2909,0)
Mining()
gotoxy(1647,2897,0)
Mining()
gotoxy(1646,2892,0)
end sub

sub GoToHome()
gotoxy(1647,2893,0)
gotoxy(1652,2893,0)
gotoxy(1652,2885,0) 
gotoxy(1625,2885,0)
gotoxy(1619,2879,0) 
loot()
end sub

sub GoToMine()
gotoxy(1625,2885,0)
gotoxy(1652,2885,0)
gotoxy(1652,2893,0)
gotoxy(1647,2893,0)
gotoxy(1647,2911,0)
gotoxy(1654,2918,0)
gotoxy(1654,2929,0)
gotoxy(1658,2933,0)
gotoxy(1661,2933,0)
end sub


sub Mining()
     var x,y,z, n
     VAR LastTimer
  UO.Set('finddistance','4')
    n=0
    z=UO.GetZ("self")
       for x=-2 to 2
       for y=-2 to 2
      UO.Print(str(x)+" "+str(y))
           Repeat
              if UO.InJournal('TORMOZ') then
                pause()
              endif
              UO.DeleteJournal()             
              UO.Warmode("0")
              UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z))
              UO.UseType('0x0E85')
              LastTimer=UO.Timer()
              Repeat
                 wait(500)
              Until UO.InJournal("You put")  or UO.InJournal("heavy") or UO.InJournal("can't see") or UO.InJournal("You cant mine in this Region.") or UO.InJournal("stop") or UO.InJournal("location") or UO.InJournal("no ore") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200
              if UO.InJournal("You put") then
                  n=0
              else
                 n=n+1
              endif
           Until UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") or UO.InJournal("Iron Ore") or UO.InJournal("Rusty Ore") or UO.InJournal("Bronze Ore") or UO.InJournal("Gold Ore") or UO.InJournal("Rose Ore") or UO.InJournal("Copper Ore") or UO.InJournal("Agapite Ore") or UO.InJournal("Shadow Ore") or UO.InJournal("Dull Copper Ore") or UO.InJournal("Old Copper Ore") or UO.InJournal("Silver Ore") or n>=5
        next
     next
end sub

sub loot()
uo.UseSkill('Stealth')
wait(3000)
begin:
if uo.waiting() then
uo.canceltarget()
endif
VAR a,Exit
VAR UnloadCont='0x402374BC' ; ID sunduka
DIM Ore[5]
Ore[0]=0x19B9 ; 4 and more ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore
UO.SetReceivingContainer(UnloadCont)
wait(500)
For a=0 to 3
Exit=0
repeat
UO.FindType(Ore[a])
if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
wait(1500)
Else
Exit=1
endif
until Exit==1
Next
UO.UnSetReceivingContainer()
end sub

sub ToHide()
while not UO.Hidden()
uo.print('Пытаемся уйти в хайд...')
uo.deletejournal()
UO.UseSkill("Stealth")
wait(4100)
wend
wait(100)
end sub

sub gotoxy(x,y,prec)
var ld=0,ldc=0
var dx,dy
var mx,my
var ox,oy,mk,k
#uo.print(">")
#uo.track("1",str(x),str(y))
start:
mx=UO.GetX()
my=UO.GetY()
dx=mx-x
if dx<0 then
dx=0-dx
endif
dy=my-y
if dy<0 then
dy=0-dy
endif
if dy>dx then
dx=dy
end if
if dx<=prec then
return
end if
if not ldc then
uo.print(STR(dx))
end if
if dx<3 then
mk=70
else
mk=15
end if
ox=mx
oy=my
for k=1 to mk
mx=UO.GetX()
my=UO.GetY()
if mx<>ox or my<>oy then
goto sdidapl
end if
wait(10)
next
sdidapl:
mx=UO.GetX()
my=UO.GetY()
dx=mx-x
if dx<0 then
dx=0-dx
endif
dy=my-y
if dy<0 then
dy=0-dy
endif
if dy>dx then
dx=dy
end if
if dx<=prec then
return
end if
if ld==dx then
ldc=ldc+1
if ldc>100 then
uo.print("Can not reach location!")
return
end if
else
ld=dx
end if
if mx==x then
if my==y then
return
endif
if my>y then
#UO.Print("UR")
UO.Press(33)
goto start
endif
#UO.Print("DL")
UO.Press(35)
goto start
end if
if mx<x then
if my>y then
#UO.Print("R")
UO.Press(39)
goto start
endif
if my==y then
#UO.Print("DR")
UO.Press(34)
goto start
endif
#UO.Print("D")
UO.Press(40)
goto start
end if
if my<y then
#UO.Print("L")
UO.Press(37)
goto start
endif
if my==y then
#UO.Print("LU")
UO.Press(36)
goto start
endif
#UO.Print("U")
UO.Press(38)
goto start
end sub
Greidon[Gods]
Posts: 54
Joined: 2006-12-26 09:32:20
Contact:

Post by Greidon[Gods] »

Ничего не понял :roll: тот же скрипт кинул=)
CoS
Posts: 53
Joined: 2007-06-20 15:38:11

Post by CoS »

несовсем =)
я в начале переделал
щас должно быть так как ты хочешь
Greidon[Gods]
Posts: 54
Joined: 2006-12-26 09:32:20
Contact:

Post by Greidon[Gods] »

CoS wrote:несовсем =)
я в начале переделал
щас должно быть так как ты хочешь


неа, все то же самое :cry:
Мб ты просто не тот скинул?
CoS
Posts: 53
Joined: 2007-06-20 15:38:11

Post by CoS »

попробуй скопировать именно тот скрипт что скинул я =)
я там просто вычеркнул походы домои
так как ты просил
Greidon[Gods]
Posts: 54
Joined: 2006-12-26 09:32:20
Contact:

Post by Greidon[Gods] »

CoS wrote:попробуй скопировать именно тот скрипт что скинул я =)
я там просто вычеркнул походы домои
так как ты просил


Нет, походы домой мне нужны, только после того, как чар пройдет по всем координатам и обкопает, загрузил ьвой, все равно скрипт после обкопки одного координата идет к сундуку=(
Post Reply