Использование вандов из пака
Posted: 2014-08-09 16:33:45
Это старый скрипт. Новый в след сообщении.
=============
Использование wWand(1) - ищет в паке и подсумках UsefulWand [1]="a Magic wand of Paralyze" и берет его (UO.useobject() )
=============
Использование wWand(1) - ищет в паке и подсумках UsefulWand [1]="a Magic wand of Paralyze" и берет его (UO.useobject() )
Code: Select all
; примеры вызовов
############
sub wDeamon()
wWand(24)
end sub
############
sub wVortex()
wWand(26)
end sub
############
sub wBlade()
wWand(25)
end sub
############
sub wElem()
; UsefulWand[20] = 'a Magic wand of Water Elemental';
; UsefulWand[21] = 'a Magic wand of Earth Elemental';
; UsefulWand[22] = 'a Magic wand of Fire Elemental';
; UsefulWand[23] = 'a Magic wand of Air Elemental';
var i
for i=20 to 23
if wWand(i)==1 then
return
end if
next
end sub
##################### использование wand #############################
sub wWand(wnum)
; Использование wWand(1) - ищет в паке и подсумках UsefulWand [1]="a Magic wand of Paralyze" и берет его (UO.useobject() )
DIM WandType[4]
WandType[0] = '0x0DF2' ;
WandType[1] = '0x0DF3' ;
WandType[2] = '0x0DF4' ;
WandType[3] = '0x0DF5' ;
#------------- примеры имен вандов ----------------
;a Magic wand of Cure (8 charges)
;a Magic wand of Mana Drain (10 charges)
;a Magic wand of Reactive Armor (10 charges)
;a Magic wand of Flame Strike (8 charges)
;нужно сравнивать по имени и учитывать бы число зарядов. разряженные ванды не брать
var wCount=26
dim UsefulWand [26] ;
UsefulWand [1]='a Magic wand of Paralyze' ;
UsefulWand [2]='a Magic wand of Paralyze Field' ;
UsefulWand [3]='a Magic wand of Greater Heal' ; 4: Greater Heal !!!!!!!!!!!!!!! 11 -10
UsefulWand [4]='a Magic wand of Cure' ; 2: Cure !!!!!!!!!!!!!!! 3 -5
UsefulWand [5]='a Magic wand of Invisibility' ; 6: Invisibility !!!!!!!!!!!!!!! 19 -10
UsefulWand [6]='a Magic wand of Reveal' ;!!!!
UsefulWand [7]='a Magic wand of Recall' ;
UsefulWand [8]='a Magic wand of Magic Reflection' ; 5: Magic Reflection !!!!!!!!!!!!!!! 16 -10
UsefulWand [8]='a Magic wand of Wall of Stone' ;
UsefulWand [9]='a Magic wand of Fire Field' ;
UsefulWand [10]='a Magic wand of Magic Arrow' ; 1: Magic Arrow !!!!!!!!!!!!!!! 1 -10 ;
UsefulWand [11]='a Magic wand of Reactive Armor' ; 1: Reactive Armor !!!!!!!!!!!!!!! 2 -10
UsefulWand [12]='a Magic wand of Mana Drain' ;
UsefulWand [13]='a Magic wand of Protection' ; 2: Protection !!!!!!!!!!!!!!! 4 -5
UsefulWand [14]='a Magic wand of Fireball' ; 3: Fireball !!!!!!!!!!!!!!! 5 -5
UsefulWand [15]='a Magic wand of Poison' ; 3:
UsefulWand [16]='a Magic wand of Telekinesis' ;
UsefulWand [17]='a Magic wand of Teleport' ; 3:
UsefulWand [18]='a Magic wand of Dispel Field' ; 5: Dispel Field !!!!!!!!!!!!!!! 15 -5
UsefulWand [19]='a Magic wand of Poison Field' ; 5: Poison Field !!!!!!!!!!!!!!! 18 -10
; ванды элемов
UsefulWand[20] = 'a Magic wand of Water Elemental';
UsefulWand[21] = 'a Magic wand of Earth Elemental';
UsefulWand[22] = 'a Magic wand of Fire Elemental';
UsefulWand[23] = 'a Magic wand of Air Elemental';
UsefulWand[24] = 'a Magic wand of Daemon'; 'Magic wand of Daemon'
UsefulWand[25]='a Magic wand of Blade Spirit' ;
UsefulWand[26] = 'a Magic wand of Energy Vortex';
; ищем заданный wand в паке и подсумках
var WNameRQ,WNameCurr, ti, TTov, si, zz,flFound
;PrintInColor(str(wnum),'2999')
;PrintInColor(UsefulWand[wnum],'2999')
; ищем ванды
for ti=0 to 3 ; перебираем по типам вандов
Ttov=WandType[ti]
UO.FindType(Ttov,'-1', 2) ; находим wand в паке и подсумках
wait (10)
If UO.FindCount() > 0 then
repeat ; <<<<<<<<<<<<<<< цикл поиска вандов в паке и подсумках
uo.click ('finditem')
wait (10)
WNameCurr =UO.GetName( 'finditem' ) ; имя найденного ванда
;PrintInColor(WNameCurr,clr)
WNameRQ=UsefulWand[wnum]
WNameRQ=left(WNameRQ, InStr(WNameRQ, '(')) ; a Magic wand of Mana Drain (10 charges)
;PrintInColor(WNameRQ,'2998')
zz=instr(WNameCurr,WNameRQ) ; имя из массива совпадает с именем найденного ванда?
;PrintInColor(str(zz),clo)
flFound=0
if zz>-1 then ;если да, то берем его в руки
flFound=1
ti=3 ; для выхода из цикла
uo.useobject("finditem")
PrintInColor(WNameCurr,"2524")
else
uo.Ignore("finditem") ; ??????????????
end if
UO.FindType(Ttov,'-1',2)
wait (10)
until not UO.FindCount() or flFound==1 ; ; <<<<<<<<<<<<<<<
end if
;CheckLag()
next ; переходим к следующему типу Wandа
uo.IgnoreReset()
wait (100)
UO.Print('Finished...')
return flFound
end sub