I don't know what kind of ammo you use , you will have just to replace natives names properly.
PHP Code:
#include <amxmodx>
#include <fun>
new g_callback;
native my_get_user_ammo(id);
native my_set_user_ammo(id, ammount);
public plugin_init()
{
register_plugin("Ammo Shop Menu","1.0","siriusmd99")
register_clcmd("say /shop", "shop_menu")
g_callback = menu_makecallback("check_ammo");
}
public client_disconnect(id)
if(task_exists(id))
remove_task(id);
public shop_menu(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_B) || !is_user_alive(id))
return PLUGIN_HANDLED;
new data[1]
new menu = menu_create( "\r[Boost] \wGolden User [\yHuman\w]", "menu_handler" )
data[0] = 30;
menu_additem( menu, "\w200 Armor \r[\y30Ammo\r]", data, .callback = g_callback);
data[0] = 35;
menu_additem( menu, "\w500 HP \r[\y35Ammo\r]", data, .callback = g_callback);
data[0] = 40;
menu_additem( menu, "\wInvisibility 10 sec. \r[\y30Ammo\r]", data, .callback = g_callback);
data[0] = 20;
menu_additem( menu, "\wGravity 0.5 \r[\y30Ammo\r]", data, .callback = g_callback);
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_display( id, menu, 0 );
return PLUGIN_CONTINUE;
}
public check_ammo(id, Menu, item)
{
switch( item )
{
case 0: if(get_user_armor(id) >= 200) return ITEM_DISABLED;
case 1: if(get_user_health(id) >= 500) return ITEM_DISABLED;
case 2: if(task_exists(id)) return ITEM_DISABLED;
case 3: if(get_user_gravity(id) <= 0.5) return ITEM_DISABLED;
}
new szData[6], szName[64];
new item_access, item_callback;
menu_item_getinfo( Menu, item, item_access, szData,charsmax( szData ), szName,charsmax( szName ), item_callback );
return (my_get_user_ammo(id) < szData[0] ) ? ITEM_DISABLED : ITEM_ENABLED;
}
public menu_handler( id, menu, item )
{
if(!is_user_alive(id) || item == MENU_EXIT){
menu_destroy( menu );
return PLUGIN_HANDLED;
}
new szData[6], szName[64];
new item_access, item_callback;
menu_item_getinfo( menu, item, item_access, szData,charsmax( szData ), szName,charsmax( szName ), item_callback );
switch( item )
{
case 0: set_user_armor ( id, 200 )
case 1: set_user_health ( id, 500 )
case 2:{
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,0)
set_task(10.0, "reset_invisiblity", id)
}
case 3: set_user_gravity ( id, 0.5 )
}
my_set_user_ammo(id, my_get_user_ammo(id) - szData[0])
menu_destroy( menu );
return PLUGIN_HANDLED;
}
public reset_invisibility(id){
if(is_user_connected(id) && is_user_alive(id))
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,255)
}