sub main()
while not UO.Dead()
if UO.InJournal("ssss") then
uo.Print(UO.JournalColor(UO.InJournal('ssss')-1))
uo.DeleteJournal()
wait(500)
end if
wait(1000)
wend
end sub
(проверка на цвет)
ты больше 1 сообщения за раз не проверишь все равно. 1 сообщение 1 строка. Надо делать чтото типо поиска -1 сообщеия. Тоесть отталкиваться не от фразы а от самого сообщения. Если так можно естественно.
PS как я уже писал ГМы захотят попалить - попалят. Но сам скрипт интересен
Mirage wrote:ты больше 1 сообщения за раз не проверишь все равно. 1 сообщение 1 строка. Надо делать чтото типо поиска -1 сообщеия. Тоесть отталкиваться не от фразы а от самого сообщения. Если так можно естественно.
PS как я уже писал ГМы захотят попалить - попалят. Но сам скрипт интересен
Tyoma wrote:около 10-ка =) спс попробую.. но хотелось бы ещё попробывать с тем что надумали =) цвета журнала
системное сообщение всегда имеет сериал 0х00000000
проверка на системное сообщение или это сериал чара
вот и все
можно сделать проверку цвета ВМЕСТЕ с проверкой копает не копает. Но как сделать проверку КАЖДОГО сообщения на цвет. Например ГМ прилетел и спросил "Ты тут?" Как сделать чтобы скрипт аналогично проверки на ПК и элемов проверял журнал?
Tyoma wrote:около 10-ка =) спс попробую.. но хотелось бы ещё попробывать с тем что надумали =) цвета журнала
системное сообщение всегда имеет сериал 0х00000000
проверка на системное сообщение или это сериал чара
вот и все
можно сделать проверку цвета ВМЕСТЕ с проверкой копает не копает. Но как сделать проверку КАЖДОГО сообщения на цвет. Например ГМ прилетел и спросил "Ты тут?" Как сделать чтобы скрипт аналогично проверки на ПК и элемов проверял журнал?
На цвет некто нечего не проверяет. Есть TWI и есть uo.getnotoriety().
Я точно сказать не могу, но думаю что так -
sub checkpk()
var n
var ser
var noto
var me=uo.getserial('self')
for n=0 to 10
ser=uo.journalserial(n)
if ser<>'0x00000000' and ser<>me then
# тут алерт ввиде uo.playwav()
noto=uo.getnotoriety(ser)
if noto<>0 and noto<>1 or uo.injournal('is attacking you') then
# улетаем от пк
endif
endif
next
endsub
Тут как бы проверка не на ПК На них то просто. Тут хочется попробовать сделать проверку от Гмов которые могут запалить бота.
Варианты конечно есть - сделать список возможных слов (длиннючий) и проверять их.
Либо проверять все сообщения и реагировать на сообщения цвета ГМа. Вот про второй было бы интересно. Хотя думаю так не прокатит
Mirage wrote:Тут как бы проверка не на ПК На них то просто. Тут хочется попробовать сделать проверку от Гмов которые могут запалить бота.
Варианты конечно есть - сделать список возможных слов (длиннючий) и проверять их.
Либо проверять все сообщения и реагировать на сообщения цвета ГМа. Вот про второй было бы интересно. Хотя думаю так не прокатит
ещё как прокатит ) для меня лудше варианта чем проверка по цвету не придумаеш )
sub Alarm()
var i
while 1
wait(200)
if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
gong()
wait (1000)
uo.DeleteJournal()
endif
for i = 1 to 10
if UO.JournalColor(i) <> '0x03B2' AND UO.JournalColor(i) <> '0x0000' AND UO.JournalColor(i) <> '0x0026' AND UO.JournalColor(i) <> '0x0022' then
gong()
wait (1000)
uo.DeleteJournal()
endif
next
wend
end sub
сделали то что хотели ... но - невсегда срабатывает .. на сообщения которые пишут игроки реагирует вобще через раз .. не подскажете как исправить ?