#include <amxmod>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
 
#define OFFSET_CLIPAMMO 51
#define OFFSET_LINUX_WEAPONS 4
#define fm_cs_set_weapon_ammo(%1,%2) set_pdata_int(%1, OFFSET_CLIPAMMO, %2, OFFSET_LINUX_WEAPONS)
#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
15,//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:g_has_unlimited_clip[33]
 
public plugin_init() {
	register_plugin("Unkown","1.0","valakiakititkos")
	register_clcmd("say /bolt", "ShowMenu")
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("CurWeapon" , "Event_CurWeapon" , "be" , "1=1" );
}
public event_round_start()
{
for (new id; id <= 32; id++) g_has_unlimited_clip[id] = false;
}
public ShowMenu(id)
{
	new menu = menu_create("Shop", "mh_MyMenu");
 
	menu_additem(menu, "halk jaras(2000$)", "", 0); // case 0
	menu_additem(menu, "gyorsasag(2000$)", "", 0); // case 1
	menu_additem(menu, "vegtelen tolteny(5000$ 1 kor)", "", 0); // case 2
	menu_additem(menu, "kis gravitacio(2000$)", "", 0); // case 3
	menu_additem(menu, "500hp(4000$)", "", 0); // case 4
	menu_additem(menu, "granat pack(1000$)", "", 0); // case 5
 
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
 
	menu_display(id, menu, 0);
 
	return PLUGIN_HANDLED;
}
 
public mh_MyMenu(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_cancel(id);
		return PLUGIN_HANDLED;
	}
 
	new command[6], name[64], access, callback;
 
	menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
	new penz = cs_get_user_money(id)
	switch(item)
	{
		case 0: {
			if(penz >= 2000)
			{
				cs_set_user_money(id, penz-2000)
				set_user_footsteps(id, 0)
			}
		}
		case 1: {
			if(penz >= 2000)
			{
				cs_set_user_money(id, penz-2000)
				set_user_maxspeed(id, 500.0)
			}
		}
		case 2: {
			if(penz >= 7000)
			{
				g_has_unlimited_clip[id] = true
				cs_set_user_money(id, penz-7000)
			}
		}
		case 3: {
			if(penz >= 2000)
			{
				cs_set_user_money(id, penz-2000)
				set_user_gravity(id, 0.6)
			}
		}
		case 5: {
			if(penz >= 4000)
			{
				cs_set_user_money(id, penz-4000)
				set_user_health(id, 500)
			}
		}
		case 6: {
			if(penz >= 1000)
			{
				cs_set_user_money(id, penz-1000)
				give_item(id, "weapon_hegrenade")
				give_item(id, "weapon_flashbang")
				give_item(id, "weapon_flashbang")
				give_item(id, "weapon_smokegrenade")
			}
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public Event_CurWeapon( id )
{
	if(g_has_unlimited_clip[id] == true)
	{
		new iWeapon = read_data(2)
		if( !( NOCLIP_WPN_BS & (1<<iWeapon) ) )
		{
			fm_cs_set_weapon_ammo(id, get_pdata_cbase(id, m_pActiveItem) , g_MaxClipAmmo[ iWeapon ] )
		}
	}
}
public levesz(id)
{
	set_user_godmode(id, 0)
}