Сообщение о взятии оружия

Сообщения
264
Реакции
80
Помог
1 раз(а)
Доброго дня форумчане! Задача, избавится от надписи в чате, когда VIP игрок берёт оружие.
Вот решил спросить, :blush2: дабы не напортачить.. Подскажите пожалуйста.

Я так понимаю, что-бы не писало нужно закоментировать? Или лучше удалить?
Код:
#define    MSG_GIVE        "^1[^4LWS^1] Вы выбрали: ^3%s"
client_print_color(id, print_team_default, MSG_GIVE, g_arrMenuData[iPos][NAME]);
Код:
#include <amxmodx>
#include <reapi>

#if AMXX_VERSION_NUM < 183
    #include <colorchat>
#endif

#define    PLUGIN    "Lite Vip System"
#define    VERSION    "1.3"
#define    AUTHOR    "Hypa_[KZ]"

enum _:SPAWN_DATA    { ITEM_S[20], VALUE_S };
enum _:MENU_DATA    { NAME[64], ITEM_M[20], VALUE_M };

/*    Настройки    */
#define    ACCESS_FLAGS    ADMIN_LEVEL_G
    // Флаг Вип клиента

#define    SPAWN_ROUND        2
    // Раунд для выдачи аммуниции
    // Закоментируйте если не требуется выдача аммуниции

#define    MENU_ROUND        3
    // Раунд для доступа VIP меню
    // Закоментируйте если не требуется VIP меню

//#define    ADMIN_LOADER
    // Выводить срок до конца админки с Admin Loader by Neugomon
    // Закоментируйте если не требуется вывод срока

//#define    AUTO_MENU
    // Авто-открытие VIP меню
    // Закоментируйте если не требуется авто-открытие VIP меню

#define    USE_NUM        2
    // Сколько раз возможно открыть VIP меню за раунд
    // Закоментируйте если не требуется

#define    BUY_TIME    15
    // Сколько секунд можно использовать VIP меню
    // Закоментируйте если не требуется

//#define    VIP_TAB
    // Тег VIP в TABe
    // Закоментируйте если не требуется тег VIP в TABe

//#define    BLOCK_MAPS    "awp_", "35hp_", "aim_", "$_"
    // Блокируемые карты
    // Закоментируйте если не требуется блокировка карты

//#define    MOTD_INFO
    // Информация о покупке
    // Закоментируйте если не требуется информация о покупке

//#define    CONNECT_INFO
    // Информация при заходе V.I.P-ки
    // Закоментируйте если не требуется информация при заходе V.I.P-ки

#if    defined    SPAWN_ROUND
new g_arrSpawnData[][SPAWN_DATA] =    // Настройка аммуниции
{
//    "оружие/жизнь/броня/деньги/щипцы"    "патроны/кол-во"
    { "armor",    100 },
    { "weapon_hegrenade",            1 },
    { "weapon_flashbang",            2 },
    { "weapon_smokegrenade",            1 },
    { "weapon_deagle",            35 }
};
#endif
#if    defined    MENU_ROUND
new g_arrMenuData[][MENU_DATA] =    // Настройка VIP меню
{
//    "название"    "оружие/жизнь/броня/деньги/щипцы"    "патроны/кол-во"
    { "AK-47",        "weapon_ak47",    90 },
    { "M4A1",        "weapon_m4a1",        90 },
    { "AWP",        "weapon_awp",        30 }
};
#endif

/*    Словарь    */
#define    MSG_ALIVE        "^1[^4LWS^1] Доступно только ^3живым ^4игрокам^1!"
#define    MSG_ACCESS        "^1[^4LWS^1] Доступно только ^3VIP ^4игрокам^1!"
#define    MSG_ROUND        "^1[^4LWS^1] Доступно только с ^3%d ^4раунда^1!"
#define    MSG_USE            "^1[^4LWS^1] Доступно только ^3%d раз(а) ^4за раунд^1!"
#define    MSG_BUYTIME        "^1[^4LWS^1] Время выбора оружия ^3%d секунд ^4истекли^1!"
#define    MSG_GIVE        "^1[^4LWS^1] Вы выбрали: ^3%s"
#define    MSG_MAP            "^1[^4Vip System^1] На этой карте ^3меню ^4не доступно^1!"
#define    MSG_CONNECT        "^1[^4Vip System^1] ^3[V.I.P клиент] ^4%s ^1- зашёл на сервер!"

#define    MENU_TITLE        "\yМеню Оружейки"
#define    MENU_LEFT        "\wОсталось \r%d \wдней"
#define    MENU_LAST        "\rПоследний \wдень"
#define    MENU_NOTLIMIT    "\wПрава \yне ограничены"

/*    Массивы, не трогать    */
#if !defined MAX_PLAYERS
    const MAX_PLAYERS = 32;
#endif
#if    defined    MENU_ROUND
    new g_iMenuSize;
    new g_iMenuPage[MAX_PLAYERS + 1];
    #if defined ADMIN_LOADER
        native admin_expired(index);
    #endif
    #if    defined    USE_NUM
        new g_iMenuUse[MAX_PLAYERS + 1];
    #endif
    #if    defined    BUY_TIME
        new g_iBuyTime;
    #endif
#endif
#if    defined    VIP_TAB
    new g_mScoreAttrib;
#endif
#if defined BLOCK_MAPS
    new bool:g_bBlockMaps;
#endif

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    #if    defined SPAWN_ROUND || defined MENU_ROUND || defined VIP_TAB
        RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", true);
    #endif
    #if    defined    MENU_ROUND
        register_clcmd("lws",            "CmdVipMenu");
        register_clcmd("say /lws",        "CmdVipMenu");
        register_clcmd("say_team /lws",    "CmdVipMenu");
        register_menucmd(register_menuid("Vip Menu"), 1023, "Menu_Handler");
        g_iMenuSize    = sizeof g_arrMenuData;
    #endif
    #if    defined    VIP_TAB
        g_mScoreAttrib = get_user_msgid("ScoreAttrib");
    #endif
    #if defined BLOCK_MAPS
        new szMap[32];    rh_get_mapname(szMap, charsmax(szMap));
        new szBlockMaps[][] = { BLOCK_MAPS };
        for(new i; i < sizeof szBlockMaps; i++)
        {
            if(containi(szMap, szBlockMaps[i]) != -1)
                g_bBlockMaps = true;
        }
    #endif
    #if defined MOTD_INFO
        register_clcmd("say /adminka",        "CmdAdminKa");
        register_clcmd("say_team /adminka",    "CmdAdminKa");
        register_clcmd("say /vipka",        "CmdVipKa");
        register_clcmd("say_team /vipka",    "CmdVipKa");
    #endif
}
#if defined CONNECT_INFO
public client_putinserver(id)
{
    if(get_user_flags(id) & ACCESS_FLAGS)
    {
        new szName[32];    get_user_name(id, szName, charsmax(szName));
        client_print_color(id, print_team_default, MSG_CONNECT, szName);
    }
}
#endif
#if    defined SPAWN_ROUND || defined MENU_ROUND || defined VIP_TAB
public CBasePlayer_Spawn(const id)
{
    #if defined BLOCK_MAPS
        if(!g_bBlockMaps && is_user_alive(id) && get_user_flags(id) & ACCESS_FLAGS)
    #else
        if(is_user_alive(id) && get_user_flags(id) & ACCESS_FLAGS)
    #endif
    {
        #if    defined    SPAWN_ROUND
            if(get_member_game(m_iTotalRoundsPlayed) >= SPAWN_ROUND - 1)
            {
                for(new i; i < sizeof g_arrSpawnData; i++)
                    GiveItem(id, g_arrSpawnData[i][ITEM_S], g_arrSpawnData[i][VALUE_S]);
            }
        #endif
        #if defined MENU_ROUND
            #if    defined    AUTO_MENU
                if(get_member_game(m_iTotalRoundsPlayed) >= MENU_ROUND - 1)
                {
                    g_iMenuPage[id] = 0;
                    ShowMenu(id, g_iMenuPage[id]);
                }
            #endif
            #if    defined    USE_NUM
                g_iMenuUse[id] = 0;
            #endif
            #if    defined    BUY_TIME
                g_iBuyTime = get_systime();
            #endif
        #endif
        #if    defined    VIP_TAB
            message_begin(MSG_BROADCAST, g_mScoreAttrib);
            write_byte(id);
            write_byte(4);
            message_end();
        #endif
    }
}
#endif
#if    defined    MENU_ROUND
public CmdVipMenu(const id)
{
    #if defined BLOCK_MAPS
        if(g_bBlockMaps)
            return client_print_color(id, print_team_default, MSG_MAP);
    #endif
    if(!is_user_alive(id))
        return client_print_color(id, print_team_default, MSG_ALIVE);
    if(~get_user_flags(id) & ACCESS_FLAGS)
        return client_print_color(id, print_team_default, MSG_ACCESS);
    if(get_member_game(m_iTotalRoundsPlayed) < MENU_ROUND - 1)
        return client_print_color(id, print_team_default, MSG_ROUND, MENU_ROUND);
    #if    defined    USE_NUM
        if(g_iMenuUse[id] >= USE_NUM)
            return client_print_color(id, print_team_default, MSG_USE, USE_NUM);
    #endif
    #if    defined    BUY_TIME
        if(get_systime() >= (g_iBuyTime + BUY_TIME))
            return client_print_color(id, print_team_default, MSG_BUYTIME, BUY_TIME);
    #endif
    
    g_iMenuPage[id] = 0;
    ShowMenu(id, g_iMenuPage[id]);
    
    return PLUGIN_HANDLED;
}

ShowMenu(id, iPos)
{
    new szMenu[512], iLen, iKeys = MENU_KEY_0;
    new iStart     = iPos * 8;
    new iEnd     = iStart + 8;
    
    if(iStart >= g_iMenuSize)
        iStart = iPos = g_iMenuPage[id] = 0;
    if(g_iMenuSize == 9 || iEnd > g_iMenuSize)
        iEnd = g_iMenuSize;   
    
#if defined ADMIN_LOADER
    new iExp = admin_expired(id);
    if(iExp > 0)
    {
        new iSysTime = get_systime();
        if(iExp - iSysTime > 0)
        {
            if((iExp - iSysTime) / 86400 > 0)
                iLen = formatex(szMenu, charsmax(szMenu), "%s^n%s^n^n", MENU_TITLE, MENU_LEFT, ((iExp - iSysTime) / 86400));
            else    iLen = formatex(szMenu, charsmax(szMenu), "%s^n%s^n^n", MENU_TITLE, MENU_LAST);
        }
    }
    else if(iExp == 0)    iLen = formatex(szMenu, charsmax(szMenu), "%s^n%s^n^n", MENU_TITLE, MENU_NOTLIMIT);
#else
    iLen = formatex(szMenu, charsmax(szMenu), "%s^n^n", MENU_TITLE);
#endif

    for(new i = iStart, a; i < iEnd; i++)
    {
        iKeys |= (1 << a);
        iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r%d. \w%s^n", ++a, g_arrMenuData[i][NAME]);
    }   
    
    if(iEnd != g_iMenuSize)
    {
        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r9. \yДалее^n\r0. %s", iPos ? "Назад" : "Выход");
        iKeys |= MENU_KEY_9;
    }
    else formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r0. %s", iPos ? "Назад" : "Выход");
    
    return show_menu(id, iKeys, szMenu, -1, "Vip Menu");
}

public Menu_Handler(id, iKey)
{
    switch(iKey)
    {
        case 9: if(g_iMenuPage[id]) ShowMenu(id, --g_iMenuPage[id]);
        default:
        {
            if(iKey == 8 && g_iMenuSize > 9)
                ShowMenu(id, ++g_iMenuPage[id]);
            else
            {
                #if    defined    BUY_TIME
                    if(get_systime() >= (g_iBuyTime + BUY_TIME))
                        return client_print_color(id, print_team_default, MSG_BUYTIME, BUY_TIME);
                #endif
                
                new iPos = g_iMenuPage[id] * 8 + iKey;
                
                GiveItem(id, g_arrMenuData[iPos][ITEM_M], g_arrMenuData[iPos][VALUE_M]);
                client_print_color(id, print_team_default, MSG_GIVE, g_arrMenuData[iPos][NAME]);
                
                #if    defined    USE_NUM
                    g_iMenuUse[id]++;
                #endif
            }
        }
    }
    return PLUGIN_HANDLED;
}
#endif
#if defined SPAWN_ROUND || defined MENU_ROUND
GiveItem(id, szItem[], iValue)
{
    switch(szItem[0])
    {
        case 'w':
        {
            rg_give_item(id, szItem, iValue < 3 ? GT_APPEND : GT_REPLACE);
            rg_set_user_bpammo(id, rg_get_weapon_info(szItem, WI_ID), iValue);
        }
        case 'h': set_entvar(id, var_health, Float:float(iValue));
        case 'a': rg_set_user_armor(id, iValue, ARMOR_VESTHELM);
        case 'm': rg_add_account(id, iValue, AS_ADD);
        case 'd':
        {
            if(get_member(id, m_iTeam) == TEAM_CT)
                rg_give_defusekit(id);
        }
    }
}
#endif
#if defined MOTD_INFO
public CmdAdminKa(const id)    show_motd(id, "adminka.txt", "Покупка Админки");
public CmdVipKa(const id)    show_motd(id, "vipka.txt", "Покупка V.I.P-ки");
#endif
 
Сообщения
258
Реакции
262
Помог
5 раз(а)
REVO, всё верно. Удалить или закомментировать - решайте сами. Если удалите, то всё будет ОК, т.к. более макрос нигде не используется.
 

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

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