runetime error
Posted: 2007-05-21 14:03:25
всем привет! подскажите плз кто знает с чем связана ета ошибка..
скрипт на мининг..
скрипт на мининг..
Code: Select all
sub Save() ; рекол от пк
var mx, my, d=0
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
end if
mx = UO.GetX("self")
my = UO.GetY("self")
UO.DeleteJournal()
uo.cast('Recall','runeHome')
checklag()
uo.usetype('0x0F09','0x0060') #inviz
repeat
d=d+1
wait(100)
if uo.injournal('spell|не удалось') then
goto reccal
end if
until d==150 or uo.dead() or uo.getdistance(idsunduka)<=5
end sub
Code: Select all
sub Save() ; рекол от пк
var mx, my
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
end if
mx = UO.GetX("self")
my = UO.GetY("self")
UO.DeleteJournal()
uo.cast('Recall','runeHome')
wait(200)
uo.print(' rekal от ПК ')
checklag()
uo.usetype('0x0F09','0x0060') #inviz
wait(100)
if uo.injournal('spell|не удалось') then
goto reccal
end if
end sub
end sub
$keR wrote:в чем может быть ошибка?
Code: Select all
sub Save() ; рекол от пк
var mx, my #### ну если внизу 2 строки не надо, то и эту тоже
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
end if
mx = UO.GetX("self") ####реально не понял нафига
my = UO.GetY("self") ####эти две строчки ?
UO.DeleteJournal()
uo.cast('Recall','runeHome')
wait(200)
uo.print(' rekal от ПК ')
checklag() #### если собьют каст до чеклага, скрипт в цикл не попадёт
uo.usetype('0x0F09','0x0060') #inviz
wait(100)
if uo.injournal('spell|не удалось') then ### да и вообще скрипт в этот цикл не попадёт, т.к. слишком маленькая задержка (0.3с) и
####тебе не успеют сбить каст скрипт кончится, а потом каст собьют и ппц.
goto reccal ### goto не принято использовать, можно обойтись без него
end if
end sub
end sub#### зачем 2 раза эндсаб ?
Code: Select all
sub Save() ; рекол от пк
var mx, my
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
end if
mx = UO.GetX("self")
my = UO.GetY("self")
UO.DeleteJournal()
uo.cast('Recall','runeHome')
wait(200)
uo.print(' rekal от ПК ')
checklag()
uo.usetype('0x0F09','0x0060') #inviz
wait(100)
if uo.injournal('spell|не удалось') then
goto reccal
end if
end sub
Code: Select all
sub Save() ; рекол от пк
var mx
var my
reccal:
mx=uo.getx('self')
my=uo.gety('self')
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
end if
UO.DeleteJournal()
uo.cast('Recall','runeHome')
wait(200)
uo.print(' rekal от ПК ')
checklag()
uo.usetype('0x0F09','0x0060') #inviz
wait(100)
repeat
if uo.injournal('spell|не удалось') then
save()
return
end if
wait(50)
until uo.dead() or mx<>uo.getx('self') or my<>uo.getx('self')
end sub
Code: Select all
var mx
Rivory wrote:ммм про мовофф и мовон знаю. Координаты приплёл просто так, т.к. они были в исходнике скрипта => решил сделать проверку по координатам и в свой скрипт. А насчёт журнала - как проверить удачный рекол ?
Code: Select all
uo.cast('Recall','runeHome')
wait(200)
uo.usetype('0x0F09','0x0060') #inviz
wait(500) ### ;чтобы ждал не 500 ,а каждые 500 проверял журнал на физл..
if uo.injournal('spell|не удалось') then ## если сфизлил то..
uo.cast('Recall','runeHome') # опять пробует реколиться..
end if
wait(700)
if uo.injournal('spell|не удалось') then ## если сфизлил то..
uo.cast('Recall','runeHome') # опять пробует реколиться..
end if
Code: Select all
; runebook - ID рунбуки или false, для рекола по руне.
; rune - порядковый номер руны в рунбуке или ID руны, если runebook == false.
sub recall( runebook, rune )
var mana, msg = "spell fizzles" ; сабж о неудачном касте
repeat
mana = uo.mana
deljournal( msg )
if runebook then
uo.recall( runebook, rune )
else
uo.cast( "Recall", rune )
endif
while uo.mana == mana
wait( 100 )
wend
until not uo.injournal( msg )
endsub