Help Voice Control

Статус
В этой теме нельзя размещать новые ответы.

serzh

Заблокированные
Пользователь
Регистрация
13 Июн 2017
Сообщения
85
Симпатии
0
Пол
Мужской
Поставил плагин неугомона , все работает , но когда выдает оповещения в чат , в одном слове пишет ошибку, якобы нужен txt файл , был только исходник, скрин прилогаю. Как исправить?
goldweap.png
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;
}
 

izzatillo

Пользователь
Регистрация
8 Июн 2017
Сообщения
247
Симпатии
85
Пол
Мужской
ВКонтакте
musoxonov
Telegram
@musaxonov
serzh, зачем создавать новые темы, когда можно в самом теме плагина спросить?
проверьте тест файл от Aes, есть ли там названия звание который необходимо для войс контрола
 

Fantomas17

Пользователь
Регистрация
11 Июл 2017
Сообщения
137
Симпатии
20
Пол
Мужской
аналогичная проблема , я так понял в lang файле aes.txt нужно добавить нулевой уровень
LVL_0 = Мл. сержант
LVL_1 = Рядовой
LVL_2 = Ефрейтор
LVL_3 = Мл. сержант
LVL_4 = Сержант
LVL_5 = Ст. сержант
LVL_6 = Старшина

но это еще не все , когда любой игрок пытается написать в чат и выходит сообщение что нужно набрать уровень , так это сообщение всем высвечивается ептиль , как исправить то?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу