// *************************************************************************************//
// Плагин загружен с www.neugomon.ru //
// Автор: Neygomon [ https://neugomon.ru/members/1/ ] //
// Официальная тема поддержки: https://neugomon.ru/threads/171/ //
// При копировании материала ссылка на сайт www.neugomon.ru ОБЯЗАТЕЛЬНА! //
// *************************************************************************************//
Voice Control By CsStats это:
+ Защита от школоты, которая не умеет играть и заходит лишь чтобы поорать в микро
+ Защита от фейк-ботов, которые заходят на сервер и начинают орать в Voice чат, тем самым залагивая сервер
+ Совместимость с статистикой от Скальпеля
native csstats_get_user_stats(id, stats[22]);
public plugin_natives() set_native_filter("native_filter");
public native_filter(const name[], index, trap) return !trap ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
register_plugin("VoiceControl by CsStats", PLUGIN_VERSION, "neygomon");
register_logevent("LeRoundEnd", 2, "1=Round_End");
register_forward(FM_Voice_SetClientListening, "fwdSetClientListening");
public client_putinserver(id)
CheckStatsAndSetVoice(id);
CheckStatsAndSetVoice(0);
CheckStatsAndSetVoice(index)
static players[32], pnum;
else get_players(players, pnum);
for(new i; i < pnum; i++)
if(get_user_flags(players[i]) & IMMUNITY)
set_speak(players[i], SPEAK_NORMAL);
ResetBit(g_bBlockVoice, players[i]);
csstats_get_user_stats(players[i], stats);
get_user_stats(players[i], stats, bh);
set_speak(players[i], SPEAK_NORMAL);
ResetBit(g_bBlockVoice, players[i]);
set_speak(players[i], SPEAK_MUTED);
SetBit(g_bBlockVoice, players[i]);
ChatColor(players[i], "^3* ^1[^4UP-CS^1] ^4Для доступа к голосовому чату осталось ^3[%d/%d] ^4фрагов.", stats[0], FRAGS);
public fwdSetClientListening(receiver, sender)
if(receiver != sender && GetBit(g_bBlockVoice, sender))
engfunc(EngFunc_SetClientListening, receiver, sender, false);
stock ChatColor(const id, const szMessage[], any:...)
static szMsg[190], IdMsg;
vformat(szMsg, charsmax(szMsg), szMessage, 3);
if(!IdMsg) IdMsg = get_user_msgid("SayText");
if(!is_user_connected(id)) return 0;
message_begin(MSG_ONE, IdMsg, .player = id);