[1.3 vtc only] Voice Control by STATS

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
20
Реакции
3
Ошибка
Voice Control by STATS 1.4 neugomon voice_control.a running
ошибок нет
ОС
Linux
Билд
ReHLDS version: 3.4.0.639-dev
Билд 6153
ReGamedll
5.7.0.295
Список метамодулей
[1] VoiceTranscoder  RUN   -    vtc.so            v2017RC3  ini   ANY
[ 2] AMX Mod X RUN - amxmodx.so v1.8.3-R ini Start ANY
[ 3] LocalizeBug Fix RUN - localizebugfix.s v2.4 ini Start Never
[ 4] Reunion RUN - reunion.so v0.1.75 ini Start Never
[ 5] WHBlocker RUN - whblocker.so v1.5.692 ini ANY
[ 6] ReSemiclip RUN - resemiclip.so v2.3.9 ini ANY
[ 7] Rechecker RUN - rechecker.so v2.5 ini ANY
[ 8] ReAPI RUN - reapi_amxx_i386. v5.2.0.1 pl2 ANY Never
[ 9] FakeMeta RUN - fakemeta_amxx_i3 v1.8.3-R pl2 ANY
[10] Ham Sandwich RUN - hamsandwich_amxx v1.8.3-R pl2 ANY
[11] MySQL RUN - mysql_amxx_i386. v1.8.3-R pl2 ANY
[12] Fun RUN - fun_amxx_i386.so v1.8.3-R pl2 ANY
[13] CStrike RUN - cstrike_amxx_i38 v1.8.3-R pl2 ANY
[14] Engine RUN - engine_amxx_i386 v1.8.3-R pl2 ANY
[15] ReAimDetector RUN - reaimdetector_am v0.2.2 pl2 ANY Never
Список плагинов
[  1] CSStatsX SQL            0.7.4       serfreeman1337    csstatsx_sql.am  running
[ 2] Advanced Experience Sy 0.5.4 Vega serfreeman1337/s advanced_experi running
[ 3] Advanced Gag 1.9.0 neygomon advanced_gag.am running
[ 4] Admin Loader 2.5.2 neygomon admin_loader_fo running
[ 5] FreshBans 1.3.6 kanagava fresh_bans.amxx running
[ 6] AES: StatsX 0.5 Vega serfreeman1337 aes_statsx.amxx running
[ 7] Stats Configuration 1.8.2 AMXX Dev Team statscfg.amxx running
[ 8] RestMenu RUS 1.8.1.3746 Leo_[BH] restmenu_rus.am running
[ 9] Advanced MapChooser 1.1.1 neygomon advanced_mapcho running
[ 10] Random Weapons WarmUP 2.5.untest neugomon warmup_reapi.am running
[ 11] Commands Menu 1.8.3 AMXX Dev Team cmdmenu.amxx running
[ 12] AMXMODMENU NEW 1.0 Nisko amxmodmenu_new. running
[ 13] Maps Menu 1.8.3 AMXX Dev Team mapsmenu.amxx running
[ 14] Info. Messages 1.8.3 AMXX Dev Team imessage.amxx running
[ 15] Menus Front-End 1.8.3 AMXX Dev Team menufront.amxx running
[ 16] Players Menu 1.8.3 AMXX Dev Team plmenu.amxx running
[ 17] Plugin Menu 1.8.3 AMXX Dev Team pluginmenu.amxx running
[ 18] Restrict Weapons 1.8.3 AMXX Dev Team restmenu.amxx running
[ 19] CS Stats Logging 1.8.3 AMXX Dev Team stats_logging.a running
[ 20] CS Misc. Stats 1.8.3 AMXX Dev Team miscstats.amxx running
[ 21] Admin Commands 1.8.3 AMXX Dev Team admincmd.amxx running
[ 22] Admin Votes 1.8.3 AMXX Dev Team adminvote.amxx running
[ 23] Admin Chat 1.8.3 AMXX Dev Team adminchat.amxx running
[ 24] Killa HP 1.6 jas0n killa_hp.amxx running
[ 25] Autoresponder/Advertis 0.5 MaximusBrood reklama_in_chat running
[ 26] FM ResetScore 0.1 neygomon fm_resetscore.a running
[ 27] Lite Kill Assist 1.17 neygomon lite_kill_assis running
[ 28] SF Bets 0.1.5 serfreeman1337 sf_bets.amxx running
[ 29] Ping Control 1.31 neygomon ping_control.am running
[ 30] Lite Admin ESP 1.0 neygomon lite_admin_esp. running
[ 31] Admin Free Look 2.0 Jim admin_free_look running
[ 32] Lite Vampire 1.1a neygomon lite_vampire.am running
[ 33] AntiFlash FINAL 5.0 Leo_[BH] antiflash_final running
[ 34] Demo Recorder RBS 14.08 SKAJIbnEJIb demorecorder_rb running
[ 35] Gold Weapon 1.0 vk.com weapons.amxx running
[ 36] Custom Models 1.3.2 neugomon custom_models.a running
[ 37] Lite Translit 2.74 neygomon lite_translit.a running
[ 38] Parachute 14.10 KRoT@L/JTP10181 parachute_rbs.a running
[ 39] AFK Control 1.4.1 [Rnd neygomon afk_control.amx running
[ 40] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a running
[ 41] Back Weapons RBS 14.10 hoboman313/cheap backweapons_rbs running
[ 42] Time for info 1.0 neugomon time_for_info.a running
[ 43] [ReAPI] Kills Counter 0.3 serfreeman1337 kills_counter.a running
[ 44] Voice Control by STATS 1.4 neugomon voice_control.a running
[ 45] AES: StatsX 0.5.4 Vega serfreeman1337/s aes_statsx_cstr running
[ 46] AES: CStrike Addon 0.5.4 Vega serfreeman1337/s aes_exp_cstrike running
[ 47] AES: Informer 0.5.4 Vega serfreeman1337/s aes_informer.am running
[ 48] AES: Admin Tools 0.5.4 Vega serfreeman1337/s aes_exp_editor. running
[ 49] AES: Bonus System 0.5.4 Vega serfreeman1337/s aes_bonus_syste running
[ 50] AES: Bonus CSTRIKE 0.5.4 Vega serfreeman1337/s aes_bonus_cstri running
[ 51] CSXSQL: Onlinetime Awa 0.2 serfreeman1337 csstatsx_playti running
Исходный код
#include <amxmodx>
#tryinclude <reapi>

/* =================== */
#define VOICE_CONTROL_BY_STATS 2
// 0 - CSX
// 1 - CSSTATS MYSQL by SKAJIbnEJIb
// 2 - CSSTATSX SQL by serfreeman1337
// 3 - AES 0.5 Vega by serfreeman1337

// #define SUPPORT_NO_ROUND_SERVER
// Поддержка серверов с бесконечным раундом (GunGame, CSDM, etc...)

#define ACCESS_IMMUNITY ADMIN_PASSWORD 1
// Иммунитет для админов

#define BLOCK_TEXT_CHAT 1
// Блокировать текстовый чат и голосовой
// Если закомментировано - блокировуется только голос

#define BLOCK_CHATS_INFO 1
// Выводит в текстовый чат сообщение о том, что чат/чаты для игрока заблокированы

const MIN_FRAGS = 20;
// Минимальное количество фрагов для доступа к микро
// Для VOICE_CONTROL_BY_STATS 3 настройка принимает значение ранга юзера(начиная с 1)
/* =================== */

#if VOICE_CONTROL_BY_STATS == 0
#include <csstats>
#endif
#if VOICE_CONTROL_BY_STATS == 1
#include <csstats_mysql>
#endif
#if VOICE_CONTROL_BY_STATS == 2
#include <csstatsx_sql>
#endif
#if VOICE_CONTROL_BY_STATS == 3
#include <aes_main>
#endif
#if !defined _reapi_included
#include <VtcApi>
#if defined SUPPORT_NO_ROUND_SERVER
#include <hamsandwich>
#endif
#endif
#if defined BLOCK_TEXT_CHAT
new bool:g_bBlockTextChat[33];
#endif
#if defined BLOCK_CHATS_INFO
new g_iFragStats[33];
#if VOICE_CONTROL_BY_STATS == 3
new g_szAesLevelName[64];
#endif
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif
#endif
public plugin_init()
{
register_plugin("Voice Control by STATS", "1.4", "neugomon");
#if defined _reapi_included
if(!has_vtc())
set_fail_state("Needed meta plugin VTC [https://neugomon.ru/threads/257/]");
else
{
#if defined SUPPORT_NO_ROUND_SERVER
RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn_Post", true);
#else
RegisterHookChain(RG_RoundEnd, "RoundEnd_Post", true);
#endif
}
#else
#if defined SUPPORT_NO_ROUND_SERVER
RegisterHam(Ham_Spawn, "player", "CBasePlayer_Spawn_Post", true);
#else
register_logevent("RoundEnd_Post", 2, "1=Round_End");
#endif
#endif
#if defined BLOCK_TEXT_CHAT
register_clcmd("say", "clcmd_Say");
register_clcmd("say_team", "clcmd_Say");
#endif
}
#if defined BLOCK_CHATS_INFO && VOICE_CONTROL_BY_STATS == 3
public plugin_cfg()
aes_get_level_name(MIN_FRAGS, g_szAesLevelName, charsmax(g_szAesLevelName), LANG_SERVER);
#endif
public client_putinserver(id)
{
if(!get_voice_access(id))
{
VTC_MuteClient(id);
#if defined BLOCK_TEXT_CHAT
g_bBlockTextChat[id] = true;
#endif
}
}
#if defined SUPPORT_NO_ROUND_SERVER
public CBasePlayer_Spawn_Post(const id)
{
if(is_user_connected(id)
{
if(get_voice_access(id))
VTC_UnmuteClient(id);
#if defined BLOCK_CHATS_INFO
else
{
#if defined BLOCK_TEXT_CHAT
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Доступ к текстовому и голосовому чатам ^4закрыт^1!");
#else
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Доступ голосовому чатe ^4закрыт^1!");
#endif
#if VOICE_CONTROL_BY_STATS == 3
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Необходимо получить уровень ^3%s", g_szAesLevelName);
#else
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Необходимо набрать ^3%i^4/^3%i ^1фрагов", g_iFragStats[id], MIN_FRAGS);
#endif
}
#endif
}
}
#else
public RoundEnd_Post()
{
new players[32], pnum;
get_players(players, pnum, "ch");

for(new i, id; i < pnum; ++i)
{
id = players[i];

if(get_voice_access(id))
{
VTC_UnmuteClient(id);
#if defined BLOCK_TEXT_CHAT
g_bBlockTextChat[id] = false;
#endif
}
else
{
VTC_MuteClient(id);
#if defined BLOCK_TEXT_CHAT
g_bBlockTextChat[id] = true;
#endif
#if defined BLOCK_CHATS_INFO
#if defined BLOCK_TEXT_CHAT
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Доступ к текстовому и голосовому чатам ^4закрыт^1!");
#else
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Доступ голосовому чатe ^4закрыт^1!");
#endif
#if VOICE_CONTROL_BY_STATS == 3
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Необходимо получить уровень ^3%s", g_szAesLevelName);
#else
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Необходимо набрать ^3%i^4/^3%i ^1фрагов", g_iFragStats[id], MIN_FRAGS);
#endif
#endif
}
}
}
#endif
#if defined BLOCK_TEXT_CHAT
public clcmd_Say(id)
{
#if defined BLOCK_CHATS_INFO
if(g_bBlockTextChat[id])
{
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Доступ к текстовому и голосовому чатам ^4закрыт^1!");
#if VOICE_CONTROL_BY_STATS == 3
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Необходимо получить уровень ^3%s", g_szAesLevelName);
#else
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Необходимо набрать ^3%i^4/^3%i ^1фрагов", g_iFragStats[id], MIN_FRAGS);
#endif
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
#else
return g_bBlockTextChat[id] ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
#endif
}
#endif
bool:get_voice_access(id)
{
#if VOICE_CONTROL_BY_STATS
new flags = get_user_flags(id);
if(flags > 0 && !(flags & ADMIN_PASSWORD))
return true;
#endif
#if VOICE_CONTROL_BY_STATS == 0
new st[8], bh[HIT_RIGHTLEG + 1];
if(!get_user_stats(id, st, bh))
return false;
#endif
#if VOICE_CONTROL_BY_STATS == 1
new st[22];
if(csstats_get_user_stats(id, st) <= 0)
return false;
#endif
#if VOICE_CONTROL_BY_STATS == 2
new st[8], bh[HIT_RIGHTLEG + 1];
if(!get_user_stats_sql(id, st, bh))
return false;
#endif
#if VOICE_CONTROL_BY_STATS == 3
new st[1], data[4];
if(!aes_get_player_stats(id, data))
return false;
else st[0] = data[1];
#endif
#if defined BLOCK_CHATS_INFO
g_iFragStats[id] = st[0];
#endif
return (st[0] < MIN_FRAGS) ? false : true;
}
Друзья, прошу извинить за оформления первого поста, поторопился, затупил!
Прошу помочь наладить работу плагина, 2 дня пытался найти решение, результата нет. Запрет микрофона работает, запрет чата не работает и плюсом еще не выводится оповещение, что микрофон заблокирован надо набрать столько та. Иммунитет для випов так же видимо прописал не правильно, не работает.
Заранее спасибо!
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
345
Реакции
77
Помог
14 раз(а)
Запрет микрофона работает, запрет чата не работает
Ну все понятно.
Пропишите в plugins.ini "voice_control.amxx" выше всех менеджеров чата, а именно lite translit и т.д
А вообще, lite translit советую поместить в самый низ списка plugins.ini
13 Мар 2018
плюсом еще не выводится оповещение
Кто вам сказал, что данный плагин выполняют эту функцию?
Ваше решение "Ultimate Chats Control by neygomon"
 
Сообщения
20
Реакции
3
KOLOKOLb4UK, попробую прописать выше всех, спасибо за подсказку, по поводу оповещения, то сам неугомон это написал на странице плагина и плюсом в коде присутствует текст оповещения
Код:
client_print_color(id, print_team_default, "^1[^3Voice Control^1] Доступ голосовому чатe ^4закрыт^1!");
 
Сообщения
345
Реакции
77
Помог
14 раз(а)
по поводу оповещения, то сам неугомон это написал на странице плагина и плюсом в коде присутствует текст оповещения
Оповещение о запрете чата появляется в конце раунда.
 
Сообщения
20
Реакции
3
KOLOKOLb4UK, все теперь понял, а по поводу иммунитета, я правильно вставил проверку на него? в начале раунда как я понял оповещение сделать не получится, особенность плагина
 
Сообщения
1,420
Реакции
2,511
Помог
58 раз(а)
а по поводу иммунитета, я правильно вставил проверку на него? в начале раунда как я понял оповещение сделать не получится, особенность плагина
#define ACCESS_IMMUNITY ADMIN_PASSWORD 1 поменять на #define ACCESS_IMMUNITY ADMIN_PASSWORD, этим мы задаем что ACCESS_IMMUNITY это флаг "k". Но это ни где не используется, чтобы был иммунитет нужно где-то использовать а не просто задавать значение дефайну, в коде конечно используется ADMIN_PASSWORD но не сам дефайн, какой толк тогда от лишнего дефайна?

184-188 строчки в коде:
Код:
#if  VOICE_CONTROL_BY_STATS
    new flags = get_user_flags(id);
    if(flags > 0 && !(flags & ADMIN_PASSWORD))
        return true;
#endif
поменять на:
Код:
#if VOICE_CONTROL_BY_STATS
    if(get_user_flags(id) & ACCESS_IMMUNITY)
        return true;
#endif
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу