Я ПК, как мне быть с минингом?
Posted: 2006-03-05 19:00:02
Всем приветище!! Я гамаю на дрв и уже успел стать ПК. Ну вобщем такая проблема: Скрипт на мининг у меня от Ветерана. Судь проста, я реколюсь по рунбуке на шахту, прячусь в хайд и начинаю копать, если вдруг какоето приближение ПК, то чар моментом реколится по рунке в безопасное место, выкладывает руду и через некоторое время возвращается обратно на шахту по тойже рунбуке.
Ну и наконец то сама судь моей проблемы: Очень часто чар реколится не из за приблежения ПК, а просто из за того что начинает выкапывать что то ценное и над головой появляется надпись 'You loosen some rocks but fail to find any useable ore' Ну вот в принципи и вся проблема из-за которой этот скрипт для меня стал сплошным мучением. Я надеюсь что кто-нибудь мне подскажет что исправить для тогго что бы чар не обращал внимание на эту надпись
############################################
### Øàðä Dragon World / www.drw.ru
############################################
### Àâòîð ñêðèïòà: BETEP[WOD] or BETEPAH ###
############################################
### ÑÊÐÈÏÒ ÄËß ÊÎÏÊÈ Â ÍÅÑÊÎËÜÊÈÕ ÏÅÙÅÐÀÕ.
sub Maning()
#BETEP#
var mx, my, mz, i, j, jor, ser, noto
dim runes[2]
runes[0]=88
runes[1]=94
runes[2]=1025
var cavenumber=0
var maxcaves=3
Uo.exec("set norbcheck 1"); äëÿ ðåêîëà
uo.exec("set norbcalc 1"); òîæå
uo.print('!!Âûáåðè Ëîïàòó!! ')
uo.exec('addobject Shovel')
while uo.targeting()
wait(100)
wend
uo.print('!!Âûáåðè Ðóíáóê!! ')
uo.exec('addobject Runebook')
while uo.targeting()
wait(100)
wend
uo.print('!!Ðóíà-Ñïàñàòåëü!! ')
uo.exec('addobject runeHome')
while uo.targeting()
wait(100)
wend
na4alo:
UO.DeleteJournal()
UO.UseSkill("Detect Hidden")
UO.Print("!!ÏÎÈÑÊ!!")
wait(3200)
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-4 to mx+4
for j = my -4 to my+4
while not UO.Hidden()
UO.Warmode("0")
uo.print("Ïðÿ÷åìñÿ...")
UO.UseSkill("Hiding")
wait(4000)
wend
UO.Print("Êîïàåì â êîîðäèíàòàõ: "+str(mx-i)+" "+str(my-j))
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("Iron Ore") and not UO.InJournal("Copper") and not UO.InJournal("Rusty Ore")
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Useobject("Shovel")
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock")
wait (500)
for jor = 0 to 9
ser = uo.journalserial(jor)
noto = uo.getnotoriety(ser)
if noto <> 5 and noto <> 0 and not uo.injournal("elemental") then
cavenumber=cavenumber+1
if cavenumber==maxcaves then
cavenumber=0
endif
Save()
loot()
wait(3000)
goto reccal
endif
next
wend
if uo.weight > 625 then ; Ìàêñèìàëüíûé âåñ ïðè êîòîðîì äîìîé ñ ðóäîé
goto end
endif
wend
UO.DeleteJournal()
next
next
goto na4alo
end:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 21") ; äîìîé ( â ðóíáóêå ñëîò 1 )
wait(10000)
loot()
wait(3000)
Reagents()
wait(3000)
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook " + Str(runes[cavenumber]))
mx = UO.GetX("self")
my = UO.GetY("self")
wait(10000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
goto na4alo
#BETEP#
end sub
sub loot() ; ïåðåêëàäêà ðóäû â ñóíäóê
if uo.waiting() then
uo.canceltarget()
endif
VAR a,Exit
VAR UnloadCont='0x40354CB7';--------àéäè ñóíäóêà êóäà êèäàòü ðóäó
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(UnloadCont)
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
endif
until Exit==1
Next
UO.UnSetReceivingContainer()
end sub
sub Save() ; Ðåêîëë îò ÏÊ ïðè èõ ïîÿâëåíèè
var mx, my
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
mx = UO.GetX("self")
my = UO.GetY("self")
UO.DeleteJournal()
uo.waittargetobject('runeHome') ; äîìîé
wait(500)
uo.cast('Recall')
wait(4500)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
wait(2000)
if uo.injournal("fade")then
uo.waittargetobject('runeHome') ; äîìîé
wait(500)
uo.cast('Mark')
wait(4500)
uo.deletejournal()
endif
end sub
sub time()
var hh,mm,ss,hms,t=str(UO.Time())
if len(t)<=2 then
hh="0"
mm="0"
ss=t
endif
if len(t)==3 then
hh="0"
mm=left(t,len(t)-2)
ss=right(t,len(t)-1)
endif
if len(t)==4 then
hh="0"
mm=left(t,len(t)-2)
ss=right(t,len(t)-2)
endif
if len(t)==5 then
hh=left(t,len(t)-4)
hms=left(t,len(t)-2)
mm=right(hms,len(hms)-1)
ss=right(t,len(t)-3)
endif
if len(t)==6 then
hh=left(t,len(t)-4)
hms=left(t,len(t)-2)
mm=right(hms,len(hms)-2)
ss=right(t,len(t)-4)
endif
return hh+":"+mm+":"+ss
end sub
sub Hide()
repeat
while not UO.Hidden()
wait(100)
UO.Warmode("1")
uo.print("Ïðÿ÷åìñÿ...")
UO.UseSkill("Stealth")
wait(4100)
wend
wait(100)
until false
end sub
sub Reagents()
VAR StoreRegCont=0x4021C9DC;-------àéäè êîíòåéíåðà â ñóíäóêå ñ ðóäîé ãäå ëåæàò ðåãè è áëàíêè
VAR CharRegBag='backpack'
VAR CountReg=10
VAR WaitTime=600
VAR MainSafe=0x40354CB7;---------àéäè êîíòåéíåðà ãäå ðóäà
UO.UseObject(MainSafe)
UO.UseObject(StoreRegCont)
UO.SetReceivingContainer('backpack')
wait(WaitTime)
if UO.BM<CountReg then
UO.FindType('0x0F7B','-1',StoreRegCont) ; BM
UO.Grab(STR((CountReg-UO.BM)),'finditem')
wait(WaitTime)
endif
if UO.BP<CountReg then
UO.FindType('0x0F7A','-1',StoreRegCont) ; BP
UO.Grab(STR(CountReg-UO.BP),'finditem')
wait(WaitTime)
endif
if UO.GA<CountReg then
UO.FindType('0x0F84','-1',StoreRegCont) ; GA
UO.Grab(STR(CountReg-UO.GA),'finditem')
wait(WaitTime)
endif
if UO.GS<CountReg then
UO.FindType('0x0F85','-1',StoreRegCont) ; GS
UO.Grab(STR(CountReg-UO.GS),'finditem')
wait(WaitTime)
endif
if UO.MR<CountReg then
UO.FindType('0x0F86','-1',StoreRegCont) ; MR
UO.Grab(STR(CountReg-UO.MR),'finditem')
wait(WaitTime)
endif
if UO.NS<CountReg then
UO.FindType('0x0F88','-1',StoreRegCont) ; NS
UO.Grab(STR(CountReg-UO.NS),'finditem')
wait(WaitTime)
endif
if UO.SA<CountReg then
UO.FindType('0x0F8C','-1',StoreRegCont) ; SA
UO.Grab(STR(CountReg-UO.SA),'finditem')
wait(WaitTime)
endif
if UO.SS<CountReg then
UO.FindType('0x0F8D','-1',StoreRegCont) ; SS
UO.Grab(STR(CountReg-UO.SS),'finditem')
wait(WaitTime)
endif
UO.FindType('0x1F4C','-1',StoreRegCont) ;
UO.Grab('2','finditem')
wait(WaitTime)
uo.exec("recall Runebook 1")
UO.UnsetReceivingContainer()
end:
end sub [/list][/list][code][/code]
Ну и наконец то сама судь моей проблемы: Очень часто чар реколится не из за приблежения ПК, а просто из за того что начинает выкапывать что то ценное и над головой появляется надпись 'You loosen some rocks but fail to find any useable ore' Ну вот в принципи и вся проблема из-за которой этот скрипт для меня стал сплошным мучением. Я надеюсь что кто-нибудь мне подскажет что исправить для тогго что бы чар не обращал внимание на эту надпись
############################################
### Øàðä Dragon World / www.drw.ru
############################################
### Àâòîð ñêðèïòà: BETEP[WOD] or BETEPAH ###
############################################
### ÑÊÐÈÏÒ ÄËß ÊÎÏÊÈ Â ÍÅÑÊÎËÜÊÈÕ ÏÅÙÅÐÀÕ.
sub Maning()
#BETEP#
var mx, my, mz, i, j, jor, ser, noto
dim runes[2]
runes[0]=88
runes[1]=94
runes[2]=1025
var cavenumber=0
var maxcaves=3
Uo.exec("set norbcheck 1"); äëÿ ðåêîëà
uo.exec("set norbcalc 1"); òîæå
uo.print('!!Âûáåðè Ëîïàòó!! ')
uo.exec('addobject Shovel')
while uo.targeting()
wait(100)
wend
uo.print('!!Âûáåðè Ðóíáóê!! ')
uo.exec('addobject Runebook')
while uo.targeting()
wait(100)
wend
uo.print('!!Ðóíà-Ñïàñàòåëü!! ')
uo.exec('addobject runeHome')
while uo.targeting()
wait(100)
wend
na4alo:
UO.DeleteJournal()
UO.UseSkill("Detect Hidden")
UO.Print("!!ÏÎÈÑÊ!!")
wait(3200)
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-4 to mx+4
for j = my -4 to my+4
while not UO.Hidden()
UO.Warmode("0")
uo.print("Ïðÿ÷åìñÿ...")
UO.UseSkill("Hiding")
wait(4000)
wend
UO.Print("Êîïàåì â êîîðäèíàòàõ: "+str(mx-i)+" "+str(my-j))
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("Iron Ore") and not UO.InJournal("Copper") and not UO.InJournal("Rusty Ore")
UO.DeleteJournal()
if uo.waiting() then
uo.canceltarget()
endif
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Useobject("Shovel")
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock")
wait (500)
for jor = 0 to 9
ser = uo.journalserial(jor)
noto = uo.getnotoriety(ser)
if noto <> 5 and noto <> 0 and not uo.injournal("elemental") then
cavenumber=cavenumber+1
if cavenumber==maxcaves then
cavenumber=0
endif
Save()
loot()
wait(3000)
goto reccal
endif
next
wend
if uo.weight > 625 then ; Ìàêñèìàëüíûé âåñ ïðè êîòîðîì äîìîé ñ ðóäîé
goto end
endif
wend
UO.DeleteJournal()
next
next
goto na4alo
end:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 21") ; äîìîé ( â ðóíáóêå ñëîò 1 )
wait(10000)
loot()
wait(3000)
Reagents()
wait(3000)
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook " + Str(runes[cavenumber]))
mx = UO.GetX("self")
my = UO.GetY("self")
wait(10000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
goto na4alo
#BETEP#
end sub
sub loot() ; ïåðåêëàäêà ðóäû â ñóíäóê
if uo.waiting() then
uo.canceltarget()
endif
VAR a,Exit
VAR UnloadCont='0x40354CB7';--------àéäè ñóíäóêà êóäà êèäàòü ðóäó
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(UnloadCont)
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
endif
until Exit==1
Next
UO.UnSetReceivingContainer()
end sub
sub Save() ; Ðåêîëë îò ÏÊ ïðè èõ ïîÿâëåíèè
var mx, my
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
mx = UO.GetX("self")
my = UO.GetY("self")
UO.DeleteJournal()
uo.waittargetobject('runeHome') ; äîìîé
wait(500)
uo.cast('Recall')
wait(4500)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
wait(2000)
if uo.injournal("fade")then
uo.waittargetobject('runeHome') ; äîìîé
wait(500)
uo.cast('Mark')
wait(4500)
uo.deletejournal()
endif
end sub
sub time()
var hh,mm,ss,hms,t=str(UO.Time())
if len(t)<=2 then
hh="0"
mm="0"
ss=t
endif
if len(t)==3 then
hh="0"
mm=left(t,len(t)-2)
ss=right(t,len(t)-1)
endif
if len(t)==4 then
hh="0"
mm=left(t,len(t)-2)
ss=right(t,len(t)-2)
endif
if len(t)==5 then
hh=left(t,len(t)-4)
hms=left(t,len(t)-2)
mm=right(hms,len(hms)-1)
ss=right(t,len(t)-3)
endif
if len(t)==6 then
hh=left(t,len(t)-4)
hms=left(t,len(t)-2)
mm=right(hms,len(hms)-2)
ss=right(t,len(t)-4)
endif
return hh+":"+mm+":"+ss
end sub
sub Hide()
repeat
while not UO.Hidden()
wait(100)
UO.Warmode("1")
uo.print("Ïðÿ÷åìñÿ...")
UO.UseSkill("Stealth")
wait(4100)
wend
wait(100)
until false
end sub
sub Reagents()
VAR StoreRegCont=0x4021C9DC;-------àéäè êîíòåéíåðà â ñóíäóêå ñ ðóäîé ãäå ëåæàò ðåãè è áëàíêè
VAR CharRegBag='backpack'
VAR CountReg=10
VAR WaitTime=600
VAR MainSafe=0x40354CB7;---------àéäè êîíòåéíåðà ãäå ðóäà
UO.UseObject(MainSafe)
UO.UseObject(StoreRegCont)
UO.SetReceivingContainer('backpack')
wait(WaitTime)
if UO.BM<CountReg then
UO.FindType('0x0F7B','-1',StoreRegCont) ; BM
UO.Grab(STR((CountReg-UO.BM)),'finditem')
wait(WaitTime)
endif
if UO.BP<CountReg then
UO.FindType('0x0F7A','-1',StoreRegCont) ; BP
UO.Grab(STR(CountReg-UO.BP),'finditem')
wait(WaitTime)
endif
if UO.GA<CountReg then
UO.FindType('0x0F84','-1',StoreRegCont) ; GA
UO.Grab(STR(CountReg-UO.GA),'finditem')
wait(WaitTime)
endif
if UO.GS<CountReg then
UO.FindType('0x0F85','-1',StoreRegCont) ; GS
UO.Grab(STR(CountReg-UO.GS),'finditem')
wait(WaitTime)
endif
if UO.MR<CountReg then
UO.FindType('0x0F86','-1',StoreRegCont) ; MR
UO.Grab(STR(CountReg-UO.MR),'finditem')
wait(WaitTime)
endif
if UO.NS<CountReg then
UO.FindType('0x0F88','-1',StoreRegCont) ; NS
UO.Grab(STR(CountReg-UO.NS),'finditem')
wait(WaitTime)
endif
if UO.SA<CountReg then
UO.FindType('0x0F8C','-1',StoreRegCont) ; SA
UO.Grab(STR(CountReg-UO.SA),'finditem')
wait(WaitTime)
endif
if UO.SS<CountReg then
UO.FindType('0x0F8D','-1',StoreRegCont) ; SS
UO.Grab(STR(CountReg-UO.SS),'finditem')
wait(WaitTime)
endif
UO.FindType('0x1F4C','-1',StoreRegCont) ;
UO.Grab('2','finditem')
wait(WaitTime)
uo.exec("recall Runebook 1")
UO.UnsetReceivingContainer()
end:
end sub [/list][/list][code][/code]