Raised This Month: $51 Target: $400
 12% 

[REQ] Admin menu remake


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
zDac
Member
Join Date: Jan 2013
Old 04-17-2013 , 13:04   [REQ] Admin menu remake
Reply With Quote #1

Can someone Remake adminmenu
, "Ban"
, "Kick"
, "Slap"
, "Slay"
, "Transfer": to

, "Ban"
, "Kick"
, "Gag"
, "Slay"
, "Close":

Code:
#define COLORCHAT

#include <amxmodx>
#include <hamsandwich>
#include <cstrike>

#if defined COLORCHAT
    #include <colorchat>
#endif

#pragma semicolon    1
#define VERSION     "1.0.0"

new const g_szPrefix[] = "AMXX";

enum eCurrentMenu
{
    None
    , Ban
    , Kick
    , Slap
    , Slay
    , Transfer
};

new const g_szMenuOptions[eCurrentMenu][] = 
{
    ""
    , "Ban"
    , "Kick"
    , "Slap"
    , "Slay"
    , "Transfer"
};

    
new eCurrentMenu: g_ChosenMenu[33]
    , g_iMainMenu
;


public plugin_init()
{
    register_plugin("Admin Menu", VERSION, "Drekes");
    
    register_clcmd("say /adminmenu", "CmdAdminMenu", ADMIN_CFG);
    
    new szData[64];
    formatex(szData, charsmax(szData), "\y[\r%s\y]\w Admin Menu", g_szPrefix);
    
    g_iMainMenu = menu_create(szData, "HandleMainMenu");
    for(new eCurrentMenu: i = Ban; i < eCurrentMenu; i++)
    {
        formatex(szData, charsmax(szData), "%s menu", g_szMenuOptions[i]);
        menu_additem(g_iMainMenu, szData, "");
    }
}


public CmdAdminMenu(id, iLevel)
{
    if(get_user_flags(id) & iLevel)
        menu_display(id, g_iMainMenu);

    else
        Print(id, "You don't have access to this command!");
    return PLUGIN_HANDLED;
}


public HandleMainMenu(id, iMenu, iItem)
{
    if(iItem != MENU_EXIT)
    {
        g_ChosenMenu[id] = eCurrentMenu: (iItem + 1);
        ShowPlayerMenu(id);    
    }

    return PLUGIN_HANDLED;
}


ShowPlayerMenu(id)
{
    new iPlayers[32]
        , iNum
        , iMenu
        , szName[32]
    ;
    
    formatex(szName, charsmax(szName), "%s menu:", g_szMenuOptions[g_ChosenMenu[id]]);
    iMenu = menu_create(szName, "HandlePlayerMenu");
    
    switch(g_ChosenMenu[id])
    {
        case Slap, Slay:
            get_players(iPlayers, iNum, "a");
            
        default:
            get_players(iPlayers, iNum);
    }
    
    for(new i = 0; i < iNum; i++)
    {
        get_user_name(iPlayers[i], szName, charsmax(szName));
        menu_additem(iMenu, szName, "");
    }
    
    menu_display(id, iMenu);
}


public HandlePlayerMenu(id, iMenu, iItem)
{
    if(iItem != MENU_EXIT)
    {
        new iAccess
            , szCmd[11]
            , szName[32]
            , iCallback
            , iPlayer
        ;

        menu_item_getinfo(iMenu, iItem, iAccess, szCmd, charsmax(szCmd)
            , szName, charsmax(szName), iCallback);
        
        if((iPlayer = find_player("a", szName)))
        {
            new szAdminName[32];
            get_user_name(id, szAdminName, charsmax(szName));
            
            switch(g_ChosenMenu[id])
            {
                case Ban:
                {
                    copy(szCmd, charsmax(szCmd), "banned");                
                    server_cmd("banid ^"#%d^" ^"30^" ^"Banned by ADMIN %s^"", get_user_userid(iPlayer), szAdminName);
                }
                
                case Kick:
                {
                    copy(szCmd, charsmax(szCmd), "kicked");
                    server_cmd("kick ^"#%d^" ^"Kicked by ADMIN %s^"", get_user_userid(iPlayer), szAdminName);
                }
                
                case Slap:
                {
                    copy(szCmd, charsmax(szCmd), "slapped");
                    user_slap(iPlayer, 0);
                }
                
                case Slay:
                {
                    copy(szCmd, charsmax(szCmd), "slayed");
                    user_kill(iPlayer);
                }
                    
                case Transfer:
                {
                    copy(szCmd, charsmax(szCmd), "transfered");
                    
                    cs_set_user_team(iPlayer, cs_get_user_team(iPlayer) == CS_TEAM_T ? CS_TEAM_CT : CS_TEAM_T);
                    ExecuteHamB(Ham_CS_RoundRespawn, iPlayer);
                }
            }

            Print(0, "ADMIN ^04%s^01 %s ^04%s", szAdminName, szCmd, szName);
        }
        
        else
            Print(id, "The selected player can't be found.");
    }
    
    g_ChosenMenu[id] = None;
    
    menu_destroy(iMenu);
    return PLUGIN_HANDLED;
}


Print(id, const szMessage[], any:...)
{
    static szBuffer[192];
    vformat(szBuffer, charsmax(szBuffer), szMessage, 3);

    #if defined COLORCHAT
        ColorChat(id, GREEN, "[%s]^01 %s", g_szPrefix, szBuffer);
    #else
        replace_all(szBuffer, charsmax(szBuffer), "^01", "");
        replace_all(szBuffer, charsmax(szBuffer), "^03", "");
        replace_all(szBuffer, charsmax(szBuffer), "^04", "");
        
        client_print(id, print_chat, "[%s] %s", g_szPrefix, szBuffer);
    #endif
}
__________________
Learning AMXX.
zDac is offline
Send a message via Skype™ to zDac
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:21.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode