• Гость, перед открытием темы прочитай описание раздела, чтобы не ошибиться. Любые вопросы по настройке сервера создаются в разделе Технической Поддержки.

Помощь Кнопка в меню Zombie Plague

Envie

Участник
Сообщения
5
Симпатии
0
Баллы
1
#1
Добрый день. Подскажите, пожалуйста, как прописать в меню новую кнопку, при нажатии на которую вводилась команда "say /motd"
 

ko1dun

Модератор
Сообщения
142
Симпатии
34
Баллы
104
#2
Добрый. Ну хотя бы нужен исходник этого меню, который есть
 

Envie

Участник
Сообщения
5
Симпатии
0
Баллы
1
#3
Код:
// Game Menu
show_menu_game(id)
{
    // Player disconnected?
    if (!g_isconnected[id])
        return;
    
    static menu[512], len, userflags
    len = 0
    userflags = get_user_flags(id)
    
    // Title
    len += formatex(menu[len], charsmax(menu) - len, "\y%s^n^n", g_modname)
    
    // 1. Buy weapons
    if (get_pcvar_num(cvar_buycustom))
        len += formatex(menu[len], charsmax(menu) - len, "\r1.\w %L^n", id, "MENU_BUY")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d1. %L^n", id, "MENU_BUY")
    
    // 2. Extra items
    if (get_pcvar_num(cvar_extraitems) && g_isalive[id])
        len += formatex(menu[len], charsmax(menu) - len, "\r2.\w %L^n", id, "MENU_EXTRABUY")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d2. %L^n", id, "MENU_EXTRABUY")
    
    // 3. Zombie class
    if (get_pcvar_num(cvar_zclasses))
        len += formatex(menu[len], charsmax(menu) - len, "\r3.\w %L^n", id,"MENU_ZCLASS")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d3. %L^n", id,"MENU_ZCLASS")
    
    // 4. Unstuck
    if (g_isalive[id])
        len += formatex(menu[len], charsmax(menu) - len, "\r4.\w %L^n", id, "MENU_UNSTUCK")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d4. %L^n", id, "MENU_UNSTUCK")
    
    // 5. Join spec
    if (!g_isalive[id] || !get_pcvar_num(cvar_blocksuicide) || (userflags & g_access_flag[ACCESS_ADMIN_MENU]))
        len += formatex(menu[len], charsmax(menu) - len, "\r5.\w %L^n^n", id, "MENU_SPECTATOR")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d5. %L^n^n", id, "MENU_SPECTATOR")
    
    // 9. Admin menu
    if (userflags & g_access_flag[ACCESS_ADMIN_MENU])
        len += formatex(menu[len], charsmax(menu) - len, "\r9.\w %L", id, "MENU_ADMIN")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d9. %L", id, "MENU_ADMIN")
    
    // 0. Exit
    len += formatex(menu[len], charsmax(menu) - len, "^n^n\r0.\w %L", id, "MENU_EXIT")
    
    // Fix for AMXX custom menus
    if (pev_valid(id) == PDATA_SAFE)
        set_pdata_int(id, OFFSET_CSMENUCODE, 0, OFFSET_LINUX)
    
    show_menu(id, KEYSMENU, menu, -1, "Game Menu")
}
 

Envie

Участник
Сообщения
5
Симпатии
0
Баллы
1
#4
Код:
// Game Menu
public menu_game(id, key)
{
    // Player disconnected?
    if (!g_isconnected[id])
        return PLUGIN_HANDLED;
    
    switch (key)
    {
        case 0: // Buy Weapons
        {
            // Custom buy menus enabled?
            if (get_pcvar_num(cvar_buycustom))
            {
                // Disable the remember selection setting
                WPN_AUTO_ON = 0
                zp_colored_print(id, "^x04[ZP-New]^x01 %L", id, "BUY_ENABLED")
                
                // Show menu if player hasn't yet bought anything
                if (g_canbuy[id]) show_menu_buy1(id)
            }
            else
                zp_colored_print(id, "^x04[ZP-New]^x01 %L", id, "CMD_NOT")
        }
        case 1: // Extra Items
        {
            // Extra items enabled?
            if (get_pcvar_num(cvar_extraitems))
            {
                // Check whether the player is able to buy anything
                if (g_isalive[id])
                    show_menu_extras(id)
                else
                    zp_colored_print(id, "^x04[ZP-New]^x01 %L", id, "CMD_NOT")
            }
            else
                zp_colored_print(id, "^x04[ZP-New]^x01 %L", id, "CMD_NOT_EXTRAS")
        }
        case 2: // Zombie Classes
        {
            // Zombie classes enabled?
            if (get_pcvar_num(cvar_zclasses))
                show_menu_zclass(id)
            else
                zp_colored_print(id, "^x04[ZP-New]^x01 %L", id, "CMD_NOT_ZCLASSES")
        }
        case 3: // Unstuck
        {
            // Check if player is stuck
            if (g_isalive[id])
            {
                if (is_player_stuck(id))
                {
                    // Move to an initial spawn
                    if (get_pcvar_num(cvar_randspawn))
                        do_random_spawn(id) // random spawn (including CSDM)
                    else
                        do_random_spawn(id, 1) // regular spawn
                }
                else
                    zp_colored_print(id, "^x04[ZP-New]^x01 %L", id, "CMD_NOT_STUCK")
            }
            else
                zp_colored_print(id, "^x04[ZP-New]^x01 %L", id, "CMD_NOT")
        }
        case 4: // Join Spectator
        {
            // Player alive?
            if (g_isalive[id])
            {
                // Prevent abuse by non-admins if block suicide setting is enabled
                if (get_pcvar_num(cvar_blocksuicide) && !(get_user_flags(id) & g_access_flag[ACCESS_ADMIN_MENU]))
                {
                    zp_colored_print(id, "^x04[ZP-New]^x01 %L", id, "CMD_NOT")
                    return PLUGIN_HANDLED;
                }
                
                // Check that we still have both humans and zombies to keep the round going
                check_round(id)
                
                // Kill him before he switches team
                dllfunc(DLLFunc_ClientKill, id)
            }
            
            // Temporarily save player stats?
            if (get_pcvar_num(cvar_statssave)) save_stats(id)
            
            // Remove previous tasks
            remove_task(id+TASK_TEAM)
            remove_task(id+TASK_MODEL)
            remove_task(id+TASK_FLASH)
            remove_task(id+TASK_CHARGE)
            remove_task(id+TASK_SPAWN)
            remove_task(id+TASK_BLOOD)
            remove_task(id+TASK_AURA)
            remove_task(id+TASK_BURN)
            
            // Then move him to the spectator team
            fm_cs_set_user_team(id, FM_CS_TEAM_SPECTATOR)
            fm_user_team_update(id)
        }
        case 8: // Admin Menu
        {
            // Check if player has the required access
            if (get_user_flags(id) & g_access_flag[ACCESS_ADMIN_MENU])
                show_menu_admin(id)
            else
                zp_colored_print(id, "^x04[ZP-New]^x01 %L", id, "CMD_NOT_ACCESS")
        }
    }
    
    return PLUGIN_HANDLED;
}
 
Сверху