AkycTuk
Участник
- Сообщения
- 74
- Реакции
- 19
- Баллы
- 8
Здравствуйте,
У меня есть переписанный плагин "CMS VoiceChat Addon", но под статистику скальпеля, идея такая, что не набрав определенное кол-во фрагов микрофон и чат работать не будут на сервере, но если есть флаг t, то блокировки нет. Когда игрок набирает 10 фрагов, микрофон и чат становятся доступны.
Баг в том, что микро блочит всем, но при наборе нужного числа фрагов, блок не снимается. Работает только имунитет по флагу. Еще все игроки кто заходят на сервер автоматически получают мут и гаг на сайт в мутлист. Плагин переписывал один проверенный скриптер, но после НГ пропал с тг и не отзывается, возможно какие-то личные проблемы в данный момент.
У меня есть переписанный плагин "CMS VoiceChat Addon", но под статистику скальпеля, идея такая, что не набрав определенное кол-во фрагов микрофон и чат работать не будут на сервере, но если есть флаг t, то блокировки нет. Когда игрок набирает 10 фрагов, микрофон и чат становятся доступны.
Баг в том, что микро блочит всем, но при наборе нужного числа фрагов, блок не снимается. Работает только имунитет по флагу. Еще все игроки кто заходят на сервер автоматически получают мут и гаг на сайт в мутлист. Плагин переписывал один проверенный скриптер, но после НГ пропал с тг и не отзывается, возможно какие-то личные проблемы в данный момент.
- Исходный код
- C++:
/* * Оригинальный код был написан zhorzh78 (https://cs-games.club/index.php?threads/gamecms-gagmanager.8/post-3274) * Мелкие доработки от ApXuTekToR */ #include <amxmodx> #include <gamecms5> #include <csstats_mysql> #define GetBit(%1,%2) ((%1) & (1 << (%2 & 31))) #define SetBit(%1,%2) ((%1) |= (1 << (%2 & 31))) #define ResetBit(%1,%2) ((%1) &= ~(1 << (%2 & 31))) new const szPluginInfo[][] = {"CMS VoiceChat Addon", "1.0.1 Beta", "GameCMS"}; new g_bitBlocked; enum cvars { VOICE_CHAT_VALUE, VOICE_CHAT_IMMUNITY[16] } new Cvar[cvars]; public plugin_init() { register_plugin(szPluginInfo[0], szPluginInfo[1], szPluginInfo[2]); register_dictionary("gamecms_gagmanager.txt"); register_cvar("cms_gag_voicechat_value", "20" ); register_cvar("cms_gag_voicechat_immunity", "n" ); register_event("DeathMsg", "OnMessageDeath", "a", "1>0"); } public plugin_cfg() { new cfgFilePath[PLATFORM_MAX_PATH]; new const fileName[64] = "/gamecms/gamecms_gagmanager.cfg"; get_localinfo("amxx_configsdir", cfgFilePath, charsmax(cfgFilePath)); add(cfgFilePath, charsmax(cfgFilePath), fileName); if(file_exists(cfgFilePath)) { server_cmd("exec %s", cfgFilePath); server_exec(); InitCvars(); } else { server_print("[%s] File '%s' not found. Plugin Stoped", szPluginInfo[0], cfgFilePath); set_fail_state("[%s] File '%s' not found. Plugin Stoped", szPluginInfo[0], cfgFilePath); } } public client_putinserver(iClient) { if(!Cvar[VOICE_CHAT_VALUE]) return; if(checkAccess(iClient, Cvar[VOICE_CHAT_IMMUNITY])) return; new stats[22]; csstats_get_user_stats(iClient, stats); if(stats[FRAGS] < Cvar[VOICE_CHAT_VALUE]) { if(cmsgag_add_user_block(iClient, BLOCK_FUNC_ADD, BLOCK_STATUS_ALL, fmt("Необходимо %d фрагов", Cvar[VOICE_CHAT_VALUE]), TIME_MAP_END_EXPIRING, false)) SetBit(g_bitBlocked, iClient); } } public OnMessageDeath() { new killer = read_data(1); if(!Cvar[VOICE_CHAT_VALUE] || !is_user_connected(killer)) return; if(checkAccess(killer, Cvar[VOICE_CHAT_IMMUNITY])) return; if(!(GetBit(g_bitBlocked, killer))) return; new stats[22]; csstats_get_user_stats(killer, stats); if(stats[FRAGS] >= Cvar[VOICE_CHAT_VALUE]) { if(cmsgag_add_user_block(killer, BLOCK_FUNC_REMOVE, BLOCK_STATUS_ALL, .printChat = false)) { ResetBit(g_bitBlocked, killer); client_print_color(killer, 0, "%s ^3Ваш чат заблокирован. Вам необходимо набрать %d фрагов", LANG_PLAYER, "CMSGAG_CHAT_PREFIX", Cvar[VOICE_CHAT_VALUE]); } } } InitCvars() { get_cvar_string("cms_gag_voicechat_immunity", Cvar[VOICE_CHAT_IMMUNITY], charsmax(Cvar[VOICE_CHAT_IMMUNITY])); Cvar[VOICE_CHAT_VALUE] = get_cvar_num("cms_gag_voicechat_value"); } checkAccess(id, const flags[]) { return (get_user_flags(id) & read_flags(flags)); } public client_disconnected(id) { ResetBit(g_bitBlocked, id); }
- Источник плагина (ссылка на сайт или тему)
- https://cs-games.club/index.php?resources/cms-voicechat-addon.51/