доброго времени суток. ниже приведен скрипт - копает на скале в брите до перегруза прыгает по рунбуке, разгружается прыгает обратно и продолжает копать с последнего места. необходимо вот что :
1) чтоб после разгрузки и прыга обратно в брит скрипт начинал копать с 1 координаты
2) ввернуть в него чтоб перед каждой копкой юзал спирит спик.
скрипт собирал сам из 2х, а вот как сделать чтоб он заного начинал так и не понял... ах да - сервак на всяк пожарный ДРВ
Заранее спасибо!
Собственно сам скрипт:
sub main()
while not uo.dead()
go(1455,1529,0)
go(1455,1529,1)
go(1453,1529,1)
go(1452,1529,1)
go(1450,1530,1)
go(1448,1528,1)
go(1447,1527,1)
go(1445,1526,1)
go(1444,1524,1)
go(1446,1522,1)
go(1448,1522,1)
go(1451,1521,1)
go(1452,1520,1)
go(1452,1518,1)
go(1450,1517,1)
go(1448,1515,1)
go(1450,1513,1)
go(1450,1511,1)
go(1450,1509,1)
go(1451,1507,1)
go(1453,1505,1)
go(1455,1505,1)
go(1457,1506,1)
go(1455,1505,1)
go(1453,1505,1)
go(1451,1507,1)
go(1450,1509,1)
go(1450,1511,1)
go(1450,1513,1)
go(1448,1515,1)
go(1450,1517,1)
go(1452,1518,1)
go(1452,1520,1)
go(1451,1521,1)
go(1448,1522,1)
go(1446,1522,1)
go(1444,1524,1)
go(1445,1526,1)
go(1447,1527,1)
go(1448,1528,1)
go(1450,1530,1)
go(1452,1529,1)
go(1453,1529,1)
wend
endsub
sub minround()
VAR Kirka = '0x0e85'
VAR TileNum = '1339'
VAR x, y, t, k
VAR MaxTime = 100
VAR ms1 = "There is no ore here to mine"
VAR ms2 = "You can't use"
VAR ms3 = "You put the"
VAR ms4 = "You loosen some rocks"
VAR ms5 = "You are too far away"
VAR ms6 = "Try mining in rock"
VAR ms7 = "You can't see that"
var kolr,per
for y=-1 to 1
for x=-1 to 1
k = 0
repeat
UO.DeleteJournal()
t = UO.Timer()
k = k + 1
if uo.targeting() then
UO.CancelTarget()
endif
CheckLag()
wait(300)
ToHide()
UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
UO.UseType( Kirka )
repeat
wait(300)
until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR ((t + MaxTime) < UO.Timer())
uo.findtype('0x19B9','-1','backpack')
kolr=uo.getquantity('finditem')
per=uo.str*4+30-uo.weight
uo.print("kol-vo irona " + str(kolr) + " do perevesa " + str(per))
if per<=30 then
ToRecall()
wait(700)
endif
until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) )
next
next
endsub
Sub go(x,y,k)
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
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx==0 AND dy==0 Then
Exit=1
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
if k==1 then
minround()
endif
end sub
Sub StepEdit(x,y,dir,key)
VAR walkwait=300
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=300
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
Sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(50)
until UO.InJournal('backpack')
end sub
Sub ToHide()
var CheckTime
while NOT UO.Hidden()
UO.Print('Hidden...')
UO.Exec("warmode 0")
wait(1000)
UO.UseSkill('Stealth')
CheckTime=UO.Timer()
REPEAT
wait(300)
Until UO.Hidden() or CheckTime+60<uo.Timer() or UO.Dead()
Wend
End sub
sub ToRecall()
RecallToHome()
wait (10000)
DropOre()
wait (10000)
RecallToOre()
wait (10000)
end sub
sub RecallToHome()
uo.Print('Прыгаем Домой.')
uo.exec("recall Runebook 21") ; домой ( в рунбуке слот 1 )
end sub
sub RecallToOre()
uo.Print('Прыгаем в Пещеру.')
uo.exec("recall Runebook 94") ; домой ( в рунбуке слот 8 )
end sub
sub DropOre()
VAR Chest='0x400AFA2F'
var o,exit
dim Ore[14]
Ore[0]=0x19B9
Ore[1]=0x19B7
Ore[2]=0x19BA
Ore[3]=0x19B8
Ore[4]=0x0F11
Ore[5]=0x0F16
Ore[6]=0x0F18
Ore[7]=0x0F15
Ore[8]=0x0F10
Ore[9]=0x0F0F
Ore[10]=0x0F26
Ore[11]=0x1F4C
Ore[12]=0x0EED
Ore[13]=0x0F20
ToHide()
if uo.Waiting() then
uo.CancelTarget()
end if
uo.SetReceivingContainer('Chest')
wait(500)
for o=0 to 13
exit=0
repeat
uo.FindType(Ore[o])
if uo.GetQuantity('finditem')>0 then
uo.Grab('0','finditem')
wait(1500)
else
exit=1
end if
until exit==1
next
uo.UnSetReceivingContainer('Chest')
end sub
доработка скрипта на мининг
Moderators: Murderator+, Murderator
Re: доработка скрипта на мининг
sub main()
while not uo.dead()
go(1455,1529,0)
go(1455,1529,1)
go(1453,1529,1)
go(1452,1529,1)
go(1450,1530,1)
go(1448,1528,1)
go(1447,1527,1)
go(1445,1526,1)
go(1444,1524,1)
go(1446,1522,1)
go(1448,1522,1)
go(1451,1521,1)
go(1452,1520,1)
go(1452,1518,1)
go(1450,1517,1)
go(1448,1515,1)
go(1450,1513,1)
go(1450,1511,1)
go(1450,1509,1)
go(1451,1507,1)
go(1453,1505,1)
go(1455,1505,1)
go(1457,1506,1)
go(1455,1505,1)
go(1453,1505,1)
go(1451,1507,1)
go(1450,1509,1)
go(1450,1511,1)
go(1450,1513,1)
go(1448,1515,1)
go(1450,1517,1)
go(1452,1518,1)
go(1452,1520,1)
go(1451,1521,1)
go(1448,1522,1)
go(1446,1522,1)
go(1444,1524,1)
go(1445,1526,1)
go(1447,1527,1)
go(1448,1528,1)
go(1450,1530,1)
go(1452,1529,1)
go(1453,1529,1)
wend
А что это за координаты....?
while not uo.dead()
go(1455,1529,0)
go(1455,1529,1)
go(1453,1529,1)
go(1452,1529,1)
go(1450,1530,1)
go(1448,1528,1)
go(1447,1527,1)
go(1445,1526,1)
go(1444,1524,1)
go(1446,1522,1)
go(1448,1522,1)
go(1451,1521,1)
go(1452,1520,1)
go(1452,1518,1)
go(1450,1517,1)
go(1448,1515,1)
go(1450,1513,1)
go(1450,1511,1)
go(1450,1509,1)
go(1451,1507,1)
go(1453,1505,1)
go(1455,1505,1)
go(1457,1506,1)
go(1455,1505,1)
go(1453,1505,1)
go(1451,1507,1)
go(1450,1509,1)
go(1450,1511,1)
go(1450,1513,1)
go(1448,1515,1)
go(1450,1517,1)
go(1452,1518,1)
go(1452,1520,1)
go(1451,1521,1)
go(1448,1522,1)
go(1446,1522,1)
go(1444,1524,1)
go(1445,1526,1)
go(1447,1527,1)
go(1448,1528,1)
go(1450,1530,1)
go(1452,1529,1)
go(1453,1529,1)
wend
А что это за координаты....?
Re: доработка скрипта на мининг
shoko wrote:доброго времени суток. ниже приведен скрипт - копает на скале в брите до перегруза прыгает по рунбуке, разгружается прыгает обратно и продолжает копать с последнего места. необходимо вот что :
1) чтоб после разгрузки и прыга обратно в брит скрипт начинал копать с 1 координаты
2) ввернуть в него чтоб перед каждой копкой юзал спирит спик.
скрипт собирал сам из 2х, а вот как сделать чтоб он заного начинал так и не понял... ах да - сервак на всяк пожарный ДРВ
Заранее спасибо!
Собственно сам скрипт:
Ore[1]=0x19B7Code: Select all
sub main() while not uo.dead() go(1455,1529,0) minround() go(1455,1529,1) minround() go(1453,1529,1) minround() go(1452,1529,1) minround() go(1450,1530,1) minround() go(1448,1528,1) minround() go(1447,1527,1) minround() go(1445,1526,1) minround() go(1444,1524,1) minround() go(1446,1522,1) minround() go(1448,1522,1) minround() go(1451,1521,1) minround() go(1452,1520,1) minround() go(1452,1518,1) minround() go(1450,1517,1) minround() go(1448,1515,1) minround() go(1450,1513,1) minround() go(1450,1511,1) minround() go(1450,1509,1) minround() go(1451,1507,1) minround() go(1453,1505,1) minround() go(1455,1505,1) minround() go(1457,1506,1) minround() go(1455,1505,1) minround() go(1453,1505,1) minround() go(1451,1507,1) minround() go(1450,1509,1) minround() go(1450,1511,1) minround() go(1450,1513,1) minround() go(1448,1515,1) minround() go(1450,1517,1) minround() go(1452,1518,1) minround() go(1452,1520,1) minround() go(1451,1521,1) minround() go(1448,1522,1) minround() go(1446,1522,1) minround() go(1444,1524,1) minround() go(1445,1526,1) minround() go(1447,1527,1) minround() go(1448,1528,1) minround() go(1450,1530,1) minround() go(1452,1529,1) minround() go(1453,1529,1) minround() wend endsub sub minround() VAR Kirka = '0x0e85' VAR TileNum = '1339' VAR x, y, t, k VAR MaxTime = 100 VAR ms1 = "There is no ore here to mine" VAR ms2 = "You can't use" VAR ms3 = "You put the" VAR ms4 = "You loosen some rocks" VAR ms5 = "You are too far away" VAR ms6 = "Try mining in rock" VAR ms7 = "You can't see that" var kolr,per for y=-1 to 1 for x=-1 to 1 k = 0 repeat UO.DeleteJournal() t = UO.Timer() k = k + 1 if uo.targeting() then UO.CancelTarget() endif CheckLag() wait(300) ToHide() UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0) UO.UseType( Kirka ) repeat wait(300) until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR ((t + MaxTime) < UO.Timer()) uo.findtype('0x19B9','-1','backpack') kolr=uo.getquantity('finditem') per=uo.str*4+30-uo.weight uo.print("kol-vo irona " + str(kolr) + " do perevesa " + str(per)) if per<=30 then ToRecall() wait(700) endif until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) ) next next endsub Sub go(x,y,k) 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 dx=x-UO.GetX() dy=y-UO.GetY() If dx==0 AND dy==0 Then Exit=1 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 if k==1 then endif end sub Sub StepEdit(x,y,dir,key) VAR walkwait=300 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=300 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 Sub CheckLag() UO.DeleteJournal() UO.Click('backpack') repeat wait(50) until UO.InJournal('backpack') end sub Sub ToHide() var CheckTime while NOT UO.Hidden() UO.Print('Hidden...') UO.Exec("warmode 0") wait(1000) UO.UseSkill('Stealth') CheckTime=UO.Timer() REPEAT wait(300) Until UO.Hidden() or CheckTime+60<uo.Timer() or UO.Dead() Wend End sub sub ToRecall() RecallToHome() wait (10000) DropOre() wait (10000) RecallToOre() wait (10000) end sub sub RecallToHome() uo.Print('Прыгаем Домой.') uo.exec("recall Runebook 21") ; домой ( в рунбуке слот 1 ) end sub sub RecallToOre() uo.Print('Прыгаем в Пещеру.') uo.exec("recall Runebook 94") ; домой ( в рунбуке слот 8 ) end sub sub DropOre() VAR Chest='0x400AFA2F' var o,exit dim Ore[14] Ore[0]=[code]0x19B9
Ore[2]=0x19BA
Ore[3]=0x19B8
Ore[4]=0x0F11
Ore[5]=0x0F16
Ore[6]=0x0F18
Ore[7]=0x0F15
Ore[8]=0x0F10
Ore[9]=0x0F0F
Ore[10]=0x0F26
Ore[11]=0x1F4C
Ore[12]=0x0EED
Ore[13]=0x0F20
ToHide()
if uo.Waiting() then
uo.CancelTarget()
end if
uo.SetReceivingContainer('Chest')
wait(500)
for o=0 to 13
exit=0
repeat
uo.FindType(Ore[o])
if uo.GetQuantity('finditem')>0 then
uo.Grab('0','finditem')
wait(1500)
else
exit=1
end if
until exit==1
next
uo.UnSetReceivingContainer('Chest')
uo.useskill ("Spirit Speak")
wait(1000)
end sub[/code]
Code: Select all
sub DropOre()
VAR Chest='0x400AFA2F'
var o,exit
dim Ore[14]
Ore[0]=0x19B9
Ore[1]=0x19B7
Ore[2]=0x19BA
Ore[3]=0x19B8
Ore[4]=0x0F11
Ore[5]=0x0F16
Ore[6]=0x0F18
Ore[7]=0x0F15
Ore[8]=0x0F10
Ore[9]=0x0F0F
Ore[10]=0x0F26
Ore[11]=0x1F4C
Ore[12]=0x0EED
Ore[13]=0x0F20
ToHide()
if uo.Waiting() then
uo.CancelTarget()
end if
uo.SetReceivingContainer('Chest')
wait(500)
for o=0 to 13
exit=0
repeat
uo.FindType(Ore[o])
if uo.GetQuantity('finditem')>0 then
uo.Grab('0','finditem')
wait(1500)
else
exit=1
end if
until exit==1
next
uo.UnSetReceivingContainer('Chest')
uo.useskill ("Spirit Speak") # Я ВОТ ТУТ ПОСТАВИЛ СКИЛ СПИРИТ СПЕК ПОТОМУ ЧТО
ЕСЛИ ПОТАВИТЬ КОГДА ОН БУДЕТ КОПАТЬ ТО ТЫ МНОГО НЕ НАКОПАЕШ
end sub