##### Mining Around Self With Recall And Reload (c) Vitle #####
sub MiningAroundWRaR()
var imx, imy, imz, my, mx
var a, i, j, k, r, w, jorcheck, joser, notor, minenumber, elemcheck, pk, start, runa
var MetallSafe = '0x4010CC11' ; personal safe
var Rbag = '0x404AE702'
DIM Ore[4]
Ore[0] = '0x19B9' ; 4 and more ore
Ore[1] = '0x19B7' ; 1 ore
Ore[2] = '0x19BA' ; 2 ore
Ore[3] = '0x19B8' ; 3 ore
minenumber = 1
elemcheck = 0
start = 1
while not uo.dead()
if minenumber == 1 then
runa = '0x403A9F80' ; rune to first mine
endif
if minenumber == 2 then
runa = '0x40149F52' ; rune to second mine
endif
if minenumber == 3 then
runa = '0x4010CC11' ; rune to third mine
endif
# Check Recall Scrolls
uo.findtype('0x1f4c')
if uo.getquantity('finditem') < 5 then
uo.findtype('0x1f4c', '-1', Rbag)
if uo.getquantity('finditem') > 4 then
CheckLag()
uo.grab(5, 'finditem')
wait(500)
endif
endif
mx = uo.getx("self")
my = uo.gety("self")
# Recall to mine
while not uo.getx("self") <> mx and not uo.gety("self") <> my
CheckLag()
uo.waittargetobject(runa)
uo.usetype('0x1f4c')
wait(4000)
wend
# start mining
imx = UO.GetX("self")
imy = UO.GetY("self")
imz = UO.GetZ("self")
pk = 0
while not pk == 1 and uo.weight < 601 ; while there are no PK
uo.deletejournal()
for j = imx-4 to imx+4
for i = imy -4 to imy+4
k = 0
uo.print("Now Mining In: "+str(imx-j)+" "+str(imy-i))
while not pk == 1 and not k == 3 and not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and uo.weight < 601
while not UO.Hidden()
uo.warmode(false)
CheckLag()
UO.DeleteJournal("hidden")
uo.deletejournal("seem")
UO.UseSkill('Hiding')
while not UO.InJournal("hidden") and not UO.InJournal("seem")
wait(100)
wend
wend
CheckLag()
UO.DeleteJournal()
UO.Waittargettile("1341", str(j), str(i), str(imz))
UO.Usetype('0x0E85')
while not pk == 1 and not UO.InJournal("You put") and not UO.InJournal("location") and not UO.InJournal("but fail") and not UO.InJournal("no ore") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("World is saving")
wait(500)
# Check for PK
for jorcheck = 0 to 9
joser = uo.journalserial(jorcheck)
notor = uo.getnotoriety(joser)
if notor <> 1 then
if notor <> 0 then
if elemcheck == 0 then
pk = 1
endif
endif
endif
next
wend
if UO.InJournal("World is saving") then
CheckLag()
wait(4000)
UO.Warmode(True)
wait(500)
UO.Warmode(False)
endif
if UO.InJournal("but fail") then
wait(500)
k = k + 1
endif
# check for elemental
if uo.injournal("heavy") then
if uo.weight < 601 then
elemcheck = elemcheck + 1
endif
endif
wend
UO.DeleteJournal()
next
next
wend
# Recall To Home
If uo.Weight < 601 then
# From PK or with full weight
while not uo.getx("self") <> imx and not uo.gety("self") <> imy
CheckLag()
uo.waittargetobject('0x40149F43')
uo.usetype('0x1f4c')
wait(4000)
wend
if pk==1 then
wait(20000)
endif
else
while not uo.getx("self") <> imx and not uo.gety("self") <> imy
CheckLag()
uo.waittargetobject('0x40149F43')
uo.usetype('0x1f4c')
wait(4000)
wend
endif
wait(1000)
# unload ore
for a = 0 to 3
uo.findtype(Ore[a])
if uo.findcount('finditem') > 0 then
repeat
uo.moveitem('finditem', '0', MetallSafe)
wait(500)
uo.findtype(Ore[a])
until not uo.findcount()
endif
next
wait(1000)
if elemcheck > 0 then
minenumber = minenumber + 1
if minenumber > 3 then
minenumber = start
endif
endif
wend
end sub
##### CheckLag #####
Sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('backpack')
end sub
|