- Автор
- zhorzh78
Назначение плагина: ограничение игрока в использовании голосовой связи и игрового чата
Требования:
АМХModX версии 1.8.3 и выше
Модуль Metamod: VoiceTrancoder 2017
Модуль для AMXModX: VTC_Api ИЛИ ReAPI (в зависимости он параметра компиляции #define REAPI)
Плагин GameCMS API Server (опционально)
* Модули можно скачать из предыдущих версий 1.х во вкладке История
Текущие возможности:
amx_gagmenu - консольная команда для админа
/gag - команда в чат для админа
/mute - команда в чат для всех
Дополнение:
Требования:
АМХModX версии 1.8.3 и выше
Модуль Metamod: VoiceTrancoder 2017
Модуль для AMXModX: VTC_Api ИЛИ ReAPI (в зависимости он параметра компиляции #define REAPI)
Плагин GameCMS API Server (опционально)
* Модули можно скачать из предыдущих версий 1.х во вкладке История
Текущие возможности:
- блокировка чата и голоса Админом (gag)(Настройка доступ к меню и блокам- в конфиге плагина)
- персональная блокировка чата и голоса (mute) с возможность выбора типа блокировки (голос или чат) (для блокировки чата возможно потребуется правка плагина чата- транслиты всякие, если есть)
- уровни управления блоками (чтобы админы не могли снимать блоки других админов, если их уровень ниже) (нужен GameCMS_API)
- сохранение в БД (нужен GameCMS_API). Если API нет, максимальное время блока- на время карты
- просмотр, изменение, удаление информации о блокировке при выборе игрока
- разделение чата (живые/мертвые) (5 способов настройки) производится настройкой квара sv_alltalk в server.cfg. Подробнее о разделении чата здесь
- командный голосовой канал (забиндить +teamvoice) при использовании которого живые противники вас не слышат (если они могут слышать общий чат)
- время для передачи инфы, после которого живые не услышат мертвых (если такое предусмотрено настройкой sv_alltalk)
- блокировка голос игрока за спам в микрофон
- нативы для блокировки и проверки блоков в сторонних плагинах (файл gamecms.inc от плагина GameCMS API)
- создание, редактирование, удаление блокировок (можно использовать сторонними плагинами)
amx_gagmenu - консольная команда для админа
/gag - команда в чат для админа
/mute - команда в чат для всех
Дополнение:
- плагин для голосования за гаг игрока (в основном архиве)
- плагин для возможности досрочного снятия блока по просьбе к администратору /sorry
C++:
// *************************************************************************************//
// Оригинальный плагин: Advanced Gag //
// Плагин загружен с www.neugomon.ru //
// Автор: Neygomon [ https://neugomon.ru/members/1/ ] //
// Официальная тема поддержки: https://neugomon.ru/threads/91/ //
// При копировании материала ссылка на сайт www.neugomon.ru ОБЯЗАТЕЛЬНА! //
// *************************************************************************************//
// Переделка: Addon для плагина GameCMS_GagManager
#include <amxmodx>
#include <gamecms5>
#define GAG_ACCESS ADMIN_BAN // Кому показывает сообщение об извинениях
#define SORRYTIME 60 // Как часто можно пользоваться командой /sorry. Время в секундах
#define PREFIX "AMX Gag" // Префикс в чате
public plugin_init()
{
register_plugin("CMS_GM_Sorry_Addon", "1.0", "");
register_clcmd("say /sorry", "SaySorry");
register_clcmd("say_team /sorry", "SaySorry");
#if AMXX_VERSION_NUM == 182
MaxClients = get_maxplayers();
#endif
}
public SaySorry(id)
{
if(cmsgag_is_user_blocked(id) == 0) //если заблокирован чат и голос
{
static iFloodTime[MAX_PLAYERS + 1], systime;
if(iFloodTime[id] > (systime = get_systime()))
client_print_color(id, print_team_default,"^1[^4%s^1] ^3Прекратите флудить! ^4Повторно извиниться можно через ^3%d сек", PREFIX, iFloodTime[id] - systime);
else
{
new sName[MAX_NAME_LENGTH];
get_user_name(id, sName, charsmax(sName));
for(new i = 1; i <= MaxClients; i++)
{
if(get_user_flags(i) & GAG_ACCESS)
client_print_color(i, print_team_default,"^1[^4%s^1] ^4Уважаемый ^3адмнистратор^4, игрок ^3%s ^4просит снять с него ^3GAG^4!", PREFIX, sName);
}
iFloodTime[id] = systime + SORRYTIME;
}
}
return PLUGIN_HANDLED;
}