UO.Set('quiet','1')
uo.exec('set finddistance 25')
Ignores()
DIM Chars[2]
Chars[0] = '0x0190' ## - Òèï male.
Chars[1] = '0x0191' ## - Òèï female.
uo.findtype(Chars[0], '-1', '1')
maleplayernum = uo.findcount()
uo.findtype(Chars[1], '-1', '1')
femaleplayernum = uo.findcount()
allplayernum = maleplayernum + femaleplayernum
for a = 0 to 1 ## - Ïåðåáèðàåì òèïû male/female.
uo.findtype(Chars[a], '-1', '1')
if allplayernum == 1 then
if UO.GetMaxHP('finditem') < 200 then ; ïðîâåðêà íà õï, ÷òîáû îòñåèâàëî âåíäîðîâ.
UO.AddObject('lasttarget','finditem')
endif
else
if uo.findcount() > 0 then
temp = uo.findcount()
for i=0 to uo.findcount()
uo.findtype(Chars[a], '-1', '1')
UO.GetStatus('finditem')
if UO.GetMaxHP('finditem') < 200 then
lastplayernum = lastplayernum + 1
if lastplayernum < 5 then
UO.AddObject('AddTarget'+str(lastplayernum), 'finditem')
else
i = temp
endif
if lastplayernum == 1 then
UO.AddObject('Enemy','finditem')
endif
UO.Ignore('finditem', 'on')
endif
next
endif
endif
next
UO.Set('quiet','0')
UO.Print("lasttarget: "+UO.GetName('MainTarget'))
UO.Click('lasttarget')
UO.IgnoreReset()
end sub
скрипт работает исправно, правда есть одно маленькое НО, он записывает найденных в enemy . как сделать чтобы сразу записывал в ласттаргет ? а то все скрипты переделывать на касты приходится.
UO.Set('quiet','1')
uo.exec('set finddistance 25')
Ignores()
DIM Chars[2]
Chars[0] = '0x0190' ## - Òèï male.
Chars[1] = '0x0191' ## - Òèï female.
uo.findtype(Chars[0], '-1', '1')
maleplayernum = uo.findcount()
uo.findtype(Chars[1], '-1', '1')
femaleplayernum = uo.findcount()
allplayernum = maleplayernum + femaleplayernum
for a = 0 to 1 ## - Ïåðåáèðàåì òèïû male/female.
uo.findtype(Chars[a], '-1', '1')
if allplayernum == 1 then
if UO.GetMaxHP('finditem') < 200 then ; ïðîâåðêà íà õï, ÷òîáû îòñåèâàëî âåíäîðîâ.
UO.AddObject('lasttarget','finditem')
endif
else
if uo.findcount() > 0 then
temp = uo.findcount()
for i=0 to uo.findcount()
uo.findtype(Chars[a], '-1', '1')
UO.GetStatus('finditem')
if UO.GetMaxHP('finditem') < 200 then
lastplayernum = lastplayernum + 1
if lastplayernum < 5 then
UO.AddObject('AddTarget'+str(lastplayernum), 'finditem')
else
i = temp
endif
if lastplayernum == 1 then
UO.AddObject('Enemy','finditem')
endif
UO.Ignore('finditem', 'on')
endif
next
endif
endif
next
UO.Set('quiet','0')
UO.Print("lasttarget: "+UO.GetName('MainTarget'))
UO.Click('lasttarget')
UO.IgnoreReset()
end sub
скрипт работает исправно, правда есть одно маленькое НО, он записывает найденных в enemy . как сделать чтобы сразу записывал в ласттаргет ? а то все скрипты переделывать на касты приходится.
Если я не ошибаюсь ласт таргет может быть только один. И чтоб переключиться быстро на другого игрока в настройках самой ультимы можно забиндить кнопку)
Где-то у меня валяйся скрипт на добавление враго и друзей, если нужно могу поискать и скинуть
#####################################################################
#Константы
#####################################################################
#ID противника
var Enemy='Enemy'
#ID союзника
var Alias='Alias'
#####################################################################
#Добавление глобальных объектов
#####################################################################
#Добавление союзника
sub addAlias()
uo.print('Select Alias:')
uo.exec('addobject Alias')
while uo.targeting()
wait(100)
wend
end sub
#####################################################################
#Добавление противника
sub addEnemy()
uo.print('Select Enemy:')
uo.exec('addobject Enemy')
while uo.targeting()
wait(100)
wend
end sub
#####################################################################
#Каст Стрелки на друга
sub aliasARBook()
castBook('Magic Arrow',4,Alias)
end sub
#####################################################################
#Каст Стрелки в противника
sub enemyARBook()
castBook('Magic Arrow',4,Enemy)
end sub
#####################################################################
var x
uo.set('lasttarget','laststatus')
x=uo.getserial('lasttarget')
Sub Arrow()
If UO.Mana>=4 AND UO.BP>0 AND UO.NS>0 Then
UO.Cast('Magic Arrow',x)
Else
UO.Print("No mana")
Endif
Endsub