PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <colorchat>
#include <hamsandwich>
#include <cstrike>
new const VERSION[] = "1.0.0"
new const prefix[] = "[AMXX] Admin menu - "
new szName[33], szPlayerName[33]
public plugin_init()
{
register_plugin("Admin menu,", VERSION, "Ex1ne")
register_clcmd("say /adminmenu", "CmdAdminMenu")
register_clcmd("say /am", "CmdAdminMenu")
}
public CmdAdminMenu(iPlayer)
{
if(!(get_user_flags(iPlayer) & ADMIN_CFG))
{
ColorChat(iPlayer, GREY, "%s Only^4 Admins^3 can open this menu.", prefix)
return PLUGIN_HANDLED
}
new szText[555 char]
formatex(szText, charsmax(szText), "\yAdmin Menu")
new AdminMenu = menu_create(szText, "AdminMenuHandle")
formatex(szText, charsmax(szText), "\ySlap [\wChoose Player\y]")
menu_additem(AdminMenu, szText, "1", 0)
formatex(szText, charsmax(szText), "\ySlay [\wChoose Player\y]")
menu_additem(AdminMenu, szText, "2", 0)
formatex(szText, charsmax(szText), "\yRevive [\wChoose Player\y]")
menu_additem(AdminMenu, szText, "3", 0)
formatex(szText, charsmax(szText), "\yKick [\wChoose Player\y]")
menu_additem(AdminMenu, szText, "4", 0)
formatex(szText, charsmax(szText), "\yBan [\wChoose Player\y]")
menu_additem(AdminMenu, szText, "5", 0)
formatex(szText, charsmax(szText), "\yTransfer [\wChoose Player\y]")
menu_additem(AdminMenu, szText, "6", 0)
menu_setprop(AdminMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(iPlayer, AdminMenu, 0)
return PLUGIN_HANDLED
}
public AdminMenuHandle(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: SlapMenu(id)
case 2: SlayMenu(id)
case 3: ReviveMenu(id)
case 4: KickMenu(id)
case 5: BanMenu(id)
case 6: TransferMenu(id)
}
return PLUGIN_HANDLED
}
//////////////////////////////////////////
//////// PLAYER MENU
//////////////////////////////////////////
public SlapMenu(id)
{
new SlapPlayer = menu_create ("\rSlap Menu^nChoose player:", "HandleSlap")
new num, players[32], tempid, szTempID [10], tempname [32]
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 (SlapPlayer, tempname, szTempID, 0)
}
menu_display (id, SlapPlayer)
return PLUGIN_HANDLED
}
public SlayMenu(id)
{
new SlayPlayer = menu_create ("\rSlay Menu^nChoose player:", "HandleSlay")
new num, players[32], tempid, szTempID [10], tempname [32]
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 (SlayPlayer, tempname, szTempID, 0)
}
menu_display (id, SlayPlayer)
return PLUGIN_HANDLED
}
public ReviveMenu(id)
{
new RevivePlayer = menu_create ("\rRevive Menu^nChoose player:", "HandleRevive")
new num, players[32], tempid, szTempID [10], tempname [32]
get_players (players, num, "b")
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 KickMenu(id)
{
new KickPlayer = menu_create ("\rKick Menu^nChoose player:", "HandleKick")
new num, players[32], tempid, szTempID [10], tempname [32]
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(KickPlayer, tempname, szTempID, 0)
}
menu_display (id, KickPlayer)
return PLUGIN_HANDLED
}
public BanMenu(id)
{
new BanPlayer = menu_create ("\rBan Menu^nChoose player:", "HandleBan")
new num, players[32], tempid, szTempID [10], tempname [32]
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(BanPlayer, tempname, szTempID, 0)
}
menu_display (id, BanPlayer)
return PLUGIN_HANDLED
}
public TransferMenu(id)
{
new TransferPlayer = menu_create ("\rTransfer Menu^nChoose player:", "HandleTransfer")
new num, players[32], tempid, szTempID [10], tempname [32]
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(TransferPlayer, tempname, szTempID, 0)
}
menu_display (id, TransferPlayer)
return PLUGIN_HANDLED
}
//////////////////////////////////////////
//////// HANDLES
//////////////////////////////////////////
public HandleSlap(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, GREY, "%s ^4%s^3 just slapped ^4%s^3!", prefix, szName, szPlayerName)
user_slap(tempid, 0)
CmdAdminMenu(id)
return PLUGIN_CONTINUE
}
public HandleSlay(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, GREY, "%s ^4%s^3 just slayed ^4%s^3!", prefix, szName, szPlayerName)
user_silentkill(tempid)
CmdAdminMenu(id)
return PLUGIN_CONTINUE
}
public HandleRevive(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, GREY, "%s ^4%s^3 just revived ^4%s^3!", prefix, szName, szPlayerName)
ExecuteHamB(Ham_CS_RoundRespawn, tempid)
CmdAdminMenu(id)
return PLUGIN_CONTINUE
}
public HandleKick(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], name[64]
new access, callback, UserID
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)
UserID = get_user_userid(tempid)
ColorChat(0, GREY, "%s ^4%s^3 just kicked ^4%s^3!", prefix, szName, szPlayerName)
server_cmd("kick #%d", UserID)
CmdAdminMenu(id)
return PLUGIN_CONTINUE
}
public HandleBan(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], name[64]
new access, callback, UserID
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)
UserID = get_user_userid(tempid)
ColorChat(0, GREY, "%s ^4%s^3 just banned ^4%s^3 [Length:^4 30^3 minutes]!", prefix, szName, szPlayerName)
server_cmd("amx_ban ^"#%d^" ^"30^" ^"Banned by ADMIN %s^"", UserID, szName)
CmdAdminMenu(id)
return PLUGIN_CONTINUE
}
public HandleTransfer(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, GREY, "%s ^4%s^3 just transfered ^4%s^3!", prefix, szName, szPlayerName)
if(cs_get_user_team(id) == CS_TEAM_T)
{
cs_set_user_team(id, CS_TEAM_CT)
ExecuteHamB(Ham_CS_RoundRespawn, tempid)
}
if(!(cs_get_user_team(id) == CS_TEAM_T))
{
cs_set_user_team(id, CS_TEAM_T)
ExecuteHamB(Ham_CS_RoundRespawn, tempid)
}
CmdAdminMenu(id)
return PLUGIN_CONTINUE
}