View Single Post
drekes
Veteran Member
Join Date: Jul 2009
Location: Vault 11
Old 01-19-2012 , 14:37   Re: [REQ] Admin Menu CS 1.6
Reply With Quote #44

Try this:

PHP 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 
eCurrentMenug_ChosenMenu[33]
    , 
g_iMainMenu
;


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


public 
CmdAdminMenu(idiLevel)
{
    if(
get_user_flags(id) & iLevel)
        
menu_display(idg_iMainMenu);

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


public 
HandleMainMenu(idiMenuiItem)
{
    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(szNamecharsmax(szName), "%s menu:"g_szMenuOptions[g_ChosenMenu[id]]);
    
iMenu menu_create(szName"HandlePlayerMenu");
    
    switch(
g_ChosenMenu[id])
    {
        case 
SlapSlay:
            
get_players(iPlayersiNum"a");
            
        default:
            
get_players(iPlayersiNum);
    }
    
    for(new 
0iNumi++)
    {
        
get_user_name(iPlayers[i], szNamecharsmax(szName));
        
menu_additem(iMenuszName"");
    }
    
    
menu_display(idiMenu);
}


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

        
menu_item_getinfo(iMenuiItemiAccessszCmdcharsmax(szCmd)
            , 
szNamecharsmax(szName), iCallback);
        
        if((
iPlayer find_player("a"szName)))
        {
            new 
szAdminName[32];
            
get_user_name(idszAdminNamecharsmax(szName));
            
            switch(
g_ChosenMenu[id])
            {
                case 
Ban:
                {
                    
copy(szCmdcharsmax(szCmd), "banned");                
                    
server_cmd("banid ^"#%d^" ^"30^" ^"Banned by ADMIN %s^"", get_user_userid(iPlayer), szAdminName);
                
}
                
                case 
Kick:
                {
                    
copy(szCmdcharsmax(szCmd), "kicked");
                    
server_cmd("kick ^"#%d^" ^"Kicked by ADMIN %s^"", get_user_userid(iPlayer), szAdminName);
                
}
                
                case 
Slap:
                {
                    
copy(szCmdcharsmax(szCmd), "slapped");
                    
user_slap(iPlayer0);
                }
                
                case 
Slay:
                {
                    
copy(szCmdcharsmax(szCmd), "slayed");
                    
user_kill(iPlayer);
                }
                    
                case 
Transfer:
                {
                    
copy(szCmdcharsmax(szCmd), "transfered");
                    
                    
cs_set_user_team(iPlayercs_get_user_team(iPlayer) == CS_TEAM_T CS_TEAM_CT CS_TEAM_T);
                    
ExecuteHamB(Ham_CS_RoundRespawniPlayer);
                }
            }

            Print(
0"ADMIN ^04%s^01 %s ^04%s"szAdminNameszCmdszName);
        }
        
        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(szBuffercharsmax(szBuffer), szMessage3);

    
#if defined COLORCHAT
        
ColorChat(idGREEN"[%s]^01 %s"g_szPrefixszBuffer);
    
#else
        
replace_all(szBuffercharsmax(szBuffer), "^01""");
        
replace_all(szBuffercharsmax(szBuffer), "^03""");
        
replace_all(szBuffercharsmax(szBuffer), "^04""");
        
        
client_print(idprint_chat"[%s] %s"g_szPrefixszBuffer);
    
#endif

__________________

Quote:
Originally Posted by nikhilgupta345 View Post
You're retarded.
drekes is offline
Send a message via MSN to drekes