Code: Select all
##===============================================================##
##========================Kopalka================================##
##===============================================================##
sub mine()
var x, y, i, tmp, inside, goto_x, st, first , posit
st=0
first=UO.GetX()
start:
inside=0
for y=-2 to 2
for x=-2 to 2
try:
UO.Exec ("waittargettile "+" 1340 "+STR(UO.GEtX()+x)+" "+STR(UO.GetY()+y)+" 0")
UO.exec ("usetype 0x0E85")
#UO.Print (""+STR(x))
#UO.Print (""+STR(y))
i=0
while i< 100
if UO.InJournal("You loosen some rocks but fail to find any useable ore") then
wait (1000)
i=200
UO.DeleteJournal()
goto try
endif
if UO.InJournal("Try mining elsewhere") then
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You cant mine in this Region.") then
i=200
UO.DeleteJournal()
endif
if UO.InJournal("Your pickaxe is destroyed") then
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You must wait to perform another action") then
wait (1000)
i=200
UO.DeleteJournal()
goto try
endif
if uo.InJournal("Elemental") or uo.InJournal("is attacking you")then
uo.playwav("C:\injection\alert.wav")
killelem()
wait(1000)
loot()
i=200
UO.DeleteJournal()
goto try
endif
if uo.InJournal("till")then
uo.playwav("C:\injection\alert.wav")
gumpclick()
wait(1000)
i=200
UO.DeleteJournal()
goto try
endif
if UO.InJournal("There is nothing here to mine for") then
wait (1000)
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You have no line of sight to that location") then
wait (1000)
i=200
UO.DeleteJournal()
endif
wait (500)
i=i+1
if UO.Weight>700 then
UO.print ( 'maxweight reached' )
recalltohouse()
hodjba()
dropores()
recalltocave()
return 1
UO.print ("Your weight is "+STR(UO.Weight))
goto try
end if
wend
next
next
if st == 0 then
posit=UO.GetX()
posit=posit+5
while UO.GetX() < posit
UO.Press (39, 1, 500)
wend
st=1
goto start
endif
if st == 1 then
posit=UO.GetY()
posit=posit+5
while UO.GetY() < posit
UO.Press (40, 1, 500)
wend
st=2
goto start
endif
if st == 2 then
posit=UO.GetX()
posit=posit-5
while UO.GetX() > posit
UO.Press (37, 1, 500)
wend
st=3
goto start
endif
if st == 3 then
posit=UO.GetY()
posit=posit-5
while UO.GetY() > posit
UO.Press (38, 1, 500)
wend
st=0
goto start
endif
goto start
finish:
wait(1000)
recalltohouse()
wait(1000)
Goto(4586,3312)
dropores()
wait(1000)
recalltocave()
end sub
sub recalltohouse()
uo.say ( ',recall 0x4005A74D 2' )
wait(15000)
end sub
sub recalltocave()
var Chest='0x4005A74D'
uo.FindType('0x1F4C','-1',Chest)
uo.Grab('3','finditem')
wait(3000)
uo.say ( ',recall 0x4005A74D 3' )
wait(25000)
uo.Exec('exec mine')
wait(15000)
end sub
##==================================================================##
sub DropOres()
if uo.Waiting() then
uo.CancelTarget()
end if
var a, Exit
var UnloadChest='0x4001B28B' ## - ID noiaoea aey na?ina ?oau.
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(UnloadChest)
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
end if
until Exit==1
next
uo.UnSetReceivingContainer()
end sub
#==============================================================
# CheckLag() - click on backpack and awaiting "backpack"
# message in journal.
#
# Journal has been deleted!!!
#--------------------------------------------------------------
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
Repeat
wait(1000)
Until UO.InJournal('backpack')
end sub
sub killelem()
VAR Count,Elem
uo.equipt('Rhand','0x0F51')
UO.DeleteJournal()
UO.Exec('warmode 1')
UO.FindType('0x000E',-1,'ground')
Elem=UO.GetSerial('finditem')
wait (300)
UO.Attack(Elem)
repeat
wait(1000)
If UO.Life<150 Then
UO.WaitMenu('Camping','Healing Campfie')
UO.UseType(0x0DE1)
Endif
If UO.Life<50 Then
UO.UseType(0x182B)
Endif
until UO.IsNPC(Elem)==0
wait(3000)
UO.Exec('warmode 0')
wait(1000)
UO.Print("poka!")
end sub
sub loot()
var corpse='0x2006' ; objtype ??? ???? ??????, ?????????? ?? ????, ??? ????.
var waittime=1000
var body,bodypack,i
DIM Loot[12]
Loot[0]=0x19B9
Loot[1]=0x19BA
Loot[2]=0x19B7
Loot[3]=0x19B8
Loot[4]=0x141A
Loot[5]=0x1416
Loot[6]=0x1410
Loot[7]=0x1417
Loot[8]=0x1418
Loot[9]=0x1419
Loot[10]=0x0E76
Loot[11]=0x1413
Loot[12]=0x1086
uo.set('finddistance','2')
while uo.countonground(corpse)>0
uo.findtype(corpse,'-1','ground')
body=uo.getserial('finditem')
#-----------????????? ???? ???
uo.useobject('backpack')
#-----------???? ???????? ?????? ????
repeat
wait(100)
until uo.getserial('lastcontainer')==uo.getserial('backpack')
#-----------????????? ????
uo.useobject(body)
repeat
wait(100)
until uo.getserial('lastcontainer')<>uo.getserial('backpack')
#------------
bodypack=uo.getserial('lastcontainer')
For i=0 to 12
repeat
UO.FindType(Loot[i],-1,bodypack)
if UO.GetQuantity('finditem') then
UO.MoveItem('finditem','backpack')
repeat
wait(100)
until uo.containerof('finditem')==uo.getserial('backpack')
wait(waittime)
endif
until uo.findcount()==0
next
uo.ignore(body)
wend
endsub
sub hodjba()
var x, y, i, tmp, inside, goto_x, st, first , posit
first=UO.GetX()
posit=UO.GetX()
posit=posit+5
while UO.GetX() < posit
UO.Press (39, 1, 500)
wend
endif
В чем проблем почену не скидивает орес?
