#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta_util>
 
#define PLUGIN "VIP Menu & Weapons"
#define VERSION "1.3"
#define AUTHOR "crazy"
 
#define VIP_JOG ADMIN_LEVEL_H
 
new pisztolyok[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18}
 
new kor_ido, korenged
new bool:hasznalva[32]
 
public plugin_init(){
 
	register_plugin(PLUGIN, VERSION, AUTHOR)
 
	register_event("ResetHUD", "ResetHUD", "be")
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
 
	register_clcmd("say /vipmenu","mutasd_vipet")
	register_clcmd("say /admin", "adminvesz")
	register_clcmd("say /vip","vipvesz")
 
 
	korenged = register_cvar("amx_vip_kor", "3")
}
 
public mutasd_vipet(id) 
{
	if ( ! ( get_user_flags ( id ) & VIP_JOG )  )  
	{
		ChatColor ( id, "^3[^4 D.R.$ ^3 ] ^1 Csak ^4[VIP]")
		return PLUGIN_HANDLED;
	}	
 
	new menu = menu_create("\w[\y D.R.$ \w]\r Válassz egy fegyvert!", "elojon")
 
	menu_additem(menu, "\r[\y Famas \r]\r", "1")
	menu_additem(menu, "\r[\y M4a1 \r]\r", "2")
	menu_additem(menu, "\r[\y Ak47 \r]\r", "3")
	menu_additem(menu, "\r[\y Awp \r]\r", "4")
 
	menu_setprop(menu, MPROP_NEXTNAME, "Tovább")
	menu_setprop(menu, MPROP_BACKNAME, "Vissza´")
	menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
	menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)
 
	menu_display(id,menu,0)
	return PLUGIN_HANDLED;
}
 
public elojon(id, menu, item) 
{	
	if(item == MENU_EXIT) 
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED;
	}
 
	if(is_user_alive(id)&& !hasznalva[id] )
    {
 
	if ( kor_ido <= get_pcvar_num(korenged) ) 
	{
		ChatColor ( id, "^3[^4 D.R.$ ^3 ] ^1 Minden %d. körben tudsz csak fegyvert választani", get_pcvar_num(korenged) )
		return PLUGIN_HANDLED;
	}  
 
	new data[6], iName[64], access, callback
	menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
 
	new key = str_to_num(data)
 
	switch(key) 
	{
		case 1:
		{
			give_item( id, "weapon_famas" )
			cs_set_user_bpammo( id , CSW_FAMAS, 90 )
		}
		case 2:
		{
			give_item( id, "weapon_m4a1" )
			cs_set_user_bpammo( id , CSW_M4A1, 90 )
		}
		case 3:
		{
			give_item( id, "weapon_ak47" )
			cs_set_user_bpammo( id , CSW_AK47, 90 )
		}
		case 4:
		{
			give_item( id, "weapon_awp" )
			cs_set_user_bpammo( id , CSW_AWP, 30 )
		}
	}
	hasznalva[id] = true;
	}
	else 
	{
		ChatColor ( id, "^3[^4 D.R.$ ^3 ] ^1 Már kiválaszottál egy fegyvert.." )
		return PLUGIN_HANDLED;
	} 
	return PLUGIN_HANDLED;
}
 
public event_round_start () 
{
	kor_ido++ 
	arrayset(hasznalva, false, 32)
}
 
public adminvesz(id)
{
	show_motd( id, "admin.txt", "Admin Vasarlasi Infok:" )
}
 
public vipvesz(id)
{
	show_motd( id, "vip.txt", "VIP Vasarlasi Infok:" )
}
 
public ResetHUD(id)
{
	set_task(0.5, "VIP", id + 6910)
}
 
public VIP(TaskID)
{
	new id = TaskID - 6910
 
	if (get_user_flags(id) & VIP_JOG && is_user_connected(id) && is_user_alive(id))
	{
        for (new i = 0; i < 6; i++)
		{
			if (fm_strip_user_gun(id, pisztolyok[i]))
			{
				break;
			}	
			message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
			write_byte(id)
			write_byte(4)
			message_end()	
			give_item( id, "weapon_hegrenade" )
			give_item( id, "weapon_flashbang" )
			give_item( id, "weapon_flashbang" )
			give_item( id, "weapon_smokegrenade" )
			give_item( id, "item_assaultsuit" )
			give_item( id, "item_thighpack" )
			give_item( id, "weapon_deagle")
 
			give_item( id, "ammo_50ae" )
			give_item( id, "ammo_50ae" )
			give_item( id, "ammo_50ae" )
			give_item( id, "ammo_50ae" )
			give_item( id, "ammo_50ae" )	
		}
	}
	return PLUGIN_HANDLED;
}
 
stock ChatColor(const id, const input[], any:...) 
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
 
	replace_all(msg, 190, "!g", "^4") // zoldszin
	replace_all(msg, 190, "!y ", "^1") // alapszin(sarga)
	replace_all(msg, 190, "!team", "^3") // csapatszin
	replace_all(msg, 190, "!team2", "^0") // csapat2szin
 
	if (id) players[0] = id; else get_players(players, count, "ch")
	{
		for (new i = 0; i < count; i++)
		{
			if (is_user_connected(players[i]))
			{
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
}