Mirage wrote:
У тебя нет проверки на ник игрока в твоем примере.
if uo.getnotoriety(player) == 6 then ; <----- определяет "цвет" ника игрока
Нужно вот так делать -- тогда не слетит.
Если я правильно тебя понял то вот так ?
Code:
sub ScanPlayers()
var i,player,caster
var Message1,Message2
Message1="is attacking you"
Message2="Wis Quas|In Ex Grav|An Ex Por|In Sanct Ylem|Vas An Ort"
UO.Ignore('self')
UO.Set('finddistance','28')
caster=''
dim Char[2]
Char[1]='0x0190' ; Male
Char[2]='0x0191' ; Female
while not UO.Dead()
for i=1 to 2
UO.FindType(Char[i],'-1','1')
if UO.FindCount()>0 then
player=UO.GetSerial('finditem')
if UO.InJournal(Message1) then ; Атака
UO.Print('Бьют!')
end if
if UO.InJournal(Message2) then ; Каст
caster=UO.JournalSerial(UO.InJournal(Message2)-1)
UO.Cast('Magic Arrow',caster)
end if
if UO.GetNotoriety(player)==6 then ; Красный
UO.Print('Красный!')
return
else
wait(100)
end if
if UO.GetNotoriety(player)==4 then ; Серый
UO.Print('Серый!')
return
else
wait(100)
end if
if UO.GetNotoriety(player)==1 then ; Синий
UO.Print('Синий!')
return
else
wait(100)
end if
end if
next
wend
end sub