PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <chatcolor>
#include <engine>
#include <hamsandwich>
#define ACCESS ADMIN_ADMIN
new cStatus, cHealth;
new const Version[] = "0.5";
new const PLUGIN_PREFIX[] = "[Admin Menu]";
new menu_main, menu_vip, menu_admin, menu_master;
new player_choice[33];
new choice_to_wep[3][] = {
"weapon_deagle", "weapon_p228", "weapon_fiveseven"
}
public plugin_init()
{
register_plugin( "AdminMenu" , Version , "R34Lx" );
cHealth = register_cvar("menu_health", "15");
cStatus = register_cvar("menu_status", "1");
register_clcmd( "say menu","VipMenu");
register_clcmd( "say_team menu","VipMenu");
register_clcmd( "say !menu","VipMenu");
register_clcmd( "say_team !menu","VipMenu");
register_clcmd( "say /menu","VipMenu");
register_clcmd( "say_team /menu","VipMenu");
RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 );
build_menus();
}
public FwdHamPlayerSpawn(id)
if(is_user_alive(id)
&& get_pcvar_num(cStatus)
&& get_user_flags(id) & ACCESS)
set_user_health(id, get_user_health(id) + get_pcvar_num(cHealth))
public VipMenu(id)
if(get_pcvar_num(cStatus))
menu_display(id, menu_main, 0);
build_menus()
{
menu_main = menu_create("\r[Main Menu] \yBy \rR34LX \y& \rRandom1", "menu_handler");
menu_additem(menu_main, "\rAdmin \wMenu", "1", ADMIN_MENU);
menu_additem(menu_main, "\rMaster \wMenu", "2", ADMIN_ADMIN);
menu_additem(menu_main, "\rVIP \wMenu", "3", ADMIN_CHAT);
menu_addblank(menu_main, 0);
menu_additem(menu_main, "\rBuy Admin", "4");
menu_setprop(menu_main, MPROP_EXIT, MEXIT_ALL);
menu_admin = menu_create("\r[Admin Menu] \wYou can only select 1 each map!^n\yBy \rR34LX \y& \rRandom1", "menu_handler")
menu_additem(menu_admin, "\rDeagle \w1 Bullet", "1", 0);
menu_additem(menu_admin, "\rCompact \w1 Bullet", "2", 0);
menu_additem(menu_admin, "\rFiveSeven \w1 Bullet", "3", 0);
menu_setprop(menu_admin, MPROP_EXIT, MEXIT_ALL);
menu_master = menu_create("\r[Master Menu] \wYou can only select 1 each map!^n\yBy \rR34LX \y& \rRandom1", "menu_handler")
menu_additem(menu_master, "\rCompact \w1 Bullet", "1", 0);
menu_setprop(menu_master, MPROP_EXIT, MEXIT_ALL);
menu_vip = menu_create("\r[VIP Menu] \wYou can only select 1 each map!^n\yBy \rR34LX \y& \rRandom1", "menu_handler")
menu_additem(menu_vip, "\rFiveSeven \w1 Bullet", "1", 0);
menu_setprop(menu_vip, MPROP_EXIT, MEXIT_ALL);
}
public client_connect(id)
player_choice[id] = -1;
public plugin_end()
{
menu_destroy(menu_main);
menu_destroy(menu_admin);
menu_destroy(menu_master);
menu_destroy(menu_vip);
}
public menu_handler(id, menu, item)
{
if( item == MENU_EXIT )
return PLUGIN_HANDLED;
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
if ( menu == menu_main )
{
if ( key == 4 ) show_motd(id,"buyadmin.txt","Prices of admin.");
else if ( player_choice[id] == -1 ) menu_display(id, key == 1 ? menu_admin : key == 2 ? menu_master : key == 3 ? menu_vip : menu_main, 0);
else
{
client_print_color(id, Grey, "^4%s ^3You already selected a gun for the duration of the map", PLUGIN_PREFIX);
return PLUGIN_HANDLED;
}
}
else if ( menu == menu_admin )
{
player_choice[id] = key - 1;
switch(key)
{
case 1: client_print_color(id, Grey, "^4%s ^3You selected ^4Deagle ^3whit 1 ^4Bullet", PLUGIN_PREFIX);
case 2: client_print_color(id, Grey, "^4%s ^3You selected ^4Compact ^3whit 1 ^4Bullet", PLUGIN_PREFIX);
case 3: client_print_color(id, Grey, "^4%s ^3You selected ^4FiveSeven ^3whit 1 ^4Bullet", PLUGIN_PREFIX);
}
}
else if ( menu == menu_master )
{
switch(key)
{
case 1:
{
client_print_color(id, Grey, "^4%s ^3You selected ^4Compact ^3whit 1 ^4Bullet", PLUGIN_PREFIX);
player_choice[id] = 1;
}
}
}
else if ( menu == menu_vip )
{
switch(key)
{
case 1:
{
client_print_color(id, Grey, "^4%s ^3You selected ^4FiveSeven ^3whit 1 ^4Bullet", PLUGIN_PREFIX);
player_choice[id] = 2;
}
}
}
hand_out_weapon(id);
return PLUGIN_HANDLED;
}
hand_out_weapon(id)
{
if ( -1 >= player_choice[id] || player_choice[id] > 2 ) return;
else {
give_item(id,choice_to_wep[player_choice[id]]);
cs_set_weapon_ammo(find_ent_by_owner(-1, choice_to_wep[player_choice[id]], id), 1);
}
}