Поставил плагин неугомона , все работает , но когда выдает оповещения в чат , в одном слове пишет ошибку, якобы нужен txt файл , был только исходник, скрин прилогаю. Как исправить?
HTML:
#include <amxmodx>
#tryinclude <reapi>
/* =================== */
#define VOICE_CONTROL_BY_STATS 3
// 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 BLOCK_TEXT_CHAT
// Блокировать текстовый чат и голосовой
// Если закомментировано - блокировуется только голос
#define BLOCK_CHATS_INFO
// Выводит в текстовый чат сообщение о том, что чат/чаты для игрока заблокированы
const MIN_FRAGS = 25;
// Минимальное количество фрагов для доступа к микро
// Для VOICE_CONTROL_BY_STATS 3 настройка принимает значение ранга юзера(начиная с 0)
/* =================== */
#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/734/]");
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
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, "^3[^4Контроль Чата^3] Доступ к ^4текстовому ^1и ^4голосовому ^3чату ^4закрыт^3!");
#else
client_print_color(id, print_team_default, "^3[^4Контроль Чата^3] Доступ голосовому чату ^4закрыт^3!");
#endif
#if VOICE_CONTROL_BY_STATS == 3
client_print_color(id, print_team_default, "^3[^4Контроль Чата^3] Необходимо получить уровень ^4%s", g_szAesLevelName);
#else
client_print_color(id, print_team_default, "^3[^4Контроль Чата^3] Необходимо набрать ^4%i^1/^4%i ^3фрагов", 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, "^3[^4Контроль Чата^3] Доступ к ^4текстовому ^1и ^4голосовому ^3чату ^4закрыт^3!");
#else
client_print_color(id, print_team_default, "^3[^4Контроль Чата^3] Доступ голосовому чату ^4закрыт^3!");
#endif
#if VOICE_CONTROL_BY_STATS == 3
client_print_color(id, print_team_default, "^3[^4Контроль Чата^3] Необходимо получить уровень ^4%s", g_szAesLevelName);
#else
client_print_color(id, print_team_default, "^3[^4Контроль Чата^3] Необходимо набрать ^4%i^1/^4%i ^3фрагов", 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, "^3[^4Контроль Чата^3] Доступ к ^4текстовому ^1и ^4голосовому ^3чату ^4закрыт^3!");
#if VOICE_CONTROL_BY_STATS == 3
client_print_color(id, print_team_default, "^3[^4Контроль Чата^3] Необходимо получить уровень ^4%s", g_szAesLevelName);
#else
client_print_color(id, print_team_default, "^3[^4Контроль Чата^3] Необходимо набрать ^4%i^1/^4%i ^3фрагов", 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 == 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;
}