Поиск Возрождения

Сообщения
194
Реакции
43
Помог
4 раз(а)
Mizer,
Код:
#include <amxmodx>
#include <amxmisc>
#include <reapi>

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0

new g_limit[MAX_PLAYERS + 1], g_rounds[MAX_PLAYERS + 1][32], limit;

public plugin_init()
{
    register_plugin("Respawn Menu", "1.0", "SuperPen & HaP[KOOZ]");
    
    register_menu("Menu_Respawn", keys, "func_respawn");
    register_clcmd("secret_menu", "RespawnMenu");
    
    RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed_Post", true);
    RegisterHookChain(RG_CSGameRules_RestartRound, "CSGameRules_RestartRound", false);
    
    limit = register_cvar("cvar_limit_round", "6");
}

@CBasePlayer_Killed_Post(id)
{   
    if(g_limit[id] == 0) RespawnMenu(id);
    else return;
}

public CSGameRules_RestartRound(id)
{
    for(new id = 1; id <= MaxClients; id++)
    {
        if(g_limit[id] > 0)
        {
            g_limit[id] -= 1;
        }
    }
}
public RespawnMenu(id)
{
    if(g_limit[id] >= 5) formatex(g_rounds[id], 31, "раундов");
    else if(g_limit[id] >= 2) formatex(g_rounds[id], 31, "раунда");
    else if(g_limit[id] == 1) formatex(g_rounds[id], 31, "раунд");
    
    static menu[512], iLen
    iLen = 0

    iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\rМ\yеню \rН\yебес \w:D^n^n")
    
    if(get_user_flags(id) & ADMIN_KICK)
    {
        if(g_limit[id] == 0 && get_user_deaths(id))
        {
            iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\wСтатус: \rДоступно^n^n");
            
            iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wВоскреситься^n^n");
            keys |= MENU_KEY_1;
        }
        else if(is_user_alive(id))
        {
            iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\wСтатус: \rНедоступно^n^n");
            
            iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \dВоскреситься^n^n");
            keys &= ~MENU_KEY_1;
        }
        else
        {
            iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\wСтатус: \rНедоступно^n^n");
            
            iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \dВоскреситься \d[\r%d %s\d]^n^n", g_limit[id], g_rounds[id]);
            keys &= ~MENU_KEY_1;
        }
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\wСтатус: \rНедоступно^n^n");
        
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \dВоскреситься^n^n");
        keys &= ~MENU_KEY_1;
    }
    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. Закрыть");
    keys |= MENU_KEY_0;
    
    show_menu(id, keys, menu, -1, "Menu_Respawn");
    return PLUGIN_HANDLED;
}

public func_respawn(id, key)
{
    new pName[MAX_NAME_LENGTH];
    get_user_name(id, pName, charsmax(pName));
        
    switch(key)
    {
        case 0:
        {
            if(g_limit[id] == 0 && !is_user_alive(id))
            {
                rg_round_respawn(id);
                client_print_color(0, print_team_default, "^1[PB] Одмин ^4%s ^1воскресился (возможно 1 раз в 5 раундов)", pName);
                g_limit[id] = get_pcvar_num(limit);
            }
            else return;
        }
    }
}
 

Вложения

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

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