Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

adminkick.amxx

, Прошу небольшой помощи
Статус пользователя RepairPC
сообщение 22.7.2015, 8:12
Сообщение #1


Стаж: 11 лет

Сообщений: 218
Благодарностей: 113
Полезность: 216

Здравствуйте, ребят, может кто помочь покрасить плагин? Что бы в чате по цветному писал. Admincmd, mapsmenu, plmenu покрасил, а вот с этим не получается что то. Либо можно сделать так что бы это все отображалось в худ, как в amxbans 1.6 gm?

Игрок name был кикнут!
Причина: ?????
Админом: ?????

Исходник
Код
#include <amxmodx>

new g_iPlayerMenuPage[33];

new g_apPlayerMenuPlayers[33][32];

new g_iTarget[33];

new amx_show_activity;

public plugin_init()
{
    register_plugin("amx_kickmenu reasons addon", "0.3a Beta", "Flash");
    
    register_clcmd("amx_kickmenureason", "ClCmdKickMenu", ADMIN_KICK);
    register_clcmd("kickreason", "ClCmdCustomKickReason", ADMIN_KICK);
    
    register_menucmd(register_menuid("PlayersMenu"), 1023, "PlayersMenuHandler");
    register_menucmd(register_menuid("ReasonsMenu"), 1023, "ReasonsMenuHandler");
    
    amx_show_activity = get_cvar_pointer("amx_show_activity");
    
    register_dictionary("admincmd.txt");
    register_dictionary("common.txt");
    register_dictionary("kickmenu_reasons_addon.txt");
}

public ClCmdKickMenu(id, bitsAccess)
{
    if(!(get_user_flags(id) & bitsAccess))
    {
        console_print(id, "%L", id, "NO_ACC_COM");
        
        return PLUGIN_HANDLED;
    }
    
    PlayersMenuDisplay(id, g_iPlayerMenuPage[id] = 0);
    
    return PLUGIN_HANDLED;
}

public ClCmdCustomKickReason(id, bitsAccess)
{
    if(!(get_user_flags(id) & bitsAccess))
    {
        console_print(id, "%L", id, "NO_ACC_COM");
        
        return PLUGIN_HANDLED;
    }
    
    new iPlayer = g_iTarget[id];
    
    if(!iPlayer)
        return PLUGIN_HANDLED;
        
    new szReason[64];
    read_argv(1, szReason, 63);
    
    remove_quotes(szReason);
    
    new szTargetName[32];
    get_user_name(iPlayer, szTargetName, 31);
    
    switch(get_pcvar_num(amx_show_activity))
    {
        case 1: client_print(0, print_chat, "%L. %L: %s", id, "ADMIN_KICK_1", szTargetName, id, "CLIENT_PRINT_REASON", szReason);
        
        case 2:
        {
            new szAdminName[32];
            get_user_name(id, szAdminName, 31);
            
            client_print(0, print_chat, "%L. %L: %s", id, "ADMIN_KICK_2", szAdminName, szTargetName, id, "CLIENT_PRINT_REASON", szReason);
        }
    }

    server_cmd("kick #%d ^"%s^"", get_user_userid(iPlayer), szReason);
    server_exec();
    
    return PLUGIN_HANDLED;
}

public PlayersMenuDisplay(id, iPage)
{
    if(iPage < 0)
        return PLUGIN_CONTINUE;
    
    new apPlayers[32];
    new iPlayers;
    new szMenu[512], szName[32];
    new pPlayer;

    get_players(apPlayers, iPlayers);

    new i = min(iPage * 8, iPlayers);

    new iStart = i - (i % 8);

    new iEnd = min(iStart + 8, iPlayers);

    iPage = iStart / 8;

    g_apPlayerMenuPlayers[id] = apPlayers;
    g_iPlayerMenuPage[id] = iPage;

    new iLen = formatex(szMenu, charsmax(szMenu), "\y%L\R%d/%d^n^n", id, "KICK_MENU", iPage + 1, ((iPlayers - 1) / 8) + 1);

    new bitsKeys = MENU_KEY_0;

    new iItem;

    new bitsFlags;


    for(i = iStart; i < iEnd; i++)
    {
        pPlayer = apPlayers[i];

        get_user_name(pPlayer, szName, 31);

        bitsFlags = get_user_flags(pPlayer);

        if(bitsFlags & ADMIN_LEVEL_G && id != pPlayer)
            iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r%d. \w%s^n", ++iItem, szName);
        else if(bitsFlags > 0 && !(bitsFlags & ADMIN_USER))
        {
            bitsKeys |= (1 << iItem);

            iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r%d. \w%s \r*^n", ++iItem, szName);
        }
        else
        {
            bitsKeys |= (1 << iItem);

            iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r%d. \w%s^n", ++iItem, szName);
        }
    }

    if(iEnd < iPlayers)
    {
        bitsKeys |= MENU_KEY_9;

        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r9.\w %L^n\r0.\w %L", id, "MORE", id, iPage ? "BACK" : "EXIT");
    }
    else
        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r0.\w %L", id, iPage ? "BACK" : "EXIT");

    show_menu(id, bitsKeys, szMenu, -1, "PlayersMenu");
    
    return PLUGIN_HANDLED;
}


public PlayersMenuHandler(id, iKey)
{
    switch(iKey)
    {
        case 8: PlayersMenuDisplay(id, ++g_iPlayerMenuPage[id]);

        case 9: PlayersMenuDisplay(id, --g_iPlayerMenuPage[id]);

        default:
        {
            new iPlayer = g_apPlayerMenuPlayers[id][(g_iPlayerMenuPage[id] * 8) + iKey];

            if(!is_user_connected(iPlayer))
            {
                client_print(id, print_chat, "* %L", id, "PLAYER_HAS_LEFT_THE_SERVER");

                PlayersMenuDisplay(id, g_iPlayerMenuPage[id]);

                return PLUGIN_HANDLED;
            }


            if(id != iPlayer && (get_user_flags(iPlayer) & ADMIN_LEVEL_G))
            {
                new szTargetName[32];
                get_user_name(iPlayer, szTargetName, 31);

                client_print(id, print_chat, "* %L", id, "CLIENT_IMM", szTargetName);

                PlayersMenuDisplay(id, g_iPlayerMenuPage[id]);

                return PLUGIN_HANDLED;
            }

            g_iTarget[id] = iPlayer;
            
            ReasonsMenuDisplay(id);
        }
    }

    return PLUGIN_HANDLED;
}

public ReasonsMenuDisplay(id)
{
    new szMenu[512], szReason[64], szReasonName[16], iLen, i, bitsKeys;
    
    iLen = formatex(szMenu, charsmax(szMenu), "\y%L^n^n", id, "REASON_MENU_TITLE");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \w%L^n", id, "KNO_REASON");
    
    bitsKeys |= MENU_KEY_1;
    
    for(i = 1; i <= 7; i++)
    {
        formatex(szReasonName, 15, "KREASON_%d", i);
        formatex(szReason, 63, "%L", id, szReasonName);
        
        if(!strlen(szReason))
            break;

        iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r%d. \w%L^n", i + 1, id, szReasonName);
        
        bitsKeys |= (1 << i);
    }
    
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r9. \w%L^n", id, "KCUSTOM_REASON");
    
    bitsKeys |= MENU_KEY_9;
    
    formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r0. \w%L", id, "EXIT");
    
    bitsKeys |= MENU_KEY_0;
    
    show_menu(id, bitsKeys, szMenu, -1, "ReasonsMenu");
}

public ReasonsMenuHandler(id, iKey)
{
    if(iKey == 9)
        return PLUGIN_HANDLED;
        
    if(iKey == 8)
    {
        client_cmd(id, "messagemode kickreason");
        
        return PLUGIN_HANDLED;
    }
    
    new iPlayer = g_iTarget[id];
    
    if(!is_user_connected(iPlayer))
    {
        client_print(id, print_chat, "* %L", id, "PLAYER_HAS_LEFT_THE_SERVER");

        PlayersMenuDisplay(id, g_iPlayerMenuPage[id]);

        return PLUGIN_HANDLED;
    }

    new szTargetName[32];
    get_user_name(iPlayer, szTargetName, 31);
    
    new szReasonName[16];
    formatex(szReasonName, 15, "KREASON_%d", iKey);
    
    switch(get_pcvar_num(amx_show_activity))
    {
        case 1:
        {
            if(!iKey)
                client_print(0, print_chat, "%L", id, "ADMIN_KICK_1", szTargetName);
            else
                client_print(0, print_chat, "%L. %L: %L", id, "ADMIN_KICK_1", szTargetName, id, "CLIENT_PRINT_REASON", id, szReasonName);
        }
        
        case 2:
        {
            new szAdminName[32];
            get_user_name(id, szAdminName, 31);
            
            if(!iKey)
                client_print(0, print_chat, "%L", id, "ADMIN_KICK_2", szAdminName, szTargetName);
            else
                client_print(0, print_chat, "%L. %L: %L", id, "ADMIN_KICK_2", szAdminName, szTargetName, id, "CLIENT_PRINT_REASON", id, szReasonName);
        }
    }
    
    if(!iKey)
        server_cmd("kick #%d", get_user_userid(iPlayer));
    else
        server_cmd("kick #%d ^"%L^"", get_user_userid(iPlayer), id, szReasonName);

    server_exec();
    
    return PLUGIN_HANDLED;
}


Отредактировал: RepairPC, - 22.7.2015, 8:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя georgeml
сообщение 22.7.2015, 8:15
Сообщение #2
Стаж: 12 лет

Сообщений: 1467
Благодарностей: 439
Полезность: 423

RepairPC, Помогите с изменением цвета mapsmenu и adminvote (Пост #823732)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: