PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
// weapons offsets
#define OFFSET_CLIPAMMO 51
#define OFFSET_LINUX_WEAPONS 4
#define fm_cs_get_weapon_ammo(%1,%2) set_pdata_int(%1, OFFSET_CLIPAMMO, %2, OFFSET_LINUX_WEAPONS)
// players offsets
#define m_pActiveItem 373
const NOCLIP_WPN_BS = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
new const g_MaxClipAmmo[] =
{
0,
13, //CSW_P228
0,
10, //CSW_SCOUT
0, //CSW_HEGRENADE
7, //CSW_XM1014
0, //CSW_C4
30,//CSW_MAC10
30, //CSW_AUG
0, //CSW_SMOKEGRENADE
30,//CSW_ELITE
20,//CSW_FIVESEVEN
25,//CSW_UMP45
30, //CSW_SG550
35, //CSW_GALIL
25, //CSW_FAMAS
12,//CSW_USP
20,//CSW_GLOCK18
10, //CSW_AWP
30,//CSW_MP5NAVY
100,//CSW_M249
8, //CSW_M3
30, //CSW_M4A1
30,//CSW_TMP
20, //CSW_G3SG1
0, //CSW_FLASHBANG
7, //CSW_DEAGLE
30, //CSW_SG552
30, //CSW_AK47
0, //CSW_KNIFE
50//CSW_P90
}
new bool:Has_NoClip[32], bool:Has_UnlimitedClip[32];
public plugin_init()
{
register_plugin("Admin Menu", "0.2", "iTzMeHey / AlliedMods Codes");
register_clcmd("Admin_Menu", "Menu");
register_event("CurWeapon" , "Event_CurWeapon" , "be" , "1=1");
}
public client_connect(id)
{
Has_NoClip[id] = false;
Has_UnlimitedClip[id] = false;
}
public client_disconnected(id)
{
Has_NoClip[id] = false;
Has_UnlimitedClip[id] = false;
}
public Event_CurWeapon(id)
{
new iWeapon = read_data(2)
if(Has_UnlimitedClip[id])
{
if(!(NOCLIP_WPN_BS & (1<<iWeapon)))
{
fm_cs_get_weapon_ammo( get_pdata_cbase(id, m_pActiveItem) , g_MaxClipAmmo[ iWeapon ] )
}
}
}
public Menu(id)
{
if(!is_user_connected(id))
return PLUGIN_HANDLED;
if(get_user_flags(id) & ADMIN_KICK)
{
OpMenu(id);
client_print(id, print_chat, "[AMXX] Access granted");
}
else
{
client_print(id, print_chat, "[AMXX] you have no access");
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public OpMenu(id)
{
new Text[34], menu = menu_create("\rAdmin Menu", "Menu_Handler");
formatex(Text, charsmax(Text), "NoClip[%s]", Has_NoClip[id] ? "\yON" : "\rOff");
menu_additem(menu, Text, "", 0);
formatex(Text, charsmax(Text), "Unlimited Clip[%s]", Has_UnlimitedClip[id] ? "\yON" : "\rOff");
menu_additem(menu, Text, "", 0);
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public Menu_Handler(id, menu, item)
{
switch(item)
{
case 0:
{
set_user_noclip(id, !Has_NoClip[id] ? true : false);
Has_NoClip[id] = !Has_NoClip[id] ? true : false;
client_print(id, print_chat, "[AMXX] you just %s NoClip", Has_NoClip[id] ? "Enabled" : "Disabled");
Menu(id);
return PLUGIN_HANDLED;
}
case 1:
{
Has_UnlimitedClip[id] = !Has_UnlimitedClip[id] ? true : false;
client_print(id, print_chat, "[AMXX] you just %s Unlimited Clip", Has_UnlimitedClip[id] ? "Enabled" : "Disabled");
Menu(id);
return PLUGIN_HANDLED;
}
case MENU_EXIT:
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
}
// for saftey from memory leak
menu_destroy(menu);
return PLUGIN_HANDLED;
}
type Admin_Menu in console to open the menu also i set it to be opened if player has Admin Kick flag.