Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <colorchat>
#define PLUGIN "Admin Menu"
#define VERSION "1.6"
#define AUTHOR "Free Man"
new AdminMenu
new SayText
new TeamPlayer[4]
new szName[33], szPlayerName[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /Menu", "CmdMenuAdmin")
SayText = get_user_msgid("SayText")
}
public CmdMenuAdmin(id)
{
if(is_user_admin(id))
{
new szText [555 char]
formatex(szText, charsmax(szText), "\y Admin Menu")
AdminMenu = menu_create(szText, "MenuHandle")
formatex(szText, charsmax(szText), "\r Revive Menu")
menu_additem(AdminMenu, szText, "1", 0)
formatex(szText, charsmax(szText), "\r GodMode Menu")
menu_additem(AdminMenu, szText, "2", 0)
formatex(szText, charsmax(szText), "\r NoClip Menu")
menu_additem(AdminMenu, szText, "3", 0)
formatex(szText, charsmax(szText), "\r Team Menu")
menu_additem(AdminMenu, szText, "4", 0)
menu_setprop(AdminMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, AdminMenu)
}
else
{
green_print(id, "%s Your Not Admin")
}
return PLUGIN_HANDLED
}
public MenuHandle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, charsmax(data), iName, charsmax(iName), callback )
new key = str_to_num(data)
switch(key)
{
case 1:
{
ReviveMenu(id)
}
case 2:
{
GodMenu(id)
}
case 3:
{
ClipMenu(id)
}
case 4:
{
ChangeTeam(id)
}
}
return PLUGIN_CONTINUE
}
/////////////////////
//*---Menu Item---*//
/////////////////////
public ReviveMenu(id)
{
new RevivePlayer = menu_create("\r Revive Menu^nChoose Player", "ReviveHandle")
new players[32], tempname[32], szTempid[10], tempid, num
get_players(players, num)
for (new i = 0; i < num; i++)
{
tempid = players [i]
get_user_name(tempid, tempname, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(RevivePlayer, tempname, szTempid, 0)
}
menu_display(id, RevivePlayer)
return PLUGIN_HANDLED
}
public GodMenu(id)
{
new GodPlayer = menu_create("\r GodMode Menu^nChoose Player", "GodHandle")
new players[32], tempname[32], szTempid[10], tempid, num
get_players(players, num, "a")
for (new i = 0; i < num; i++)
{
tempid = players [i]
get_user_name(tempid, tempname, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(GodPlayer, tempname, szTempid, 0)
}
menu_display(id, GodPlayer)
return PLUGIN_HANDLED
}
public ClipMenu(id)
{
new ClipUser = menu_create("\r NoClip Menu^nChoose Player", "ClipHandle")
new players[32], tempname[32], szTempid[10], tempid, num
get_players(players, num, "a")
for (new i = 0; i < num; i++)
{
tempid = players [i]
get_user_name(tempid, tempname, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(ClipUser, tempname, szTempid, 0)
}
menu_display(id, ClipUser)
return PLUGIN_HANDLED
}
public ChangeTeam(id)
{
new szText[ 64 ]
formatex(szText, charsmax(szText), "\rTeam Menu^nChoose Player")
new Team = menu_create(szText, "TeamHandle")
menu_items(Team)
new players[32], tempname[32], szTempid[8], tempid, num
get_players(players, num)
for (new i = 0; i < num; i++)
{
tempid = players[ i ]
get_user_team(tempid, TeamPlayer, 3)
get_user_name(tempid, tempname, 31)
num_to_str(tempid, szTempid, 7)
formatex(szText, charsmax(szText), "\y%s | \w%s", tempname, TeamPlayer)
menu_additem(Team, szText, szTempid, 0)
menu_setprop(Team, MPROP_NUMBER_COLOR, "\r")
}
menu_display(id, Team)
return PLUGIN_HANDLED
}
/////////////////////////
//*--- Handle Menu ---*//
/////////////////////////
public ReviveHandle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], name[64]
new access, callback
menu_item_getinfo(menu, item, access, data, 5, name, 63, callback)
new tempid = str_to_num(data)
get_user_name(id, szName, 32)
get_user_name(tempid, szPlayerName, 32)
ColorChat(0, GREEN, "ADMIN ^1%s: Has Revive ^4%s", szName, szPlayerName)
spawn(tempid)
give_item(tempid, "weapon_knife")
get_user_health(tempid)
get_user_armor(tempid)
return PLUGIN_HANDLED
}
public GodHandle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], name[64]
new access, callback
menu_item_getinfo(menu, item, access, data, 5, name, 63, callback)
new tempid = str_to_num(data)
get_user_name(id, szName, 32)
get_user_name(tempid, szPlayerName, 32)
if(get_user_godmode(tempid) == 0)
{
ColorChat(0, GREEN, "ADMIN ^1%s: has SetGodMod ON ^4%s", szName, szPlayerName)
set_user_godmode(tempid, 1)
}
else if(get_user_godmode(tempid) == 1)
{
ColorChat(0, GREEN, "ADMIN ^1%s: has SetGodMod OFF ^4%s", szName, szPlayerName)
set_user_godmode(tempid, 0)
}
return PLUGIN_HANDLED
}
public ClipHandle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], name[64]
new access, callback
menu_item_getinfo(menu, item, access, data, 5, name, 63, callback)
new tempid = str_to_num(data)
get_user_name(id, szName, 32)
get_user_name(tempid, szPlayerName, 32)
if(get_user_noclip(tempid) == 0)
{
ColorChat(0, GREEN, "ADMIN ^1%s: has SetNoclip ON ^4%s", szName, szPlayerName)
set_user_noclip(tempid, 1)
}
else if(get_user_noclip(tempid) == 1)
{
ColorChat(0, GREEN, "ADMIN ^1%s: has SetNoclip OFF ^4%s", szName, szPlayerName)
set_user_noclip(tempid, 0)
}
return PLUGIN_HANDLED
}
public TeamHandle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], name[64]
new access, call
menu_item_getinfo(menu, item, access, data, 5, name, 63, call)
new tempid = str_to_num(data)
get_user_name(id, szName, 32)
get_user_name(tempid, szPlayerName, 32)
if(cs_get_user_team(tempid) == CS_TEAM_CT)
{
cs_set_user_team(tempid, CS_TEAM_T)
ColorChat(0, GREEN, "ADMIN ^1%s: has Set ^4%s^3[Terroist Force]", szName, szPlayerName)
}
else if(cs_get_user_team(tempid) == CS_TEAM_T)
{
cs_set_user_team(tempid, CS_TEAM_SPECTATOR)
ColorChat(0, GREEN, "ADMIN ^1%s: has Set ^4%s^3[Spectator]", szName, szPlayerName)
}
else if(cs_get_user_team(tempid) == CS_TEAM_SPECTATOR)
{
cs_set_user_team(tempid, CS_TEAM_CT)
ColorChat(0, GREEN, "ADMIN ^1%s: has Set ^4%s^3[CT Force]", szName, szPlayerName)
}
ChangeTeam(id)
return PLUGIN_HANDLED
}
stock green_print(index, const message[], any:...)
{
new Gmsg[192]
formatex(Gmsg, 191, "^x04|ECA| ^x01%s", message)
message_begin(MSG_ALL, SayText, _, index)
write_byte(index)
write_string(Gmsg)
message_end()
}