MINING CHAVINHO
Posted: 2012-01-11 22:22:41
Só há um erro neste script, o char não recala pra mina depois de guardar os ores.
sub mining()
uo.useobject('BANK')
wait(500)
uo.lClick(308,441)
UO.AddObject ('CONTAINER')
While UO.Targeting()
Wait(2000)
var t,x,y,dir,px,py
Wend
inicio:
uo.useobject ('BOOK2')
wait(500)
uo.lClick(180,243)
wait(12000)
t=3 #Quantos tiles seu char vai andar depois que minerar tudo a sua volta.
ChecarLimite(1831,6) #Limite X ou Y da Mina. #Quantos tiles seu char vai andar pra voltar depois de ultrapassar do limite.
IF (uo.weight >= 350) then
GuardarOres()
endif
for x = -2 to 2
for y = -2 to 2
denovo:
UO.DeleteJournal()
if ((y == 0) and (x == 0)) or ((num(x) == 2) and (num(y) == 2)) then
goto jump
endif
uo.waittargettile('#0x400', str(uo.GetX() + x), str(uo.GetY() + y), STR(UO.GetZ('self')))
uo.usetype('0x0E85')
repeat
wait(200)
until UO.InJournal("Voce pos|Tente miner|Voce nao|Nao ha|You cann|O alvo|target canc")
if not UO.InJournal("Tente minerar|Nao ha|uma linha|You cannot") then
goto denovo
endif
jump:
next
next
walk:
px=UO.GetX('self')
py=UO.GetY('self')
dir=UO.Random(8)
while (t >= 0)
uo.press(dir+33)
wait(100)
t=t-1
wend
if (px == UO.GetX('self')) and (py == UO.GetY('self')) then
t=3
goto walk
endif
goto inicio
end sub
Sub num(X)
if X>0 then
return X
else
return (-X)
end if
end sub
sub ChecarLimite(limite,passos)
IF (UO.GetY('self') >= limite) then
uo.press(36)
wait(100)
uo.press(36)
while (passos >= 0)
wait(100)
uo.press(37)
passos=passos-1
wend
endif
end sub
sub GuardarOres()
uo.useobject ('BOOK1')
wait(500)
uo.lClick(177,186)
wait(12000)
uo.useobject('BANK')
wait(500)
uo.lClick(316,438)
wait(1000)
uo.useobject('CONTAINER')
wait(1000)
var n
DIM ID[13]
ID[1]='0x19B9'
ID[2]='0x19B8'
ID[3]='0x19BA'
ID[4]='0x19B7'
ID[5] = '0x0F16'
ID[6] = '0x0F10'
ID[7] = '0x0F0F'
ID[8] = '0x0F18'
ID[9] = '0x0F26'
ID[10] = '0x0F11'
ID[11] = '0x0F15'
ID[12] = '0x0F13'
ID[13] = '0x19B8'
For n=5 To 13
if uo.count(MID(ID[n], 0, 6)) >=1 then
if n >= 6 then
wait(1600)
endif
UO.FindType(MID(ID[n], 0, 6),'-1','my');
uo.moveitem('finditem', '0', MID(ID[n], 7, 9))
endif
Next
For n=1 To 4
while uo.count(ID[n]) >= 1
wait(1600)
UO.FindType(ID[n],'-1','my')
uo.moveitem('finditem', '0', 'CONTAINER')
wend
uo.useobject ('BOOK2')
wait(500)
uo.lClick(177,186) // POSIÇÃO DA RUNA
wait(12000)
Next
end sub
sub DropOre(cor)
var n
DIM OREID[4]
OREID[1]='0x19BA'
OREID[2]='0x19B8'
OREID[3]='0x19B7'
OREID[4]='0x19B9'
For n=1 to 4
if uo.count(OREID[n],cor) >=1 then
UO.FindType(OREID[n],cor,'my')
UO.MoveItem('finditem','-1','ground')
endif
Next
end sub
sub mining()
uo.useobject('BANK')
wait(500)
uo.lClick(308,441)
UO.AddObject ('CONTAINER')
While UO.Targeting()
Wait(2000)
var t,x,y,dir,px,py
Wend
inicio:
uo.useobject ('BOOK2')
wait(500)
uo.lClick(180,243)
wait(12000)
t=3 #Quantos tiles seu char vai andar depois que minerar tudo a sua volta.
ChecarLimite(1831,6) #Limite X ou Y da Mina. #Quantos tiles seu char vai andar pra voltar depois de ultrapassar do limite.
IF (uo.weight >= 350) then
GuardarOres()
endif
for x = -2 to 2
for y = -2 to 2
denovo:
UO.DeleteJournal()
if ((y == 0) and (x == 0)) or ((num(x) == 2) and (num(y) == 2)) then
goto jump
endif
uo.waittargettile('#0x400', str(uo.GetX() + x), str(uo.GetY() + y), STR(UO.GetZ('self')))
uo.usetype('0x0E85')
repeat
wait(200)
until UO.InJournal("Voce pos|Tente miner|Voce nao|Nao ha|You cann|O alvo|target canc")
if not UO.InJournal("Tente minerar|Nao ha|uma linha|You cannot") then
goto denovo
endif
jump:
next
next
walk:
px=UO.GetX('self')
py=UO.GetY('self')
dir=UO.Random(8)
while (t >= 0)
uo.press(dir+33)
wait(100)
t=t-1
wend
if (px == UO.GetX('self')) and (py == UO.GetY('self')) then
t=3
goto walk
endif
goto inicio
end sub
Sub num(X)
if X>0 then
return X
else
return (-X)
end if
end sub
sub ChecarLimite(limite,passos)
IF (UO.GetY('self') >= limite) then
uo.press(36)
wait(100)
uo.press(36)
while (passos >= 0)
wait(100)
uo.press(37)
passos=passos-1
wend
endif
end sub
sub GuardarOres()
uo.useobject ('BOOK1')
wait(500)
uo.lClick(177,186)
wait(12000)
uo.useobject('BANK')
wait(500)
uo.lClick(316,438)
wait(1000)
uo.useobject('CONTAINER')
wait(1000)
var n
DIM ID[13]
ID[1]='0x19B9'
ID[2]='0x19B8'
ID[3]='0x19BA'
ID[4]='0x19B7'
ID[5] = '0x0F16'
ID[6] = '0x0F10'
ID[7] = '0x0F0F'
ID[8] = '0x0F18'
ID[9] = '0x0F26'
ID[10] = '0x0F11'
ID[11] = '0x0F15'
ID[12] = '0x0F13'
ID[13] = '0x19B8'
For n=5 To 13
if uo.count(MID(ID[n], 0, 6)) >=1 then
if n >= 6 then
wait(1600)
endif
UO.FindType(MID(ID[n], 0, 6),'-1','my');
uo.moveitem('finditem', '0', MID(ID[n], 7, 9))
endif
Next
For n=1 To 4
while uo.count(ID[n]) >= 1
wait(1600)
UO.FindType(ID[n],'-1','my')
uo.moveitem('finditem', '0', 'CONTAINER')
wend
uo.useobject ('BOOK2')
wait(500)
uo.lClick(177,186) // POSIÇÃO DA RUNA
wait(12000)
Next
end sub
sub DropOre(cor)
var n
DIM OREID[4]
OREID[1]='0x19BA'
OREID[2]='0x19B8'
OREID[3]='0x19B7'
OREID[4]='0x19B9'
For n=1 to 4
if uo.count(OREID[n],cor) >=1 then
UO.FindType(OREID[n],cor,'my')
UO.MoveItem('finditem','-1','ground')
endif
Next
end sub