[FS] CHAT GUARD v0.1 -
MX_Master - 12.04.2010
CHAT GUARD
фильтрскрипт
13/04/2010 - v0.1
Описание:
- Фильтрскрипт работает как фильтр игрового чата.
Он может защитить чат от рекламы других серверов/сайтов, от флуда.
Не позволяет сильно капсить и спамить.
Как использовать:
- сохранить как файл с PWN расширением
- скомпилировать PWN и загрузить полученный AMX файл в папку сервера
filterscripts
- в настройках (server.cfg) в строке
filterscripts добавить строку с именем АМХ файла без расширения.
Желательно, загружать самым первым, т.к. отфильтрованные сообщения будут передваться другим скриптам
Функционал:
- Заменяет в сообщениях группы пробелов на единичные пробелы.
- Обрезает в сообщениях все пробелы по краям.
- Не дает писать в чате, если в нике игрока есть IP или запрещенный домен.
- Не показывает в чате попытки ввода команд в другой раскладке клавы.
- Не показывает сообщения, где букв в верхнем регистре слишком много.
- Не показывает сообщения, в которых есть IP адреса или запрещенные домены.
- Запрещает писать слишком часто.
- Запрещает писать одинаковые/похожие сообщения.
Скачать:
- код:
http://pawn.pastebin.com/VGnS9Cd6
Пожелания и сообщения об ошибках:
- приветствуются
Re: [FS] CHAT GUARD v0.1 -
Riaz - 13.04.2010
наааайс
Re: [FS] CHAT GUARD v0.1 -
dimonml - 13.04.2010
у некоторых игроков есть фишка: они используют свойство сампа разбивать сообщения длиннее 64 символов на 2: они пишут сообщение так, чтобы на новой строчке был чей то ник и сообщение от его имени. Очень многие не понимают это штуку и думают, что сообщение действительно написал тот человек.
Например, если ввести:
Code:
Привет всем, как дела? давно я тут небыл, вы меня не забили еше?MX_Master: вы все козлы!!!
то в чате будет примерно так:
Code:
dimonml: Привет всем, как дела? давно я тут небыл, вы меня не забили еше?
MX_Master: вы все козлы!!!
Есть предложение разбивать такие сообщения на 2
Re: [FS] CHAT GUARD v0.1 -
^Woozie^ - 13.04.2010
полезный скрипт, буду юзать.
dimonml, а зачем собственно придумали разбивание пробелов?
Re: [FS] CHAT GUARD v0.1 -
Serafim_sd - 13.04.2010
Quote:
Originally Posted by dimonml
у некоторых игроков есть фишка: они используют свойство сампа разбивать сообщения длиннее 64 символов на 2: они пишут сообщение так, чтобы на новой строчке был чей то ник и сообщение от его имени. Очень многие не понимают это штуку и думают, что сообщение действительно написал тот человек.
Например, если ввести:
Code:
Привет всем, как дела? давно я тут небыл, вы меня не забили еше?MX_Master: вы все козлы!!!
то в чате будет примерно так:
Code:
dimonml: Привет всем, как дела? давно я тут небыл, вы меня не забили еше?
MX_Master: вы все козлы!!!
Есть предложение разбивать такие сообщения на 2
|
Да, у нас тоже этим напрягают...
Сказано, что
Quote:
Originally Posted by MX_Master
- Заменяет в сообщениях группы пробелов на единичные пробелы.
|
этого должно быть достаточно.
Re: [FS] CHAT GUARD v0.1 -
dimonml - 13.04.2010
я читал про пробелы и это хорошо, но я привел пример, на который не сработает этот механизм и такие случаи вполне реальны. Но мое дело предложить
У меня на сервере нет отдельного механизма убирания пробелов, а есть механизм замены более 4х повторяющихся подряд символов на один.
И еще, есть механизм подсчета одинаковых символов в строке. Дальше анализируется как много таких символов и как часто они встречаются в русском языке. Если одинаковых символов много, а по статистике их обычно не так часто используют, то игрок может быть заглушен (у него отключиться чат на некоторое время). Среднюю частоту появления символов в языке я нашел где то в интернете.
Это нужно было, чтобы глушить за примерно такое:
Code:
dimonml: хахахахахахахахахахахаха!!!!!
Re: [FS] CHAT GUARD v0.1 -
MX_Master - 13.04.2010
Переносы, связанные с множественными пробелами, мой скрипт предотвращает. Даже, если текст переносится, то как определить, что используется именно этот прикол, а не обычный перенос?
За смех, я думаю, глушить - незачем. Вот, если такой текст подряд в нескольких сообщениях повторяется, то уже можно сообщение не показывать.
Также, если вы знаете еще какие-то хитрости, который юзают игроки, пишите.
Re: [FS] CHAT GUARD v0.1 -
Aphex - 13.04.2010
Классный FS. Мне очень нравится, буду использовть как и mxIni
Re: [FS] CHAT GUARD v0.1 -
^Woozie^ - 13.04.2010
хыыыы ещё одна хитрость. Антимат.
например игрок пишет в чат слово "мел", его блокирует.
потом нуб злиться и пишет м-е-л, чтобы антимат не сработал.
есть над чем подумать.
Re: [FS] CHAT GUARD v0.1 -
MX_Master - 13.04.2010
Мы на этом языке (мат) практически всегда разговариваем, а ты хочешь нам всю малину запретить ))
Много где, и у меня на серве, матерится-то можно, а вот оскорблять нельзя. Вощем-то, это может определить только модератор/админ.
Re: [FS] CHAT GUARD v0.1 -
abcdefghij - 13.04.2010
Quote:
Originally Posted by MX_Master
- Не дает писать в чате, если в нике игрока есть IP или запрещенный домен.
- Не показывает сообщения, в которых есть IP адреса или запрещенные домены.
|
скрипт классный, отдельное спасибо!
ЗЫ: но какая
смысловая разница в этих двух строчках

то есть в первом случае он не даёт, а во втором даёт, но не показывает всем игрокам кроме самого себя ? но тогда условия одинаковы, что в первом, что во втором пункте (ип или домен)
опечатка ?
извиняюсь за придирчивость (просто из любопытства

)
Re: [FS] CHAT GUARD v0.1 -
Makar93 - 13.04.2010
Quote:
Originally Posted by Radius
Quote:
Originally Posted by MX_Master
- Не дает писать в чате, если в нике игрока есть IP или запрещенный домен.
- Не показывает сообщения, в которых есть IP адреса или запрещенные домены.
|
скрипт классный, отдельное спасибо!
ЗЫ: но какая смысловая разница в этих двух строчках 
то есть в первом случае он не даёт, а во втором даёт, но не показывает всем игрокам кроме самого себя ? но тогда условия одинаковы, что в первом, что во втором пункте (ип или домен)
опечатка ?
извиняюсь за придирчивость (просто из любопытства  )
|
Внимательнее надо было читать)
В первом случае речь идет о нике,а во втором о сообщении в чат)
Re: [FS] CHAT GUARD v0.1 -
ZiGGi - 13.04.2010
Респект! Я сам хотел такое на днях начать писать, а тут готовое
Re: [FS] CHAT GUARD v0.1 -
MX_Master - 13.04.2010
Спс
Radius
Неважно как я пишу в описании скрипта, это все только красивые слова. Принцип - если нашлось что-то запретное, то в чате это вообще не отображается, а игроку просто отдельное уведомление в чате "почему его сообщение не показано в чате". Иногда это и не уведомление, а наставление с долей юмора (: Хотя текст можно менять под свои нужды.
Re: [FS] CHAT GUARD v0.1 -
dimonml - 13.04.2010
Quote:
Originally Posted by MX_Master
как определить, что используется именно этот прикол, а не обычный перенос?
|
По моему предложению незачем это определять

Просто тот текст, который длиннее 64 символов разбивается на 2 сообщения (можно это вообще красиво сделать и бить, если это возможно по пробелу, а не четко на 64 символе) без каких либо условий.
Возвращаясь к моему примеру. Ввод тот же, а напечатано будет 2 разных сообщения:
Quote:
dimonml: Привет всем, как дела? давно я тут небыл, вы меня не забили еше?
dimonml: MX_Master: вы все козлы!!!
|
Если не внятно выразился, и есть желание увидеть что и как, могу предложить зайти на сервер, что в моей подписи - там реги нет, так что сможешь зайти довольно быстро
Re: [FS] CHAT GUARD v0.1 -
Evgeni_Degerev - 13.04.2010
великолепно! как возможности, так и реализация
Re: [FS] CHAT GUARD v0.1 -
abcdefghij - 13.04.2010
o_Ops
I am sry

действительно
Re: [FS] CHAT GUARD v0.1 -
MX_Master - 13.04.2010
dimonml
есь задумка.. насчет правильного переноса (:
кста, это же все-таки фильтр, и если у вас там в моде в сообщениях еще и ИДы игроков вставляются, то будет непросто организовать такую разбивку, не задевая форматирование в самом моде
Re: [FS] CHAT GUARD v0.1 -
dimonml - 13.04.2010
При более/менее большом онлайне человеку уже становиться невозможно контролировать чат, поэтому нужны автоматические средства. Когда я начал писать парадиз, чат было первое что я делал. И это было не из-за хорошей жизни: народ с флудо программами

Они иногда человека по 3 сразу флудили. Я потом по логам смотрел, самый резвый мог нафлудить 2500 сообщений в секунду.
Иды в чате и килл листе нужны также из-за большого онлайна, чтобы удобней было следить за порядком. Когда кто-то матюкнется, чтобы ему отключить чат нужно узнать ид. Когда народу сильно больше сотни, то найти нужный ид становиться долго (команда по поиску ида по нику есть

). Иды в чат и килл лист вставляются весьма просто: просто перед печатью текста переименовываю игрока, печатаю текст, затем обратно.
апд: убрал флуд
Re: [FS] CHAT GUARD v0.1 -
MX_Master - 14.04.2010
Было бы глупо начать реализацию идеи, не обдумав качественно варианты. Скрипт ведь является только фильтром и сам не должен отправлять сообщения в обход мода и остальных скриптов, загруженных после этого скрипта.
Подсказка про перенос слов - ценная, но твой же вариант с разделением на 2 сообщения в этом скрипте не подойдет. И поэтому я должен придумать максимально точное и лучшее решение.
У меня пока только 1 вариант. В длинных сообщениях добавлять в точке переноса N-ное кол-во пробелов, которые дадут самому клиенту сделать перенос так, чтобы текст на новой строке был с небольшим отступом вправо.
зы:
можешь уже не повторять по неск. раз, что твой мод на С (: к делу это не относится, т.к. обсуждаемые варианты могут быть выполнены и на PAWN, и на C.