Antimat
Антимат работает на сервере AmxModX v1.60 Если у вас другой - скажите, постараюсь переделать. - папка, в которую установлен amxmodx Для установки антимата надо: 1) скопировать файл antimat.amxx в папку \plugins 2) скопировать файлы antimat_iskluch.ini и antimat_matlist.ini в папку \configs 3) в файле \configs\plugins.ini добавить в конце две строки: ; JohnJ plugins antimat.amxx ; антимат от JohnJ
файл antimat.sma - исходник (если недоверяете откомпилированной версии)
Версия антимата: 0.98optJJ - (Версия от JohnJ) Позволил себе изменить некоторые вещи: - Заменяется не сам мат а всё сообщение (это даёт возможность найти мат используя меньше вариантов в матлисте, да и анализ фразы более быстр) - Наказания, по-моему, в таком случае становятся не нужны, поэтому по умолчанию они все отключены - Теперь антимат может слапать не отнимая здоровья (c повреждением 0) - Исправлено сравнение с исключениями (например если матом в матлисте являются все слова, содержащие "e6", то исключением будет "xle6" и т.п. (т.е. начинаются слова с разных позиций в строке)
Команды антимата: antimat_matlist - промотр файлов antimat_matlist.ini и antimat_iskluch.ini через консоль antimat_update - обновление изменений в файлах antimat_matlist.ini и antimat_iskluch.ini (если вы обновили файлы, то изменения вступят в силу только при смене карты или при использовании команды antimat_update) antimat_money - за фразу с матом отнимается указанное кол-во денег (по умолчанию 0) (относится к живым) antimat_dmoney - за фразу с матом отнимается указанное кол-во денег (по умолчанию 0) (относится к убитым) antimat_slap - слапает за фразу с матом (значения: -1 - слап отключен, 0 - слап без отнимания жизней, >0 - слап с отниманием жизней) antimat_ip - показывает всем играющим ip-адрес подключающегося (если установить в 0 - не будет показывать, по умолчанию =1) antimat_cor - 1/0 - вкл/выкл наказания (по умолчанию =0) antimat_name - 1/0 - следить за матами в никах (по умолчанию =1) antimat_say - 1/0 - как написано в описании составителя этой функции антимата - "вкл/выкл команды say", но судя по коду выключается не команда say, а лишь проверка слов на маты в команде say (есть ещё say_team) (по умолчанию =1) antimat_logo - 1/0 - вкл/выкл предупреждения о наличии антимата (по умолчанию =0)
Некоторые команды я ни разу не использовал т.к. они были написаны до меня а мне
не пригождались, поэтому если что заметите - сообщайте. Но код
просматривал - на мой взгляд должны работать.
подробнее о файлах antimat_matlist.ini и antimat_iskluch.ini: в
файл antimat_matlist.ini внесены корни матов в различных конфигурациях и
фразы, на которые будут заменяться высказывания, содержащие этот мат.
Так, например, слово "ebat" посчитается за мат, потому что содержит в
себе сочетание букв "eb", так же и слово "nebo" посчитается за мат.
Чтобы этого не произошло, есть файл antimat_iskluch.ini - в нём
сочетания букв для слов-исключений. для "nebo" лучше написать в
исключения не "nebo" a "neb", тогда это учтёт "neba", "neby", "nebesa" и
т.п. В том числе сложно предугадать все ники. Так, у нас в сети играл
Rebel и кикался за матершинный ник пока я не внёс reb в слова
исключения. Регистр букв не учитывается.
|