ReHLDS/ReAPI подскажите пожалуйста1

fhneh1989

Пользователь
Регистрация
8 Окт 2020
Сообщения
1
Симпатии
0
как выдать на карту паутину игрокам на сервере в этом меню
меню на карту:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

// -> Инфо о плагине <- //{
new g_Plugin[] = "[AMXX] Admin Gift";
new g_Version[] = "02.01.2018";
new g_Author[] = "Edit By Number One (vk.com/cs_jump)";

new g_Chat[] = "Admin Gift";
// -> Инфо о плагине <- //}

new g_iMenuPlayers[33][32], g_iMenuPosition[33], Right[33] = 0;

public plugin_init()
{
    register_plugin(g_Plugin, g_Version, g_Author);

    register_menucmd(register_menuid("Main_Menu"), (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9), "Handle_MainMenu");
    register_menucmd(register_menuid("Show_RightMenu"), (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9), "Handle_RightMenu");

    register_clcmd("admin_right", "Main_Menu");
}

public Main_Menu(id)
{
    static menu[512]; new iLen = 0, iKey = (1<<9);
    if(get_user_flags(id) & ADMIN_RCON)
    {
        iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yМеню админ привилегий^n^n");
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\w2\r] \wДать Вип^n");
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\w3\r] \wДать Админа^n");
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\w4\r] \wДать Супер Админа^n");
        iKey |= (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5);
    }
    else
    {
        iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yМеню админ привилегий^n\dВыдача для \r[\yСоздателя\r]^n");
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[#] \dДать Вип^n");
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[#] \dДать Админа^n");
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[#] \dДать Супер Админа^n");
    }
    if(get_user_flags(id) & ADMIN_RCON)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\w9\r] \wЗабрать привилегии^n^n");
        iKey |= (1<<8)
    } else iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[#] \dЗабрать привилегии^n^n");
    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r[\w0\r] \wВыход");
    return show_menu(id, iKey, menu, -1, "Main_Menu");
}

public Handle_MainMenu(id, key)
{
    switch(key)
    {
        case 0:
        {
            Right[id] = 1;
            return Show_RightMenu(id, g_iMenuPosition[id] = 0);
        }
        case 1:
        {
            Right[id] = 2;
            return Show_RightMenu(id, g_iMenuPosition[id] = 0);
        }
        case 2:
        {
            Right[id] = 3;
            return Show_RightMenu(id, g_iMenuPosition[id] = 0);
        }
        case 3:
        {
            Right[id] = 4;
            return Show_RightMenu(id, g_iMenuPosition[id] = 0);
        }
        case 4:
        {
            Right[id] = 5;
            return Show_RightMenu(id, g_iMenuPosition[id] = 0);
        }
        case 5:
        {
            Right[id] = 6;
            return Show_RightMenu(id, g_iMenuPosition[id] = 0);
        }
        case 8:
        {
            Right[id] = 7;
            return Show_RightMenu(id, g_iMenuPosition[id] = 0);
        }
        case 9: return PLUGIN_HANDLED;
    }
    return Main_Menu(id);
}

Show_RightMenu(id, iPos)
{
    new iPlayersNum;
    for(new i = 1; i <= 32; i++)
    {
        switch(Right[id])
        {
            case 1,2,3,4,5,6:
            {
                if(!is_user_connected(i)) continue;
                g_iMenuPlayers[id][iPlayersNum++] = i;
            }
            case 7:
            {
                if(!is_user_connected(i) || !is_user_admin(i)) continue;
                g_iMenuPlayers[id][iPlayersNum++] = i;
            }
        }
    }
    new iStart = iPos * 8;
    if(iStart > iPlayersNum) iStart = iPlayersNum;
    iStart = iStart - (iStart % 8);
    g_iMenuPosition[id] = iStart / 8;
    new iEnd = iStart + 8;
    if(iEnd > iPlayersNum) iEnd = iPlayersNum;
    new szMenu[512], iLen, iPagesNum = (iPlayersNum / 8 + ((iPlayersNum % 8) ? 1 : 0));
    switch(iPagesNum)
    {
        case 0: return PLUGIN_HANDLED;
        default:
        {
            switch(Right[id])
            {
                case 2: iLen = formatex(szMenu, charsmax(szMenu), "\yДать Вип \r[\w%d|%d\r]^n^n", iPos + 1, iPagesNum);
                case 3: iLen = formatex(szMenu, charsmax(szMenu), "\yДать Админа \r[\w%d|%d\r]^n^n", iPos + 1, iPagesNum);
                case 4: iLen = formatex(szMenu, charsmax(szMenu), "\yДать Супер Админа \r[\w%d|%d\r]^n^n", iPos + 1, iPagesNum);
                case 7: iLen = formatex(szMenu, charsmax(szMenu), "\yЗабрать привилегии \r[\w%d|%d\r]^n^n", iPos + 1, iPagesNum);
            }
        }
    }
    new szName[33], i, iKeys = (1<<9), b;
    for(new a = iStart; a < iEnd; a++)
    {
        i = g_iMenuPlayers[id][a];
        get_user_name(i, szName, charsmax(szName));
        iKeys |= (1<<b);
        switch(Right[id])
        {
            case 1,2,3,4,5,6,7: iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[\w%d\r] \w%s^n", ++b, szName);
        }
    }
    for(new i = b; i < 8; i++) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n");
    if(iEnd < iPlayersNum)
    {
        iKeys |= (1<<8);
        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^n\r[\w9\r] \wВперед^n\r[\w0\r] \w%s", iPos ? "Назад" : "Выход");
    }
    else formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r[\w0\r] \w%s",  iPos ? "Назад" : "Выход");
    return show_menu(id, iKeys, szMenu, -1, "Show_RightMenu");
}

public Handle_RightMenu(id, iKey)
{
    switch(iKey)
    {
        case 8: return Show_RightMenu(id, ++g_iMenuPosition[id]);
        case 9: return Show_RightMenu(id, --g_iMenuPosition[id]);
        default:
        {
            new iTarget = g_iMenuPlayers[id][g_iMenuPosition[id] * 8 + iKey];
            new Admin[32]; get_user_name(id, Admin, charsmax(Admin));
            new Player[32]; get_user_name(iTarget, Player, charsmax(Player));
            switch(Right[id])
            {
                case 1:
                {
                    remove_user_flags(iTarget, read_flags("abcdefghijklmnopqrstuz"));
                    set_user_flags(iTarget, read_flags("tr"));
                    UTIL_SayText(0, "!y[!g%s!y]!y Создатель !t%s !yвыдал игроку !g%s!y вип!", g_Chat, Admin, Player);
                }
                case 2:
                {
                    remove_user_flags(iTarget, read_flags("abcdefghijklmnopqrstuz"));
                    set_user_flags(iTarget, read_flags("cdefrt"));
                    UTIL_SayText(0, "!y[!g%s!y]!y Создатель !t%s !yвыдал игроку !g%s!y админку!", g_Chat, Admin, Player);
                }
                case 3:
                {
                    remove_user_flags(iTarget, read_flags("abcdefghijklmnopqrstuz"));
                    set_user_flags(iTarget, read_flags("cdefrtj"));
                    UTIL_SayText(0, "!y[!g%s!y]!y Создатель !t%s !yвыдал игроку !g%s!y супер админку!", g_Chat, Admin, Player);
                }
                case 4:
                {
                    set_user_flags(iTarget, read_flags("z"));
                    remove_user_flags(iTarget,  read_flags("abcdefghijklmnopqrstu"));
                    UTIL_SayText(0,"!y[!g%s!y]!y Создатель !t%s !yзабрал у !g%s!y все привилегии!", g_Chat , Admin, Player);
                }
            }
        }
    }
    return Show_RightMenu(id, g_iMenuPosition[id]);
}

stock UTIL_SayText(pPlayer, const szMessage[], any:...)
{
    new szBuffer[190];
    if(numargs() > 2) vformat(szBuffer, charsmax(szBuffer), szMessage, 3);
    else copy(szBuffer, charsmax(szBuffer), szMessage);
    while(replace(szBuffer, charsmax(szBuffer), "!y", "^1")) {}
    while(replace(szBuffer, charsmax(szBuffer), "!t", "^3")) {}
    while(replace(szBuffer, charsmax(szBuffer), "!g", "^4")) {}
    switch(pPlayer)
    {
        case 0:
        {
            for(new iPlayer = 1; iPlayer <= get_maxplayers(); iPlayer++)
            {
                engfunc(EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, 76, {0.0, 0.0, 0.0}, iPlayer);
                write_byte(iPlayer);
                write_string(szBuffer);
                message_end();
            }
        }
        default:
        {
            engfunc(EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, 76, {0.0, 0.0, 0.0}, pPlayer);
            write_byte(pPlayer);
            write_string(szBuffer);
            message_end();
        }
    }
}
 

r1nk0

Пользователь
Регистрация
3 Окт 2018
Сообщения
237
Симпатии
53
этот плагин не выдает паутинку,выдает доступ к ней
 
Сверху Снизу