1. Выводит на экран информацию о слове.
2. Делает скриншот с названием вида: dd.mm.yy hh:mm:ss [name - phrase].bmp
Code: Select all
var sc = "./sc/" ; директория, куда записывать скриншоты
sub FoulToScreen()
var i, name, nc_msg, msg = '', words_count = 1 ; количество слов
DIM foul[1]
; Далее - слова в НИЖНЕМ регистре
foul[0] = "тест";
repeat
if not msg == uo.lastmessage() then
msg = uo.lastmessage()
nc_msg = strtolower( msg )
name = uo.getname( uo.journalserial( 0 ) )
for i=0 to words_count-1
if FindEntry( foul[ i ], nc_msg, false ) > -1 then
uo.print( "Матерное слово обнаружено, в строке:");
uo.print( msg )
uo.print( "Было найдено слово '"+foul[i]+"'" )
uo.print( "Дата: "+date(uo.date(),'.') + " в " + time(uo.time(), ":") + " времени.." )
wait(1000)
uo.snap( "BMP", sc + date(uo.date(),'.') + " " + time(uo.time(), "-")+" ["+name+' - '+foul[i]+"].bmp" )
i = words_count-1
endif
next
endif
wait( 500 )
until false
endsub
Необходимые функции для работы скрипта можно найти в топике "Function not found".
Пример получаемого скриншота: http://img174.imageshack.us/img174/8851/scna2.jpg
К сожалению Injection далёк от регистронезависимого поиска (насколько я на данный момент помню) - поэтому для смены регистра используется достаточно медленная функция.
Скрипт генерирует достаточно сильную нагрузку на ЦП, почти независимую от количества приходящих сообщений.
http://dl.ultimasoft.ru/storage/scripts/censore.txt - подборка цензурных слов -)