значит так почему скрипт не игнорировает елема после того как другой чел убил раньше меня и слутал руду то скрипт иногда кастует постоянна вортиксы и надо постоянна выхадить из игры и заходить обратно
Sub checkelem()
var n, i
var flagvortex, Elemental
uo.set('finddistance','3')
uo.findtype('0x0010',-1,'ground')
while uo.findcount()
Elemental=uo.getserial('finditem')
if checkcolor(Elemental)==1 then
invis()
flagvortex=1
castvortex()
uo.textopen()
uo.textprint(uo.getname(Elemental)+' Galambur '+MakeTime())
for n=0 to 10
wait(1000)
checkpk()
if flagpk==1 then
return
endif
next
else
uo.ignore(Elemental)
endif
uo.findtype('0x0010',-1,'ground')
wend
if flagvortex==1 then
repeat
UO.DeleteJournal()
checklag()
while uo.mana<22
wait(500)
wend
uo.waittargetobject('self')
uo.cast('Mass Dispel')
WaitForMana()
wait(1000)
until not uo.injournal('The spell fizzles')
colore()
return 1
endif
endsub
while uo.findcount()
Elemental=uo.getserial('finditem')
if checkcolor(Elemental)==1 then
invis()
flagvortex=1
castvortex()
uo.textopen()
uo.textprint(uo.getname(Elemental)+' Galambur '+MakeTime())
for n=0 to 10
wait(1000)
checkpk()
if flagpk==1 then
return
endif
next
else
uo.ignore(Elemental)
endif
uo.findtype('0x0010',-1,'ground')
wend
if uo.findcount() then
Elemental=uo.getserial('finditem')
repeat
if checkcolor(Elemental)==1 then
invis()
flagvortex=1
castvortex()
uo.textopen()
uo.textprint(uo.getname(Elemental)+' Galambur '+MakeTime())
for n=0 to 10
wait(1000)
checkpk()
if flagpk==1 then
return
endif
next
else
uo.ignore(Elemental)
# return ; возможно потребуется раскоментировать ретурн
endif
until uo.dead() or uo.GetX(Elemental)==0
endif
Фишка в том что мой вариант будет срабатывать на цветного элементаля пока он находится в зоне видимости или пока чар не умрет.
PS ниже скрипт не смотрел - это редактирование относится только к заданному вопросу.
не могу понять почему если я запускаю checkelem() одельна то он не наХодит елема а если запускать скрипт полностю то он находит елема хоть его и нету там
Sub checkelem()
var n, i, a
var flagvortex, Elemental
Dim OreColor[10] ## ìàññèâ öâåòîâ òðåøåâîé ðóäû
OreColor[1] = '0x0750'
OreColor[2] = '0x0590'
OreColor[3] = '0x060A'
OreColor[4] = '0x096B'
OreColor[5] = '0x0088'
OreColor[6] = '0x0488'
OreColor[7] = '0x0193'
OreColor[8] = '0x0032'
OreColor[9] = '0x0014'
OreColor[10] = '0x0482'
for a=1 to 10
uo.set('finddistance','3')
uo.findtype('0x0010',-1,'ground')
if uo.findcount() then
uo.ignore(OreColor[a])
Elemental=uo.getserial('finditem')
repeat
if checkcolor(Elemental)==1 then
invis()
flagvortex=1
castvortex()
uo.textopen()
uo.textprint(uo.getname(Elemental)+' Galambur '+MakeTime())
for n=0 to 10
wait(1000)
checkpk()
if flagpk==1 then
return
endif
next
else
uo.ignore(Elemental)
# return ; âîçìîæíî ïîòðåáóåòñÿ ðàñêîìåíòèðîâàòü ðåòóðí
endif
until uo.dead() or uo.GetX(Elemental)==0
endif
if flagvortex==1 then
repeat
UO.DeleteJournal()
checklag()
while uo.mana<22
wait(500)
wend
uo.waittargetobject('self')
uo.cast('Mass Dispel')
WaitForMana()
wait(1000)
until not uo.injournal('The spell fizzles')
colore()
return 1
endif
endsub
Sub checkelem()
var n, i
var flagvortex, Elemental
uo.ignorereset()
UO.DeleteJournal()
uo.set('finddistance','3')
uo.findtype('0x0010',-1,'ground')
while uo.findcount()
Elemental=uo.getserial('finditem')
if checkcolor(Elemental)==1 then
invis()
flagvortex=1
castvortex()
uo.textopen()
uo.textprint(uo.getname(Elemental)+' Galambur '+MakeTime())
for n=0 to 10
wait(1000)
checkpk()
if flagpk==1 then
return
endif
next
else
uo.ignore('finditem')
endif
uo.findtype('0x0010',-1,'ground')
wend
if flagvortex==1 then
repeat
UO.DeleteJournal()
checklag()
while uo.mana<22
wait(500)
wend
uo.waittargetobject('self')
uo.cast('Mass Dispel')
WaitForMana()
wait(1000)
until not uo.injournal('The spell fizzles')
colore()
return 1
endif
endsub
if flagvortex==1 then
repeat
UO.DeleteJournal()
checklag()
while uo.mana<22
wait(500)
wend
uo.waittargetobject('self')
uo.cast('Mass Dispel')
WaitForMana()
wait(1000)
until not uo.injournal('The spell fizzles')
цикл работает до филза а не до удачного каста + отсутствия элема?
Sub Mark(RuneID,Place)
repeat
if uo.mana<33 then
meditation()
endif
checklag()
Uo.Cast('Mark',RuneID)
WaitForMana()
until not uo.injournal('The spell fizzles')
if Place==0 then
Nrune=uo.getserial(RuneID)
else
Runehome=uo.getserial(RuneID)
endif
endsub