rvk wrote:
Спасибо, а как добавить типы ванд?
То есть, как я понимаю из этой строчки
Code:
UO.findtype('0x0DF3')скрипт будет искать нужное имя лишь у одного типа ванд. Как правильно оформить в скрипте перечисление всех типов ванд?
через запятую?
Code:
UO.findtype('0x0DF3' , '0x0DF4' , '0x0DF5')
Через запятую нет
sub Paralyze()
var i=1,wandT=0
var NN='Wand chego nado'
UO.DeleteJournal()
UO.Set('lasttarget','laststatus')
begin:
if uo.Waiting() then
uo.canceltarget()
endif
wandT=wandsearch(NN)
if wandT<>0 then
i=1
if uo.ObjAtLayer('Rhand')=="" and uo.ObjAtLayer('Lhand')<>"" then
uo.addobject('weapon',uo.ObjAtLayer('Lhand'))
else
if uo.ObjAtLayer('Rhand')<>"" then
uo.addobject('weapon',uo.ObjAtLayer('Rhand'))
else
i=0
endif
endif
UO.WaitTargetObject('lasttarget')
UO.UseObject(WendT)
wait(500)
if UO.InJournal("It seems to be out of charges") then
UO.Deletejournal()
UO.Ignore(WendT)
if i<>0 then
uo.waittargetself()
UO.UseObject('weapon')
wait(500)
endif
goto begin
endif
if i<>0 then
uo.waittargetself()
UO.UseObject('weapon')
endif
else
UO.FindType('0x1F52',-1,'my')
If UO.GetQuantity('finditem')>0 then
if UO.Mana>=14 then
UO.WaitTargetObject('lasttarget')
UO.UseObject('finditem')
UO.Print("Scroll")
else
UO.Print("Low mana!!! Scroll!")
endif
else
if UO.Mana>=28 then
UO.Cast('Paralyze','laststatus')
UO.Print("Spell")
else
UO.Print("Low mana!!! Spell!")
endif
endif
endif
end sub
sub wandsearch(NugnoeName)
var WC = ;сколько всего типов
DIM WandT[WC]
WandT[0] ='0x0DF3'
wandT[1] = следующий и тд
var x
For x=0 to WC-1
UO.findtype()
While UO.FindCount() <>0
if NugnoeName==UO.GetName('finditem') then
return 'finditem'
else
UO.Ignore('finditem')
UO.FindType(WandT[x])
endif
wend
next
uo.print(NugnoeName + ' Ne naideno')
return 0
Endsub
По идее должно работать)))
немного подправил