SA-MP Forums Archive
[FilterScript] [FS] CHAT GUARD v0.1 - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+----- Forum: Релизы/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=66)
+----- Thread: [FilterScript] [FS] CHAT GUARD v0.1 (/showthread.php?tid=141345)

Pages: 1 2


[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.