Member
|
04-17-2013
, 13:04
[REQ] Admin menu remake
|
#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.
|
|