Авторизироваться у нас на сайте можно только через STEAM. Если у Вас нет STEAM аккаунта, зарегистрируйте бесплатный на официальном сайте steamcommunity.com, после чего нажмите на кнопку ниже и войдите на сайт. Авторизированным пользователям доступны много разных функций, позволяющих с комфортом серфить по нашему магазину. Чтобы покупать плагины, менять IP и восстанавливать ключ, авторизация не нужна.
Плагин запрещает определенному игроку общаться на сервере. Работает как с NoSteam так и со STEAM клиентами. Затыкать игроков могут как админы, так и сами игроки через голосование(/votegag). Если игрок перезайдет на сервер, то gag все-равно останется. Плагин не использует работу с файлами, тем самым не нагружает сервер. Еще есть возможность заглушить игроков командой /mute.
Особенности
Глушит игрока даже при включенном модуле vtc
Работает с внутренней базой, сохраняя гаг на долгое время. Есть кнопка "заглушить всех" (для /mute)
Удобное управление и приятный внешний вид
Может заглушить игроков ниже определенного звания (нужен плагин Army Ranks Ultimate)
Поддержка VtcApi и ReAPI
Команды say /votegag - вызвать голосование за гаг игрока votegag - вызвать голосование за гаг игрока say /mute - заглушить игрока mute - заглушить игрока gag - консольная команда для админа (гаг игрока) gag_menu - меню гага для админа
21.01.02BETA - обновить .amxx - поддержка всех версий authemu 19.11.04BETA - обновить .amxx - добавлена поддержка модуля authemu (в меню игроков показывает кто с GSCLIENT) - добавлены квары amx_menu_steam и amx_menu_gsclient (вписывать в amxx.cfg), они включают/выключают в меню игроков надпись STEAM и GSCLIENT соответственно 19.02.05BETA - обновить .amxx - исправлен /votegag - исправлен иммунитет админа - исправлено снятие гага(тестим) - другие мелкие косячки 18.12.22BETA - обновить ВСЕ ФАЙЛЫ и даже дополнительный плагин - полностью изменили ВСЕ файлы, обязательно перезалить и по новой настроить! - исправили баг, когда админ на сервере, чтобы не работал /votegag - сделали удобные меню выбора игроков (как в AMXBans RBS или AdminCMD RBS) - добавлен квар ug_vote_access, для доступа к /votegag по флагу - добавлен вечный гаг - добавлены ПРИЧИНЫ гага - причины пишутся в чат - изменена структура меню гага (сначала выбираете игрока, потом открывается меню с причиной, потом с временем, потом с типом гага. Промежуточные меню можно отключить, указав в конфиге значения по умолчанию) - добавлен квар ug_ungagadmin, запрещает снимать гаг, который сделал другой админ (разрешает главному админу) - добавлен квар ug_mute_immunity, запрещает на этого игрока делать /mute - добавлено логирование - добавили форварды - с GameCMS ничего не делали! Давайте пока что четко проверим все нововведения, а потом уже допилем под GameCMS его
18.02.21BETA - обновить .amxx - исправили ошибку в логах 18.02.18BETA - обновить .amxx - исправили время (чтоб на сервере и в веб одинаковое было) - исправили ошибку в логах - исправили "На сессию", теперь должно писать норм 18.02.12BETA - обновить .amxx и .cfg - дисправили в конфиге косяк (не то название квара указали) - исправлено отображение времени на сайте GameCMS?? - исправлены известные ошибки 17.12.22BETA - обновить .amxx и .cfg - добавлен квар ug_gamecms_update - исправлено отображение времени на сайте GameCMS - поправлены мелкие недочеты 17.12.13BETA - обновить .amxx и .cfg - исправлен баг с арми - добавлена поддержка GameCMS
17.10.30 - обновить .amxx, .cfg и lang файл - Доработка привязки для поддержки некоторых хостингов - Добавили квар ug_mainadmin - исправили вывод сообщения админа (ОБНОВИТЬ ЛАНГ ФАЙЛ!) 17.08.28 - обновить .amxx. lang файл и поставить дополнительный плагин - исправили недочеты, создали дополнительный плагин для поддержки VTC и ReAPI (подробнее о плагине в архиве) 17.08.09 BETA - обновить .amxx и модуль VtcApi - Оптимизация привязки и в целом кода плагина. Плагин cкомпилирован для AMXX 1.8.2, AMXX 1.8.3 и для ReAMXX. Ключ от плагина сам перезапишется в файл fg_keys.ini и в нем будут находится все ключи от других плагинов. Все логи теперь пишутся на русском языке. - поддержка модуля VtcApi (идет вместе с плагином)
15.07.15 - обновить .amxx - Немного изменена технология проверки ключей - Теперь есть отдельный файл настроек в amxmodx/data/fg_settings.ini(файл сам создастся при первом включении). В файле присутствует описание кваров, если хотите, можете изменить настройки. В этом же файле теперь прописывается почта для плагина FunGunUpdater - Всего 6 зеркал для проверки ключей
15.03.25 - обновить .amxx - ug_armyvoice теперь не блочит игроков, у которых есть хотя бы один флаг - исправлена ошибка Cmd_AddCommand: say already defined
15.01.30 - обновить .amxx, .cfg и ланг файл - Перепилен сильно код - Убрано MySQL - Сохранение гага в файл на сервере автоматически и без заморочек - Изменен квар ug_time, теперь это время в МИНУТАХ! - Общие исправления и баги
14.12.07 - обновить .amxx - Исправлена ошибка в логах и микрофон для army
14.12.02 - обновить .amxx - Совместимость с новой версией csstats_mysql
14.11.26 - обновить .amxx и .cfg - Добавлено: запретить игрокам говорить в микрофон, если их уровень Army Ranks Ultimate меньше чем нужно
14.11.03 - обновить .amxx - Стабильная работа плагина, не смотря на технические проблемы с нашей стороны(проверка лицензии) - Наши зеркала: RU(два зеркала), UA, BY, DE, KZ. - В консоли сервера не пишется: Sockets. Connecting... Чтобы отображалось, как и раньше напишите fg_debug "1" в amxx.cfg
14.10.5 - обновить .amxx - Не показывает меню /votegag игроку, за которого голосуют - ДОБАВЛЕНО: Плагины соединяются с нашими серверами для проверки лицензии. Они сами выберут ближайший сервер для проверки. Если это не произошло, то Вы можете указать сами, какой сервер будут использовать плагины. Для этого впишите в amxx.cfg квар: fg_location "UA", где UA это страна. На данный момент у нас есть 4 зеркала: RU, UA, BY, KZ
14.10 - обновить .amxx - исправлена ошибка, при которой работал votegag если админ был на сервере
14.09.2 - обновить .amxx - Переход на новый модуль sockets2. Исправление (_0_) и улучшена авторизация плагина.
14.09 - обновить .amxx и .cfg - Разделение голосового чата ug_deadvoice - - 0 - выключить - - 1 - живые не будут слышать чат мертвых, но мертвые будут слышать всех - - 2 - живые не будут слышать чат мертвых, а мертвые живых
14.08.S - обновить .amxx - Очередное обновление, связанное с Sокетами
14.08 - обновить .amxx - устранение ошибок, связанные с падением сервера
14.07 - обновить ultimate_gag.amxx - Небольшие улучшения
14.05 - Плагин затыкает всех, не зависимо стоит ли у Вас модуль vtc или нет, новый или старый у Вас билд, стим или не стим. - Добавлен пункт в меню /mute - заглушить всех
// Лицензионный ключ вводить в файл amxmodx/data/fg_keys.ini (если файла нет, он создастся сам при рестарте/смены карты сервера)
// Включить логирование?
ug_logs "1"
// Флаг админа для доступа к команде gag и gag_menu
ug_admin "c"
// Флаг иммунитета
// 0 - отключить
ug_immunity "a"
// Флаг главного админа, который может заткнуть любого
// 0 - не использовать
ug_mainadmin "l"
// Укажите флаг админа, который может снимать ГАГ со всех игроков(даже тех, кому сам не давал гаг)
// 0 - все могут снимать гаг со всех
ug_ungagadmin "l"
// Возможность писать причину гага
// 0 - гагать без причины (сразу)
// 1 - админ пишет причину при гаге (сразу)
// "причины через |" - укажите тут причины разделяя их символом |
// 0:\yБез причины - гагнет без указания причины
// 1:\yСвоя причина - написать причину вручную
ug_menu_reason "Микрофон 18+ | Оскорбления | Неадекват^n | 1:\yСвоя причина | 0:\rБез причины"
// Настройка меню с выбором времени гага
// Если указать только одно значение, то меню не будет показываться
// 0 - гаг навсегда
ug_menu_time "5 30 60 1440 0"
// Настройка меню с выбором типа гага
// Если указать только один тип, то меню не будет показываться
// a - заблокировать чат
// b - заблокировать командный чат
// c - заблокировать микрофон
ug_menu_type "abc c ab a b ac bc"
////////////////////
// GameCMS (BETA) //
////////////////////
// Если у Вас стоит GameCMS, то можно сохранять гаги в базу
// Просто раскомментируйте данный квар
//ug_gamecms_table "comms"
// Обновление заблоченных юзеров из базы (выгрузка из базы GameCMS)
// 0 - только в начале карты
// -1 - каждый конец раунда
// N - каждые N минут
ug_gamecms_update "-1"
/////////////
// VoteGag //
/////////////
// Сколько минут после голосования нельзя будет его вызвать повторно.
// -1 - можно всегда. 0 - выключить голосование
ug_vote_extend "5"
// Настройка меню голосования.
// Количество минут, которые стоят в пунктах меню. Пример: ug_vote_minutes "5 10 30 60 120 200" (максимум 6 чисел)
ug_vote_minutes "5 10 20 30"
// Какие флаги gag'a использовать для votegag?
// a - заблокировать чат
// b - заблокировать командный чат
// c - заблокировать микрофон
ug_vote_flags "abc"
// Запретить голосование за гаг, если админ с флагом ug_admin на сервере
// 1 - запретить
// 0 - разрешить
ug_vote_admin "0"
// Флаг админа(випа), для доступа к /votegag
// 0 - могут использовать все игроки
ug_vote_access "0"
//////////
// Mute //
//////////
// Включить mute? (возможность игрокам, для себя заглушать других игроков)
ug_mute_enable "1"
// Сообщение в чат. 1 - пишется всем. 2 - только игроку. 0 - выключить.
ug_mute_chat "1"
// Укажите флаг админа, которому нельзя будет дать мут
// Учтите, что функция /mute вообще сделана для удобства игроков, они сами должны решать, кого им слушать, а кого нет
// 0 - отключить
ug_mute_immunity "0"
///////////////
// DeadVoice //
///////////////
// Разделение голосового чата
// 0 - выключить
// 1 - живые не будут слышать чат мертвых, но мертвые будут слышать всех
// 2 - живые не будут слышать чат мертвых, а мертвые живых
ug_deadvoice "0"
///////////////
// ArmyVoice //
///////////////
// Запретить игрокам говорить в микрофон, если их уровень Army Ranks Ultimate меньше чем
// 0 - отключить функцию
// 1 - курсант (звание есть у всех, поэтому ставить нужно минимум с рядового)
// 2 - рядовой
// и т.д.
ug_armyvoice "0"
/* Ultimate Gag Functions
*
* by SKAJIbnEJIb
*
* This file is provided as is (no warranties).
*/
#if defined _ultimate_gag_included
#endinput
#endif
#define _ultimate_gag_included
// Вернет offset для времени(если стоит GameCMS)
native gag_get_offset();
// Вернет время окончания gag'a
native gag_get_user_expired(id);
// Вернет флаги gag'a
native gag_get_user_flags(id);
// Вернет причину гага
native gag_get_user_reason(id, reason[], len);
// Вызовется, когда необходимо заглушить микрофон через VTC
forward gag_vtc_mute(id);
// Вызовется, когда необходимо включить микрофон через VTC
forward gag_vtc_unmute(id);
// Вызовется, когда игрок сделал /mute на игрока
// player - игрок которого заглушили, -1 если нажал кнопку заглушить всех
forward gag_muted(id, player);
// Вызовется, при снятии /mute
// player так же может принять значение -1
forward gag_unmuted(id, player);
// Вызовется при гаге игрока
// id - админ, может принять значение -1, при гаге от голосования
// player - игрок которого гагнули
// unixtime - время окончания гага. 0 это гаг навсегда
// flags - тип гага(бит сумма флагов abc)
// reason - причина гага
forward gag_gaged(id, player, flags, unixtime, reason[])
// Вызовется, при снятии гага
// id так же может принять значение -1 при голосовании и -2, когда пришло время разгага
forward gag_unmuted(id, player);
// Используйте этот плагин совместно с Ultimate Gag, чтобы включить функции для модуля VTC
// Так как у кого то стоит ReAPI, у кого то VtcApi, а кто то вообще не юзает метамод модуль VTC, пришлось сделать отдельный плагин для включения этих функций
// Если у Вас стоит amxx модуль ReApi, то раскомментируйте (уберите // перед #define REAPI)
//#define REAPI // Раскомментировать если используете ReApi
#define ARMY // Закомментировать если не используете плагин Army Ranks Ultimate
#define PLUGIN "Ultimate Gag for VTC"
#define VERSION "18.12.22"
#define AUTHOR "SKAJIbnEJIb"
#include <amxmodx>
#include <amxmisc>
#include "include/ultimate_gag.inc"
#include "include/colorchat.inc"
#if defined REAPI
#include "include/reapi.inc"
#define VTC_OnClientStartSpeak(sender) VTC_OnClientStartSpeak(const sender)
#else
#include "include/VtcApi.inc"
#endif
#if defined ARMY
#include "include/army_ranks_ultimate.inc"
new army_levelname[64], g_ArmyEnable=true;
public plugin_cfg()
{
new level = get_cvar_num("ug_armyvoice");
if (!level) { g_ArmyEnable=false; }
else { ar_get_levelname(level, army_levelname, 63); }
}
public plugin_natives() { set_native_filter("native_filters"); }
public native_filters(const name[], id, trap)
{
if (equal(name, "ar_", 3) && !trap) { g_ArmyEnable = false; return PLUGIN_HANDLED; }
return PLUGIN_CONTINUE;
}
#endif
new g_OffSet;
public plugin_init()
{
register_dictionary("ultimate_gag.txt");
register_plugin_version(PLUGIN, VERSION, AUTHOR);
g_OffSet=gag_get_offset();
}
public gag_vtc_mute(id) { VTC_MuteClient(id); }
public gag_vtc_unmute(id) { VTC_UnmuteClient(id); }
public VTC_OnClientStartSpeak(sender)
{
if (!VTC_IsClientMuted(sender)) { return PLUGIN_CONTINUE; }
new expired = gag_get_user_expired(sender);
if (expired>0)
{
new reason[100]; gag_get_user_reason(sender, reason,63); if (reason[0]) { format(reason,99, "%L", LANG_PLAYER,"UG_USER_REASON", reason); }
ColorChat(sender, RED, "%L", LANG_PLAYER,"UG_USER_VOICE_MINUTES", floatround((expired - get_systime(g_OffSet))/60.0, floatround_ceil), reason);
}
else if (expired==0)
{
new reason[100]; gag_get_user_reason(sender, reason,63); if (reason[0]) { format(reason,99, "%L", LANG_PLAYER,"UG_USER_REASON", reason); }
ColorChat(sender, RED, "%L", LANG_PLAYER,"UG_USER_VOICE_PERMAMENT", reason);
}
#if defined ARMY
else if (g_ArmyEnable && expired==-1) { ColorChat(sender, RED, "%L", LANG_PLAYER,"UG_USER_VOICE_ARMY", army_levelname); }
#endif
else { return PLUGIN_CONTINUE; }
VTC_PlaySound(sender, "../valve/sound/barney/youtalkmuch.wav");
return PLUGIN_HANDLED;
}
register_plugin_version(const plugin[], const version[], const author[])
{
new plugin_name[64];
#if defined REAPI
#if (AMXX_VERSION_NUM < 183)
formatex(plugin_name,63,"[ReAPI][182] %s", plugin);
#else
if (equal(AMXX_VERSION_TAG,"Re")) { formatex(plugin_name,63,"[ReAPI][ReAMX] %s", plugin); }
else { formatex(plugin_name,63,"[ReAPI][183] %s", plugin); }
#endif
#else
#if (AMXX_VERSION_NUM < 183)
formatex(plugin_name,63,"[VTC][182] %s", plugin);
#else
if (equal(AMXX_VERSION_TAG,"Re")) { formatex(plugin_name,63,"[VTC][ReAMX] %s", plugin); }
else { formatex(plugin_name,63,"[VTC][183] %s", plugin); }
#endif
#endif
register_plugin(plugin_name, version, author);
}