Gag Me 2.7.0
Автор: Radius
Описание:
Плагин является мощным средством управления голосовым чатом на сервере с помощью кваров, админской затычки (Gag) и Mute для игроков.
Отличительные особенности плагина: широкие возможности настройки и объединение всех функций связанных с голосовым чатом в одном плагине с целью увеличения их производительности и согласованности.
Особенности:
- new: возможность сохранения Gag'ов в базу данных, также имеется поддержка GameCMS
- new: возможность настройки уровней иммунитета от Gag'а (см описание команды gm_add_immunity_level)
- возможность для каждой причины задать звук (wav или mp3), который будет проигрываться игроку при Gag'е
- возможность в Mute меню заглушать только мертвых игроков (чтобы не отвлекали еще живых)
- данные о том кто к кому применил Mute сохраняются на время указанное в кваре gm_mute_data_storage_time
- плагин поддерживает ReApi и автоматически определяет его наличие
- возможность выбора голосовых каналов через меню (квар gm_voice_channel_menu)
- возможность запретить админам снимать Gag, наложенный другим админом (квар gm_remove_only_own_gag)
- консольная команда amx_gag, которая позволяет наложить Gag на играющих или отключившихся игроков из консоли сервера или админа (см. описание консольной команды amx_gag)
- широкие возможности настройки с помощью кваров (см. квары)
- возможность админам прослушивать весь чат всегда или будучи мертвым (квар gm_admin_listen_mode)
- возможность задать время в течение которого можно дать инфу после смерти (квар gm_can_speak_after_death_delay)
- функция Auto-Gag, которая ограничивает игроку доступ к голосовому чату, если против него написали /mute необходимое число человек
- возможность настроить причины Gag'а (см. описание консольной команды gm_add_template)
- возможность настроить сроки Gag'а (см. описание консольной команды gm_add_time)
- данные Gag'а сохраняются в файл gag.vault по steamid и ip, также присутствует самоочистка от устаревших записей
- имеется API для разработчиков (см gag_me.inc)
- все квары и команды для удобства настраиваются в автоматически создаваемом конфигурационном файле 'addons/amxmodx/configs/gag_me.cfg'
- автоматически создаваемый словарь мультиязычности 'addons/amxmodx/data/lang/gag_me.txt'
Требования:
Настройки (из автоматически создаваемого конфигурационного файла 'gag_me.cfg'):
// gm_update_config - обновляет файл 'gag_me.cfg' при смене карты
// 1 - обновить файл
// 2 - сделать бекап (*.bkp) и обновить файл
// Внимание: Текущие значения кваров (кроме команд), запишутся в обновленный файл
// Квар со значением прописывается в консоли сервера
// После обновления квар сам вернется в значение 0
// gm_update_dictionary - обновляет lang файл 'gag_me.txt' при смене карты
// 1 - обновить файл
// 2 - сделать бекап (*.bkp) и обновить файл
// Внимание: Квар со значением прописывается в консоли сервера
// После обновления квар сам вернется в значение 0
// Уровень логов
// 0 - выключено (OFF)
// 1 - предупреждения (WARN)
// 2 - информация (INFO)
// 3 - отладочная информация (DEBUG)
// 4 - подробная отладочная информация (TRACE)
// По умолчанию: "2"
gm_log_level "2"
// Куда будут писаться логи:
// 0 - в стандартный лог AMX Mod X 'addons/amxmodx/logs',
// 1 - в подпапку 'addons/amxmodx/logs/gag_me'
// По умолчанию: "1"
gm_log_type "1"
// Список команд (разделенных ';') с помощью которых будет вызываться Gag меню
// После команды можно писать ник или часть ника для быстрого выбора игрока
// По умолчанию: "amx_gagmenu;say /gag"
gm_gag_menu_cmd "amx_gagmenu;say /gag"
// Список команд (разделенных ';') с помощью которых будет вызываться Mute меню
// После команды можно писать all (всех), ник или часть ника игрока
// По умолчанию: "say /mute"
gm_mute_menu_cmd "say /mute"
// Время в течении которого можно дать инфу после смерти. Если условие в кваре
// 'gm_min_alive_players_listen_dead' выполняется, то игнорируется
// По умолчанию: "5"
gm_can_speak_after_death_delay "5"
// Минимальное количество живых игроков необходимое, чтобы слышать мертвых
// По умолчанию: "32"
gm_min_alive_players_listen_dead "32"
// При значении 1 мертвые будут слышать мертвых игнорируя команду игрока, при
// значении 0 будет зависеть от команды игрока и квара 'gm_player_listen_enemy'
// По умолчанию: "1"
gm_dead_listen_dead "1"
// Определяет будет (1) или нет (0) игрок слышать врага
// Внимание: Влияет квар 'gm_min_alive_players_listen_dead'
// По умолчанию: "1"
gm_player_listen_enemy "1"
// Задает доп. условия слышимости для админов. Допустимые значения:
// 0 - функция отключена
// 1 - админа слышат все и он слышит всех
// 2 - админа слышат все и он слышит всех если мертв или в наблюдателях
// 3 - если есть хотя бы 1 мертвый админ, то работает как 2, иначе как 1
// По умолчанию: "2"
gm_admin_listen_mode "2"
// При значении 1 игнорируются все квары в которых присутствует слово 'listen'
// По умолчанию: "0"
gm_ignore_listen_cvars "0"
// Процент числа написавших /mute от общего числа игроков, необходимый для
// срабатывания автоматического Gag'а
// Если значение 0, то функция отключена
// По умолчанию: "30"
gm_auto_gag_percent "30"
// Промежуток времени (в секундах) между сообщениями, после истечения которого
// сообщение чата не считается флудом
// При значении 0 функция отключена
// По умолчанию: "2"
gm_chat_flood_time "2"
// Максимальное кол-во предупреждений о флуде, после которых последует Auto-Gag
// При значении 0 функция отключена
// По умолчанию: "5"
gm_chat_flood_max_warnings "5"
// Время (в секундах), через которое будут сброшены предупреждения о флуде чата,
// при условии, что игрок не получил за это время доп. предупреждений
// При значении 0 функция отключена
// По умолчанию: "300"
gm_chat_warnings_reset_time "300"
// Время (в секундах), через которое игрок с Gag сможет снова попросить прощения
// По умолчанию: "60"
gm_apologize_delay "60"
// RGB цвет и XY координаты HUD сообщения после смерти о том что живые больше не
// слышат мертвых
// По умолчанию: "220 160 0 | -1.0 0.36"
gm_after_death_hud_msg "220 160 0 | -1.0 0.36"
// RGB цвет и XY координаты HUD сообщения игроку о том что к нему применен Gag
// По умолчанию: "220 50 50 | -1.0 0.36"
gm_after_gag_hud_msg "220 50 50 | -1.0 0.36"
// Флаги доступа для игроков, которые обладают иммунитетом от проверки на флуд
// По умолчанию: "a"
gm_flood_immunity_flags "a"
// Флаги доступа для админов, которые смогут использовать Gag меню
// По умолчанию: "d"
gm_access_flags "d"
// Флаги доступа для админов, которые смогут использовать Gag меню и совершать
// различные действия с максимальными правами
// По умолчанию: "l"
gm_high_access_flags "l"
// Флаги доступа для игроков, которые смогут использовать команду чата '/mute'
// По умолчанию: "all"
gm_mute_access_flags "all"
// Админы могут снимать только свой (1) или любой (0) Gag
// По умолчанию: "1"
gm_remove_only_own_gag "1"
// Время хранения данных (в днях) о заткнутых игроках с помощью Gag
// Во избежание снятия Gag, должно быть равно максимальному сроку
// По умолчанию: "30"
gm_data_storage_time "30"
// Время хранения данных (в днях) о заткнутых игроках с помощью Mute
// По умолчанию: "1"
gm_mute_data_storage_time "1"
// Определяет будут (1) или нет (0) заткнутые игроки слышать друг друга (общаться
// голосом в своем канале)
// По умолчанию: "1"
gm_gagged_hear_each_other "1"
// Путь к файлу звука (wav или mp3), который проигрывается игроку если у него нет
// доступа к микрофону, чату и при флуде
// Если квар пустой, то звук не проигрывается
// По умолчанию: "buttons/button2.wav"
gm_no_access_sound "buttons/button2.wav"
// Периодичность показа (в секундах) уведомления о возможности заткнуть игрока
// при условии, что кто-то говорит в микрофон
// По умолчанию: "60"
gm_mute_advert_delay "60"
// Смогут (1) или нет (0) игроки использовать меню выбора голосового канала
// По умолчанию: "0"
gm_voice_channel_menu "0"
// Список команд (разделенных ';') с помощью которых будет вызываться меню
// выбора голосового канала
// По умолчанию: "gm_vc_menu"
gm_voice_channel_menu_cmd "gm_vc_menu"
// Открывать (1) или нет (0) меню выбора голосового канала при двойном нажатии
// кнопки включения микрофона
// По умолчанию: "1"
gm_voice_channel_menu_double_tap "1"
// Использовать (1) или нет (0) базу данных SQL для загрузки/сохранения Gag'ов
// По умолчанию: "0"
gm_use_sql "0"
// IP адрес или доменное имя базы данных
// По умолчанию: ""
gm_sql_host ""
// Логин для подключения к базе данных
// По умолчанию: ""
gm_sql_user ""
// Пароль для подключения к базе данных
// По умолчанию: ""
gm_sql_pass ""
// Имя базы данных
// По умолчанию: ""
gm_sql_db ""
// Создавать (1) или нет (0) автоматически таблицу в базе данных
// По умолчанию: "0"
gm_sql_create_table "0"
// Проверять (1) или нет (0) качество соединения с базой данных
// По умолчанию: "0"
gm_sql_check_connection "0"
// Использовать (1) или нет (0) данные подключения от GameCMS
// По умолчанию: "0"
gm_use_gamecms_connection_data "0"
// Название сервера, которое используется если Gag выдан самим сервером
// По умолчанию: "Сервер"
gm_server_name "Сервер"
// Сколько дней будут храниться Gag'и в базе данных
// Если значение 0, то функция отключена
// По умолчанию: "0"
gm_sql_data_storage_time "0"
// amx_gag - консольная команда, которая применяет Gag и может быть вызвана
// как из консоли сервера, так и консоли игрока
// Формат команды:
// amx_gag "authid" "type" "time" "reason_text"
// authid - обязательный аргумент, отвечающий за идентификатор игрока
// Допустимые идентификаторы: #userid, steamid, name (имя или часть имени)
// type - обязательный аргумент, отвечающий за тип Gag'а
// Допустимые значения:
// v - голосовой (от слова voice). Можно сочетать с 'c' и 't'
// c - текстовый (от слова chat). Можно сочетать с 'v' и 't'
// t - командный модификатор (от слова team), блокирует только для членов
// команды. Не используется самостоятельно, только вместе с 'v' и 'c'
// time - обязательный аргумент, отвечающий за время в минутах
// reason_text - обязательный аргумент, отвечающий за причину Gag'а.
// Может быть задан в виде текста или ключа словаря мультиязычности
// amx_ungag - консольная команда, которая снимает Gag и может быть вызвана
// как из консоли сервера, так и консоли игрока
// Формат команды:
// amx_ungag "authid"
// authid - обязательный аргумент, отвечающий за идентификатор игрока
// Допустимые идентификаторы: #userid, steamid, name (имя или часть имени)
// gm_add_template - команда, которая создает шаблон для gag меню. Шаблон
// позволяет задать готовые значения для каждой причины без необходимости
// выбирать тип и время Gag'а. При этом сохраняется возможность изменить,
// автоматически подставленные значения
// Формат команды:
// gm_add_template "reason_text" ["type"] ["time"] ["time_description"] ["sound_path"]
// reason_text - обязательный аргумент, отвечающий за причину Gag'а. Может быть
// задан в виде текста или ключа словаря мультиязычности (multilang dictionary)
// type - необязательный аргумент, отвечающий за тип Gag'а
// Допустимые значения:
// v - голосовой (от слова voice). Можно сочетать с 'c' и 't'
// c - текстовый (от слова chat). Можно сочетать с 'v' и 't'
// t - командный модификатор (от слова team), блокирует только для членов
// команды. Не используется самостоятельно, только вместе с 'v' и 'c'
// time - необязательный аргумент, отвечающий за время в минутах
// time_description - необязательный аргумент, отвечающий за текстовое
// описание аргумента 'time'. Может быть задан в виде текста или ключа
// словаря мультиязычности (multilang dictionary)
// Внимание: Если не указан, то автоматически подставится значение из
// аргумента 'time'
// sound_path - необязательный аргумент, отвечающий за путь к файлу звука
// (mp3 или wav), который будет проигрываться игроку при выдаче Gag'а
// Внимание: Используйте знак '_' (нижнее подчеркивание), чтобы пропустить
// один из необязательных аргументов
// Пример:
// gm_add_template "GM_REASON1" "vc" "40320" "GM_TIME_6" "events/friend_died"
// Пример как пропустить аргументы чтобы сделать только причину и звук:
// gm_add_template "GM_REASON1" "_" "_" "_" "events/friend_died"
gm_add_template "GM_AUTO_GAG_REASON" "vc" "30" "GM_TIME_2"
gm_add_template "GM_REASON1"
gm_add_template "GM_REASON2"
gm_add_template "GM_REASON3"
gm_add_template "GM_REASON4"
gm_add_template "GM_REASON5"
// gm_add_time - команда, которая добавляет пункты в меню выбора времени Gag'а
// Формат команды:
// gm_add_time "time" ["time_description"]
// time - обязательный аргумент, отвечающий за время в минутах
// time_description - необязательный аргумент, отвечающий за текстовое
// описание аргумента 'time'. Может быть задан в виде текста или ключа
// словаря мультиязычности (multilang dictionary)
// Внимание: Если не указан, то автоматически подставится значение из
// аргумента 'time'
gm_add_time "5" "GM_TIME_1"
gm_add_time "30" "GM_TIME_2"
gm_add_time "60" "GM_TIME_3"
gm_add_time "1440" "GM_TIME_4"
gm_add_time "10080" "GM_TIME_5"
gm_add_time "40320" "GM_TIME_6"
// gm_add_immunity_level - команда добавляет флаги доступа в качестве уровней
// доступа иммунитета. Уровни идут сверху вниз от меньшего к большему
// Формат команды:
// gm_add_immunity_level "access_flags"
// access_flags - обязательный аргумент, отвечающий за флаги доступа уровня
// доступа
// Внимание: Первый уровень (обычный игрок) добавляется автоматически из
// значения квара 'amx_default_access' если он существует или 'z' если не
// существует
gm_add_immunity_level "a"
gm_add_immunity_level "l"
// pc_add_to_chat_white_list - команда, которая добавляет указанный в качестве
// аргумента текст в исключения Gag'а
// Формат команды:
// pc_add_to_chat_white_list "text"
// text - текст, который нужно добавить в список исключений Gag'а
// Например:
// pc_add_to_chat_white_list "/rtv" - /rtv не будет блокироваться Gag'ом
Последняя версия 2.7.0 (09 мая 2025г):