Тогда посмотри на этот код. Тут я получаю номер тайла через приватгеттайл. Вообщем запускаешь дроу, если нарисует шахту то будет работать. Если нет, то меняем инжу, убираем патчи с вердаты.
Code:
sub draw()
var x,y,s
uo.textclose()
uo.textclear()
for y=1426 to 1461
s=""
for x=346 to 389
if uo.privategettile(x,y,-1,1330,1360) then
if uo.privategettile(x,y,-1,2272,2281) OR uo.privategettile(x,y,-1,6003,6012) then
s=s+"+"
else
s=s+"#"
end if
else
s=s+"_"
end if
next
uo.textprint(s)
next
uo.textopen()
end sub
sub test()
UO.Print(STR(UO.PrivateGetTile(375,1425,-1,1358,1358)))
end sub
###############################################################
#===---==---==---==---= TURBO Mining =---==---==---==---==---=#
# Nova Shard: http://nova-uo.ru/ #
# Scripted by Savage (c) 2008 ICQ:33336141 #
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
# Bind on NUM ENTER or other key: exec PausedSwitch #
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
# To start script use ",exec mn" command from client window #
###############################################################
sub tt()
var nn
nn=UO.Timer()
while true
UO.Print(STR(UO.Timer()-nn))
wait(500)
wend
end sub
sub Arm()
While UO.ObjAtLayer('Lhand')==''
UO.Equipt('Lhand','0x1B78')
wait(700)
Wend
While UO.ObjAtLayer('Rhand')=='' OR UO.GetGraphic(UO.ObjAtLayer('Rhand'))=='0x0E86'
UO.Equipt('Rhand','0x1441')
wait(700)
Wend
end sub
sub MN()
VAR i
DIM X[12]
DIM Y[12]
UO.SetGlobal('PausedScript','Off')
; UO.Exec(Alarm())
X[0]=387
Y[0]=1436
X[1]=386
Y[1]=1431
X[2]=381
Y[2]=1430
X[3]=375
Y[3]=1430
X[4]=374
Y[4]=1435
X[5]=369
Y[5]=1437
X[6]=364
Y[6]=1438
X[7]=359
Y[7]=1437
X[8]=372
Y[8]=1438
X[9]=378
Y[9]=1438
X[10]=378
Y[10]=1443
While TRUE
For i=0 to 10
KillRat()
SuperWalk(X[i],Y[i],"")
DigItStay((UO.Str*3.7),2,UO.GetX(),UO.GetY())
Next
Wend
end sub
sub DigItStay(MaxWeight,MaxDistance,BaseX,BaseY)
VAR x,y,TempX,TempY
VAR Last=0,LastTimer, ContFlag=1
VAR MaxTimer=160,Count=1
VAR TileB=1339
VAR TileE=1359
Var Tile
For x=-MaxDistance to MaxDistance
For y=-MaxDistance to MaxDistance
Tile=-1
Tile=TileB
While NOT UO.PrivateGetTile(UO.GetX()+x,UO.GetY()+y,-1,Tile,Tile) AND Tile<TileE
Tile=Tile+1
Wend
If Tile<TileE Then
Repeat
ToHide()
IF UO.InJournal('cliloc# 0xA5F5') Then
TempX=UO.GetX()
TempY=UO.GetY()
KillRat()
SuperWalk(TempX,TempY,"")
Endif
CheckLag() ; deleting journal
UO.WaitTargetTile(Str(Tile),STR(UO.GetX()+x),STR(UO.GetY()+y),STR(UO.GetZ()))
UO.UseType('0x0E86')
LastTimer=UO.Timer()
Repeat
wait(200)
until UO.InJournal("Iguana|cliloc# 0x5DE4|Shining|Blood|silver|Spectral|Stars|cliloc# 0x5DE5|cliloc# 0x5DE3|cliloc# 0x5DE0|cliloc# 0xAD03|cliloc# 0xAD00|cliloc# 0xA867|cliloc# 0xAD02") OR LastTimer+MaxTimer<UO.Timer()
If UO.GetGlobal('PausedScript')=='On' Then
UO.Print("+++ Script paused! +++")
UO.Print("+++ Script paused! +++")
TempX=UO.GetX()
TempY=UO.GetY()
While UO.GetGlobal('PausedScript')=='On'
wait(500)
Wend
UO.Print("+++ Script continued! +++")
UO.Print("+++ Script continued! +++")
SuperWalk(TempX,TempY,"")
Endif
If UO.Life<UO.Str then
TempX=UO.GetX()
TempY=UO.GetY()
KillRat()
SuperWalk(TempX,TempY,"")
ToHide()
Endif
If UO.Weight>=MaxWeight then
TempX=UO.GetX()
TempY=UO.GetY()
KillRat()
SuperWalk(TempX,TempY,"")
GoSmelt()
Endif
Until UO.InJournal("cliloc# 0xAD00|cliloc# 0xA867|cliloc# 0xAD02")
Endif
Next
Next
end sub
sub GoSmelt()
VAR TempX,TempY, TempX1, TempY1
VAR RuneForge='0x4014AE2F' ; dom
VAR RuneBank ='0x400DCF77' ; bank
VAR RuneCaves='0x400C9FDE' ; pewera
TempX=UO.GetX()
TempY=UO.GetY()
UO.Cast('Recall',RuneForge)
While TempX==UO.GetX() AND TempY==UO.GetY()
wait(200)
Wend
Smelt()
TempX1=UO.GetX()
TempY1=UO.GetY()
UO.Cast('Recall',RuneBank)
While TempX1==UO.GetX() AND TempY1==UO.GetY()
wait(200)
Wend
UO.Say("Bank")
UnloadOre()
If UO.GetGlobal('PausedScript')=='On' Then
UO.Print("+++ Script paused! +++")
UO.Print("+++ Script paused! +++")
While UO.GetGlobal('PausedScript')=='On'
wait(500)
Wend
UO.Print("+++ Script continued! +++")
UO.Print("+++ Script continued! +++")
Endif
LoadRes()
TempX1=UO.GetX()
TempY1=UO.GetY()
UO.Cast('Recall',RuneCaves)
While TempX1==UO.GetX() AND TempY1==UO.GetY()
wait(200)
Wend
SuperWalk(TempX,TempY,"")
End sub
sub smelt()
VAR Forge='0x40004D06'
VAR WaitTime=1000
VAR Exit=0
While Exit<>1
; ToHide()
UO.FindType('0x19B9',-1,'backpack')
If UO.FindCount() Then
; UO.Print("Good!")
UO.WaitTargetObject(Forge)
UO.UseObject('finditem')
wait(WaitTime)
Else
; UO.Print("Bad!")
Exit=1
Endif
Wend
end sub
;------------------------- Unload ore -------------------------
sub unloadore()
VAR TempX,TempY,i,Exit
VAR StoreCont='0x4004BA6D'
VAR ResCont='0x400B338D'
VAR Container
DIM Drop[9]
Drop[0]='0x1BF2' ; Ingi
Drop[1]='0x19B9' ; Ruda
Drop[2]='0x1081' ; Koja
Drop[3]='0x0EED' ; Dengi
Drop[4]='0x09F1' ; Myaso
Drop[5]='0x09B9' ; Ptitsa
Drop[6]='0x0F0E' ; Empty Bottle
Drop[7]='0x1BD1' ; Periya
Drop[8]='0x0F0A' ; Lesser Poison
ToHide()
For i=0 to 8
Exit=0
Repeat
If i<2 Then
Container=StoreCont
Else
Container=ResCont
Endif
UO.FindType(Drop[i],-1,'backpack')
If UO.FindCount() Then
UO.MoveItem('finditem',0,Container)
wait(300)
CheckLag()
Else
Exit=1
Endif
Until Exit==1
Next
end sub
sub LoadRes()
VAR InPack
VAR WaitTime=300
VAR PickMeshok='0x401D3721'
VAR ResMeshok ='0x401D3721'
VAR PickType='0x0E86'
VAR BandType='0x0E21'
VAR NSType='0x0F88'
VAR BMType='0x0F7B'
VAR MRType='0x0F86'
VAR BPType='0x0F7A'
VAR GCType='0x0F07'
VAR GHType='0x0F0C'
VAR Bintov=50
VAR Regs=10
VAR Potions=10
UO.UseObject(PickMeshok)
wait(WaitTime)
; Kirki
While UO.Count(PickType)<5
UO.FindType(PickType,-1,PickMeshok)
wait(WaitTime)
If UO.FindCount() Then
UO.MoveItem('finditem',1,'backpack')
wait(WaitTime)
CheckLag()
Endif
Wend
UO.UseObject(ResMeshok)
wait(WaitTime)
; Binty
UO.FindType(BandType,-1,'backpack')
wait(WaitTime)
InPack=UO.GetQuantity('finditem')
IF InPack<Bintov Then
UO.FindType(BandType,-1,ResMeshok)
wait(WaitTime)
If UO.FindCount() Then
UO.MoveItem('finditem',Bintov-InPack,'backpack')
wait(WaitTime)
Endif
Endif
; Regi
IF UO.NS<Regs Then
UO.FindType(NSType,-1,ResMeshok)
wait(WaitTime)
If UO.FindCount() Then
UO.MoveItem('finditem',Regs-UO.NS,'backpack')
wait(WaitTime)
Endif
Endif
IF UO.BM<Regs Then
UO.FindType(BMType,-1,ResMeshok)
wait(WaitTime)
If UO.FindCount() Then
UO.MoveItem('finditem',Regs-UO.BM,'backpack')
wait(WaitTime)
Endif
Endif
IF UO.MR<Regs Then
UO.FindType(MRType,-1,ResMeshok)
wait(WaitTime)
If UO.FindCount() Then
UO.MoveItem('finditem',Regs-UO.MR,'backpack')
wait(WaitTime)
Endif
Endif
IF UO.BP<Regs Then
UO.FindType(BPType,-1,ResMeshok)
wait(WaitTime)
If UO.FindCount() Then
UO.MoveItem('finditem',Regs-UO.BP,'backpack')
wait(WaitTime)
Endif
Endif
; Potiony
UO.FindType(GCType,-1,'backpack')
wait(WaitTime)
InPack=UO.GetQuantity('finditem')
IF InPack<Potions Then
UO.FindType(GCType,-1,ResMeshok)
wait(WaitTime)
If UO.FindCount() Then
UO.MoveItem('finditem',Potions-InPack,'backpack')
wait(WaitTime)
Endif
Endif
UO.FindType(GHType,-1,'backpack')
wait(WaitTime)
InPack=UO.GetQuantity('finditem')
IF InPack<Potions Then
UO.FindType(GHType,-1,ResMeshok)
wait(WaitTime)
If UO.FindCount() Then
UO.MoveItem('finditem',Potions-InPack,'backpack')
wait(WaitTime)
Endif
Endif
end sub
sub KillRat()
VAR TempX,TempY
VAR Dist, i=0, Exit
VAR LastTimer=0, BTimer=0, DTimer=0, STimer=0
VAR Scan=6
VAR Corpse
VAR cp
DIM Rats[10]
Rats[0]='0x006C' ; elem
Rats[1]='0x0030' ; Scorpion
Rats[2]='0x0034' ; Snake
Rats[3]='0x0038' ; Skeleton
Rats[4]='0x0032' ; Skeleton2
Rats[5]='0x001E' ; Harpii
Rats[6]='0x00D7' ; Krisy
While i<7
UO.Set('finddistance',Scan)
UO.FindType(Rats[i],-1,'ground')
wait(50)
If UO.FindCount() Then
UO.Equipt('Rhand','0x1441')
wait(600)
Arm()
wait(50)
UO.Exec('warmode 1')
UO.DeleteJournal()
Dist=1
Corpse=UO.GetSerial('lastcorpse')
While Dist<Scan
UO.Set('finddistance',Dist)
UO.FindType(Rats[i],-1,'ground')
wait(50)
If UO.FindCount() Then
Exit=0
Else
Exit=1
Endif
cp=0
While Exit<>1
UO.Attack('finditem')
If cp<>1 Then
UO.Cast('Poison','finditem')
cp=1
wait(2000)
Endif
If UO.GetDistance('finditem')>1 Then
SuperWalk(0,0,'finditem')
Endif
wait(100)
If UO.Poisoned() AND UO.Life<60 Then
If DTimer+50<UO.Timer() Then
UO.UseType('0x0F07')
DTimer=UO.Timer()
Else
If BTimer+30<UO.Timer() Then
UO.BandageSelf()
BTimer=UO.Timer()
wait(300)
Arm()
Endif
EndIf
UO.Attack('finditem')
EndIf
If UO.Life<80 Then
If NOT UO.Poisoned() AND DTimer+50<UO.Timer() Then
UO.UseType('0x0F0C')
DTimer=UO.Timer()
Else
If BTimer+30<UO.Timer() Then
UO.BandageSelf()
BTimer=UO.Timer()
wait(300)
Arm()
Endif
Endif
UO.Attack('finditem')
EndIf
If UO.GetGlobal('PausedScript')=='On' Then
UO.Print("+++ Script paused! +++")
UO.Print("+++ Script paused! +++")
TempX=UO.GetX()
TempY=UO.GetY()
While UO.GetGlobal('PausedScript')=='On'
wait(500)
Wend
UO.Print("+++ Script continued! +++")
UO.Print("+++ Script continued! +++")
SuperWalk(TempX,TempY,"")
Endif
If UO.InJournal('corpse') OR Corpse<>UO.GetSerial('lastcorpse') Then
wait(1000)
If UO.GetDistance('lastcorpse')>1 Then
SuperWalk(0,0,'lastcorpse')
Endif
Loot()
Dist=0
Exit=1
i=0
Endif
Wend
Dist=Dist+1
Wend
Endif
i=i+1
Wend
UO.Exec('warmode 0')
While UO.Life<UO.Str
Healing()
wait(3000)
Wend
end sub
###############################################################
###############################################################
;
; Shared Subs
;
###############################################################
###############################################################
#==============================================================
# tohide() - try hidding char. When char lose HP, drink inviz
# potion if it found in backpack
#
# Journal has been deleted!!!
#--------------------------------------------------------------
sub tohide()
If NOT UO.Hidden() Then
UO.DeleteJournal()
UO.UseSkill('Hiding')
repeat
wait(200)
until UO.InJournal('cliloc# 0xA5F8|cliloc# 0xA196|cliloc# 0xA5F9|cliloc# 0xA5F5')
Endif
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(500)
until UO.InJournal('backpack|cliloc# 0x9ED5')
end sub
#==============================================================
# Gong(counter) - playing wav-file 'counter'-times
# http://www.djetta.ru/cow.wav
#--------------------------------------------------------------
sub Gong(times) ; play wav-file
VAR i
for i=1 to times
UO.Exec("playwav f:\game\uo\injection\cow")
wait(1200) ; time to play sample at once
next
end sub
#==============================================================
# Alarm() - when char lose some HP, U are informed :)
#--------------------------------------------------------------
sub Alarm()
VAR CharHP=60
while 1==1
wait(1000)
if UO.Life<CharHP then
gong(1)
endif
wend
end sub
#==============================================================
# SuperWalk(X,Y,Serial) - char is walking by dX and dY step
# sub using Home, End, PgUp, PgDown keys
# d'not rebind this key from default action!
# walkwait - delay after keypress
#--------------------------------------------------------------
sub SuperWalk(x,y,Target)
VAR i
VAR dir,ldir,rdir,key,olddir
VAR dx,dy,Exit=0
VAR CacheLimit=9,CacheIndex="Text"
DIM CacheX[10], CacheY[10]
CacheX[0]="Test"
While Exit<>1
If Target<>"" Then
dx=UO.GetX(Target)-UO.GetX()
dy=UO.GetY(Target)-UO.GetY()
; UO.Print("Target locked!")
If UO.GetDistance(Target)<2 Then
Exit=1
Endif
Else
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx==0 AND dy==0 Then
Exit=1
Endif
Endif
If dx<>0 AND dy<>0 Then
If dx>0 AND dy>0 Then ; GoSE
dir=3
ldir=2
rdir=4
key=40 ; DownArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==2 Then ; GoNE
dir=1
ldir=0
rdir=1
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=5
rdir=6
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx>0 AND dy<0 Then ; GoNE
dir=1
ldir=0
rdir=2
key=39 ; RightArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==0 Then ; GoWN
dir=7
ldir=6
rdir=7
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSE
dir=3
ldir=3
rdir=4
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 AND dy>0 Then ; GoSW
dir=5
ldir=4
rdir=6
key=37 ; LeftArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==6 Then ; GoWN
dir=7
ldir=7
rdir=0
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSE
dir=3
ldir=2
rdir=3
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 AND dy<0 Then ; GoWN
dir=7
ldir=6
rdir=0
key=38 ; UpArrow
olddir=UO.GetDir()
If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
If olddir==0 Then ; GoNE
dir=1
ldir=1
rdir=2
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=4
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
If dx<>0 AND dy==0 Then
If dx>0 Then ; GoE
dir=2
key=34 ; PgDown
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoSE
dir=3
ldir=3
rdir=4
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoNE
dir=1
ldir=1
rdir=0
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dx<0 Then ; GoW
dir=6
key=36 ; Home key
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==0 Then ; GoWN
dir=7
ldir=7
rdir=0
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=4
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
If dx==0 AND dy<>0 Then
If dy>0 Then ; GoS
dir=4
key=35 ; End
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoSE
dir=3
ldir=2
rdir=3
key=40 ; DownArrow
While UO.GetDir()<>3
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoSW
dir=5
ldir=6
rdir=5
key=37 ; LeftArrow
While UO.GetDir()<>5
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
If dy<0 Then ;GoN
dir=0
key=33 ; PgUp
olddir=UO.GetDir()
If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
If olddir==2 Then ; GoNE
dir=1
ldir=1
rdir=2
key=39 ; RightArrow
While UO.GetDir()<>1
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Else ; GoWN
dir=7
ldir=7
rdir=6
key=38 ; UpArrow
While UO.GetDir()<>7
StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
Wend
Endif
Endif
Endif
Endif
Wend
end sub
sub StepEdit(x,y,dir,key)
VAR walkwait=80
VAR ErrLevel=0
If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
If x==UO.GetX() AND y==UO.GetY() Then
;zatik
ErrLevel=1
Endif
Endif
Return ErrLevel
end sub
sub StepArrow(x,y,dir,ldir,rdir,key)
VAR walkwait=80
VAR ErrLevel=0
If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir AND UO.GetDir()<>ldir AND UO.GetDir()<>rdir Then
CheckLag()
Endif
Endif
If UO.GetX()==x AND UO.GetY()==y Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
CheckLag()
If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
; zatik
ErrLevel=1
Endif
Endif
Endif
Return ErrLevel
end sub
###############################################################
###############################################################
;
; Hotkeys Subs
;
###############################################################
###############################################################
sub PausedSwitch()
If UO.GetGlobal('PausedScript')=='Off' Then
UO.SetGlobal('PausedScript','On')
Else
UO.SetGlobal('PausedScript','Off')
Endif
end sub
#==============================================================
# Healing() - memoryzed current weapon, bandageself, armed
#--------------------------------------------------------------
sub Healing()
UO.SetArm('CWeapon')
UO.Exec("bandageself")
wait(500)
UO.Arm('CWeapon')
end sub
#==============================================================
# Cure() - cast cure to self from scroll, if she found
# or from spellbook
#--------------------------------------------------------------
sub Cure()
VAR ManaNeed=6
VAR ManaNeedScroll=3
If UO.Poisoned() Then
If UO.Mana>=ManaNeed Then
UO.Cast('Cure','self')
UO.Print("Spell!!!")
Else
UO.Print("Low mana spell!!!")
Endif
Else
UO.Print("You allready not sick!!!")
Endif
end sub
#==============================================================
# Heal() - cast heal to self from scroll, if she found
# or from spellbook
#--------------------------------------------------------------
sub Heal()
VAR ManaNeed=4
VAR ManaNeedScroll=2
If UO.Life<UO.Str Then
If UO.Mana>=ManaNeed Then
UO.Cast('Heal','self')
UO.Print("Spell!!!")
Else
UO.Print("Low mana spell!!!")
Endif
Else
UO.Print("Your HP at maximum!!!")
Endif
end sub
#==============================================================
# GHeal() - cast greater heal to self from scroll, if she
# found or from spellbook
#--------------------------------------------------------------
sub GHeal()
VAR ManaNeed=11
VAR ManaNeedScroll=5
If UO.Life<UO.Str Then
If UO.Mana>=ManaNeed Then
UO.Cast('Greater Heal','self')
UO.Print("Spell!!!")
Else
UO.Print("Low mana spell!!!")
Endif
Else
UO.Print("Your HP at maximum!!!")
Endif
end sub
#==============================================================
# Loot() - looting corpse and from ground. Savage.
#--------------------------------------------------------------
sub Loot()
VAR WaitTime=500
VAR Exit=0, i, FromCorpse=0, Rezak='0x1441'
DIM Loot[10]
UO.Set('finddistance',3)
Loot[0]=0x19B9 ; ore
Loot[1]=0x0EED ; gp
Loot[2]=0x1079 ; Hides
Loot[3]=0x14EB ; Treassure Map
Loot[4]=0x09F1 ; Raw ribs
Loot[5]=0x1BD1 ; Feathers
Loot[6]=0x1081 ; leather
Loot[7]=0x0F0A ; Poison Potion
Loot[8]=0x09B9 ; Raw Bird
UO.WaitTargetObject('lastcorpse')
UO.UseType(Rezak)
wait(1000)
UO.DeleteJournal()
For i=0 to 8
Exit=0
While Exit<>1
UO.FindType(Loot[i],-1,'lastcorpse')
If UO.FindCount() Then
If i==2 Then
UO.WaitTargetObject('finditem')
UO.UseType('0x0F9F')
Else
UO.MoveItem('finditem','0','LootBag')
Endif
wait(WaitTime)
Else
Exit=1
Endif
Wend
Next
UO.Print("!!! Polutal!")
end sub