modificare meniu vip respawn

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Zpp.Mihai94
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 05 Feb 2018, 13:03
Detinator Steam: Da
CS Status: ZMXP
Detinator server CS: ZMXP.WESTCSTRIKE.RO
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time
Contact:

21 Feb 2023, 22:57

salut, poate cineva sa modifice ca la fiecare inceput de runda sa apara acest meniu vip de arme?

sursa.

Code: Select all

/* Credite: =>> Cyby <<= */
//Cvaruri (de adaugat in amxx.cfg)
/*
* 			cvar_preturi "0" //default 0                // 0 OFF/1 ON Cand tastezi /cumparavip arata motd.
*			cvar_beneficii "0" //default 0  	    // 0 OFF/1 ON Cand tastezi /vip arata motd.
*			cvar_health "10" 			    // Cata viata sa primeasca cand face kill normal.
*			cvar_headshot "18"			    // Cata viata sa primeasca cand da headshot.
*			cvar_money "400"			    // Cati bani sa primeasca cand face kill normal.
*			cvar_moneyh "500"			    // Cati bani sa primeasca cand da headshot.
*			cvar_accesshop "0" //default 0		    // 0 ON doar daca are flagurile "ab" are acces la shop   // 1 ON doar daca userul este admin   // 2 au toti playerii acces la shop   // 3 shop dezactivat.
*			cvar_healthspawn "20"			    // Cata viata sa primeasca la spawn.
*			cvar_armorspawn "20"			    // Cata armura sa primeasca la spawn.
*			cvar_putinserver "0" //default 0	    // 0 OFF numai apare mesaj cand un vip intra pe server/1 ON apare mesaj cand un vip intra pe server.
*			cvar_disconnect "0"  //default 0	    // 0 OFF numai apare mesajul cand un vip iese/1 ON apare mesajul cand un vip intra.
*			cvar_tabscore "0"  //default 0		    // 0 OFF numai apare VIP in scoreboard/1 ON apare VIP in scoreboard.
*			cvar_bonus "0"  //default 0		    // 0 OFF numai da bani si viata cand face kill/1 ON da viata si bani cand face kill/2 ON toti playerii primesc bani/viata cand fac kill.
*			cvar_spawn "0"  //default 0		    // 0 OFF numai da viata/armura/skin knife la spawn/1 ON doar pentru vip/2 ON doar daca nu are vip/3 ON doar daca este admin/4 ON pentru toti,da la tot viata/armura/skin la spawn ( VIPI + playeri normali).
*			cvar_bullets "0"  //default 0		    // 0 OFF numai arata liniile cand tragi cu arma gold/1 ON arata linii cand tragi cu arme gold.
*			cvar_mcredite "0"  //default 0		    // 0 ON poti cumpara iteme pe bani/1 ON poti cumpara iteme pe credite (pluginu-l de credite al lu' askhanar).
*			cvar_mmodels "0"   //default 0		    // 0 ON doar daca esit vip/1 OFF modele dezactivate/2 ON pentru toti playerii dupa server/3 ON doar daca esti admin.
*/
#include < amxmodx >
#include < amxmisc >
#include < fun >
#include < hamsandwich >
#include < fakemeta >
#include < cstrike >
#include < engine >
#include < fcs >
#include < arme >

#define PLUGIN "Sistem Shop si Vip"
#define VERSION "1.9a"
#define AUTHOR "C0sm1N"

#define IsPlayer(%0)    (1 <= %0 <= g_iMaxPlayers)

new bool:g_bKnife[33], bool:g_bA1[33], bool:g_bAk47[33], bool:g_bAwp[33], bool:g_bDeagle[33], bool:g_bXm[33], bool:g_bMp5[33], bool:g_bM249[33], bool:g_bFamas[33];
new Task = 123456
new g_iMaxPlayers
new bool:bSpeed[33], bool:bInvis[33];
new bullets[33];
new m_spriteTexture;

/* Knife */
new Knife_Model[66] = "models/knifevip/v_knife.mdl"
/* M4a1 */
new M4A1_Gold1[66] = "models/golden_m4a1/v_m4a1.mdl"
new M4A1_Gold2[66] = "models/golden_m4a1/p_m4a1.mdl"
new M4A1_Gold3[66] = "models/golden_m4a1/w_m4a1.mdl"
/* Ak47 */
new Ak47_Gold1[66] = "models/golden_ak47/v_ak47.mdl"
new Ak47_Gold2[66] = "models/golden_ak47/p_ak47.mdl"
new Ak47_Gold3[66] = "models/golden_ak47/w_ak47.mdl"
/* Awp */
new Awp_Gold1[66] = "models/golden_awp/v_awp.mdl"
new Awp_Gold2[66] = "models/golden_awp/p_awp.mdl"
new Awp_Gold3[66] = "models/golden_awp/w_awp.mdl"
/* Deagle */
new Deagle_Gold1[66] = "models/golden_deagle/v_golden_deagle.mdl"
new Deagle_Gold2[66] = "models/golden_deagle/p_golden_deagle.mdl"
new Deagle_Gold3[66] = "models/golden_deagle/w_deagle.mdl"
/* Xm1014 */
new Xm_Gold1[66] = "models/golden_xm/v_golden_xm1014.mdl"
new Xm_Gold2[66] = "models/golden_xm/p_golden_xm1014.mdl"
new Xm_Gold3[66] = "models/golden_xm/w_golden_xm1014.mdl"
/* Dual Mp5 */
new Mp5_Dual1[66] = "models/dual_mp5/v_dualmp5.mdl"
new Mp5_Dual2[66] = "models/dual_mp5/p_dualmp5.mdl"
/* M249 */
new M249_Gold1[66] = "models/cateaua/v_m249.mdl"
new M249_Gold2[66] = "models/cateaua/p_m249.mdl"
new M249_Gold3[66] = "models/cateaua/w_m249.mdl"
/* Famas */
new Famas_Gold1[66] = "models/famas/v_famas.mdl"
new Famas_Gold2[66] = "models/famas/p_famas.mdl"
new Famas_Gold3[66] = "models/famas/w_famas.mdl"

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("fullupdate","block_update");
	
	/* Event */
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_event( "DeathMsg", "event_deathmsg", "a" )
	register_event("CurWeapon", "event_curweapon", "be", "1=1")
	register_event("ResetHUD", "event_resethud", "be")
	register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0");

	/* Comenzi */
	register_clcmd("say /vip","cmdAvantaje")
	register_clcmd("say /cumparavip", "cmdPreturi")
	register_clcmd("say /vm","meniu_vip")
	register_clcmd("fullupdate","block")

	/* RegisterHam */
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" )
	RegisterHam(Ham_Spawn, "player", "PlayerPostSpawn", 1)

	/* Forward */
	register_forward(FM_SetModel, "fw_SetModel")
	
	/* Cvaruri */
	register_cvar("cvar_preturi","1");
	register_cvar("cvar_beneficii","1");
	register_cvar("cvar_health","4");
	register_cvar("cvar_headshot","8");
	register_cvar("cvar_money","400");
	register_cvar("cvar_moneyh","500");
	register_cvar("cvar_accesshop","0");
	register_cvar("cvar_healthspawn","20");
	register_cvar("cvar_armorspawn","20");
	register_cvar("cvar_putinserver","1");
	register_cvar("cvar_disconnect","1");
	register_cvar("cvar_tabscore","1");
	register_cvar("cvar_bonus","0");
	register_cvar("cvar_spawn","1");
	register_cvar("cvar_bullets","1");
	register_cvar("cvar_mcredite","0");
	register_cvar("cvar_mmodels","0");
	
	g_iMaxPlayers = get_maxplayers ( )
}
public block_update(id)
	return 1;
stock bool:g_Vip( id )
{
	if(get_user_flags(id) & read_flags("ab"))
		return true;
	return false;
}
public block(id) return PLUGIN_HANDLED
public event_deathmsg( id )
{
	new iKiller
	new iVictim
	new iHeadshot
	
	if(g_Vip(id) && get_cvar_num("cvar_bonus") == 1 || get_cvar_num("cvar_bonus") == 2)
	{
		iKiller = read_data(1)
		iVictim = read_data(2)
		iHeadshot = read_data(3)
		
		if(iKiller != iVictim && is_user_alive(iKiller))
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_health"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_money"))
		}
		if(iHeadshot)
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_headshot"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_moneyh"))
		}
	}
	if(get_cvar_num("cvar_bonus") == 0)
		return;
}
public event_new_round(id)
{
	new iPlayers[32], iNum;
	get_players(iPlayers, iNum)
	for(new i = 0;i < iNum; i++)
	{
		g_bAk47[iPlayers[i]] = false
		g_bA1[iPlayers[i]] = false
		g_bAwp[iPlayers[i]] = false
		g_bDeagle[iPlayers[i]] = false;
		g_bXm[iPlayers[i]] = false;
		g_bMp5[iPlayers[i]] = false;
		g_bM249[iPlayers[i]] = false;
		g_bFamas[iPlayers[i]] = false;
		bSpeed[iPlayers[i]] = false;
		set_user_maxspeed(iPlayers[i], 400.0)
		bInvis[iPlayers[i]] = false;
		set_user_rendering(iPlayers[i])
		delete_etheral(iPlayers[i])
		delete_plasmagun(iPlayers[i])
		delete_oicw(iPlayers[i])
		delete_fire(iPlayers[i])
		delete_balrog(iPlayers[i])
		delete_coilgun(iPlayers[i])
	}
}
public make_tracer(id)
{
	new clip,ammo
	new wpnid = get_user_weapon(id,clip,ammo)
	new pteam[16]
	
	get_user_team(id, pteam, 15)
	if(get_cvar_num("cvar_bullets") == 1)
	{
		if((bullets[id] > clip) && (wpnid == CSW_M4A1) && g_bA1[id] || (wpnid == CSW_AK47) && g_bAk47[id] || (wpnid == CSW_XM1014) && g_bXm[id] || (wpnid == CSW_DEAGLE) && g_bDeagle[id] || (wpnid == CSW_AWP) && g_bAwp[id] || (wpnid == CSW_MP5NAVY) && g_bMp5[id] || (wpnid == CSW_M249) && g_bM249[id] || (wpnid == CSW_FAMAS) && g_bFamas[id])
		{
			new vec1[3], vec2[3]
			get_user_origin(id, vec1, 1)
			get_user_origin(id, vec2, 4)

			message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
			write_byte (0)
			write_coord(vec1[0])
			write_coord(vec1[1])
			write_coord(vec1[2])
			write_coord(vec2[0])
			write_coord(vec2[1])
			write_coord(vec2[2])
			write_short( m_spriteTexture )
			write_byte(1)
			write_byte(5)
			write_byte(2)
			write_byte(10)
			write_byte(0)
			write_byte( 255 )
			write_byte( 215 )
			write_byte( 0 )
			write_byte(200)
			write_byte(150)
			message_end()
		}
	}
	if(get_cvar_num("cvar_bullets") == 0)
		return;
	bullets[id] = clip
}

public meniu_vip( id )
{
	if(!is_user_alive(id))
		return;
	
	if(g_Vip(id) && get_cvar_num("cvar_accesshop") == 0)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 1)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 2)
		return;
}
public afiseaza( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Iteme]","Menu_Handler")
	menu_additem ( menu,"\y Arme \r Gold","1", 0 )
	menu_additem ( menu,"\y Arme \r CSO","2", 0 )

	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}

public Menu_Handler( id, menu, item )
{
	if(!is_user_alive(id))
		return
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return
	}

	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 );

	switch ( key )
	{
		case 1: golden_arme( id )
		case 2: cso_arme( id )
	}
	menu_destroy ( menu );
	return
}

public golden_arme( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Arme]","Menu_Golden")
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[10000$]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[20 Credite]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[10000$]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[20 Credite]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Awp\yGold \r[10000$]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Awp\yGold \r[15 Credite]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[6000$]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[10 Credite]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[11000$]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[25 Credite]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[11000$]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[15 Credite]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Famas\yGold \r[10000$]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Famas\yGold \r[15 Credite]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M249\yGold \r[16000$]","8", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M249\yGold \r[35 Credite]","8", 0 )
	}
	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}
public Menu_Golden( id, menu, item)
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return 1;
	}
	
	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 );
	new pcredite = fcs_get_user_credits(id)
	new cost = cs_get_user_money(id)
	
	switch ( key )
	{
		case 1:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 2:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 3:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 4:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 6000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 6000)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new money = 6000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 10)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 10)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new credits = 10 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i cerdite",credits)
					return 1
				}
			}
		}
		case 5:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 25)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 25)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new credits = 25 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 6:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 7:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 8:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 35)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 35)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 35 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
	}
	menu_destroy ( menu );
	return 1;
}
public cso_arme( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Arme]","Menu_CSO")
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Etheral \r[16000$]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Etheral \r[60 Credite]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Thunder \r[14000$]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Thunder \r[40 Credite]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Coil Gun \r[15000$]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Coil Gun \r[50 Credite]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Plasma Gun \r[16000$]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Plasma Gun \r[55 Credite]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Oicw Gun \r[14000$]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Oicw Gun \r[45 Credite]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Firecracker Gun \r[16000$]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Firecracker Gun \r[60 Credite]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Balrog Gun \r[16000$]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Balrog Gun \r[55 Credite]","7", 0 )
	}
	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}
public Menu_CSO( id, menu, item )
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return 1;
	}
	
	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 );
	new pcredite = fcs_get_user_credits(id)
	new cost = cs_get_user_money(id)
	
	switch ( key )
	{
		case 1:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_etheral(id)
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 60)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 60)
					give_etheral(id)
				}
				else
				{
					new credits = 60 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 2:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 14000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 14000)
					givee_tunder(id)
				}
				else
				{
					new money = 14000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 40)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 40)
					givee_tunder(id)
				}
				else
				{
					new credits = 40 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 3:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 15000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 15000)
					give_coilgun(id)
				}
				else
				{
					new money = 15000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 50)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 50)
					give_coilgun(id)
				}
				else
				{
					new credits = 50 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 4:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_plasmagun(id)
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 55)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 55)
					give_plasmagun(id)
				}
				else
				{
					new credits = 55 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 5:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 14000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 14000)
					give_oicw(id)
				}
				else
				{
					new money = 14000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 45)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 45)
					give_oicw(id)
				}
				else
				{
					new credits = 45 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 6:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_fire(id)
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 60)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 60)
					give_fire(id)
				}
				else
				{
					new credits = 60 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 7:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_balrog(id)
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 55)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 55)
					give_fire(id)
				}
				else
				{
					new credits = 55 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
	}
	menu_destroy ( menu );
	return 1;
}

public GodmodeOFF(id) set_user_godmode(id, 0)
public InvisOFF(id) {
	set_user_rendering(id)
	bInvis[id] = false;
}
public event_resethud( id )
{	
	if(get_cvar_num("cvar_tabscore") == 1)
		set_task(1.0,"cmdTabscore",id+Task)
	if(get_cvar_num("cvar_tabscore") == 0)
		return;
}
public cmdTabscore(taskid)
{
	new id = taskid - Task
	
	if(g_Vip(id) && is_user_connected(id))
	{
		message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
		write_byte( id )
		write_byte( 4 )
		message_end()
	}
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage )
{
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) )
			SetHamParamFloat ( 4, fDamage * 1.1 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AWP && g_bAwp[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AK47 && g_bAk47[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M4A1 && g_bA1[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_DEAGLE && g_bDeagle[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.2 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_XM1014 && g_bXm[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_MP5NAVY && g_bMp5[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M249 && g_bM249[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_FAMAS && g_bFamas[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		return HAM_IGNORED
}
public client_disconnect( id )
{
	if(g_Vip(id) && get_cvar_num("cvar_disconnect") == 1)
	{
		g_bKnife[id] = false
		new szName[32]
		get_user_name(id, szName, 31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !ysa deconectat",szName)
	}
	if(get_cvar_num("cvar_disconnect") == 0)
		return;
}
public client_putinserver(id)
{
	if(g_Vip(id) && get_cvar_num("cvar_putinserver") == 1)
	{
		new szName[32]
		get_user_name(id, szName,31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !yse conecteaza",szName)
	}
	if(get_cvar_num("cvar_putinserver") == 0)
		return;
}
public cmdAvantaje(id)
{
	if(get_cvar_num("cvar_beneficii") == 1)
		show_motd(id, "vip.txt")

	if(get_cvar_num("cvar_beneficii") == 0)
		return;
}
public cmdPreturi( id )
{
	if(get_cvar_num("cvar_preturi") == 1)
		show_motd(id, "/addons/amxmodx/configs/preturi_ranguri_motd.html")
	if(get_cvar_num("cvar_preturi") == 0)
		return;
}
public PlayerPostSpawn( id )
{
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 1)
		player_spawn( id )
	if(get_cvar_num("cvar_spawn") == 0)
		return;
	if(!g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 2)
		player_spawn( id )
	if(is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 3)
		player_spawn( id )
	if(is_user_alive(id) && get_cvar_num("cvar_spawn") == 4)
		player_spawn( id )
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 0 || is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2 || is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2) {
		new CsTeams:userTeam = cs_get_user_team(id)
		switch(userTeam)
		{
			case 1:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipt");
				client_cmd(id, "cl_minmodels 0");
			}
			case 2:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipct");
				client_cmd(id, "cl_minmodels 0");
			}
		}
		if(get_cvar_num("cvar_mmodels") == 1)
			return;
	}
}
public player_spawn( id ) {
	
	give_item(id, "weapon_hegrenade")
	set_user_health(id, get_user_health(id) + get_cvar_num("cvar_healthspawn"))
	set_user_armor(id, get_user_armor(id) + get_cvar_num("cvar_armorspawn"))
	g_bKnife[id] = true
}
public plugin_precache()
{
	precache_model(Knife_Model)
	
	precache_model(M4A1_Gold1)
	precache_model(M4A1_Gold2)
	precache_model(M4A1_Gold3)
	
	precache_model(Ak47_Gold1)
	precache_model(Ak47_Gold2)
	precache_model(Ak47_Gold3)
	
	precache_model(Awp_Gold1)
	precache_model(Awp_Gold2)
	precache_model(Awp_Gold3)
	
	precache_model(Deagle_Gold1)
	precache_model(Deagle_Gold2)
	precache_model(Deagle_Gold3)
	
	precache_model(Xm_Gold1)
	precache_model(Xm_Gold2)
	precache_model(Xm_Gold3)
	
	precache_model(Mp5_Dual1)
	precache_model(Mp5_Dual2)
	
	precache_model(M249_Gold1)
	precache_model(M249_Gold2)
	precache_model(M249_Gold3)
	
	precache_model(Famas_Gold1)
	precache_model(Famas_Gold2)
	precache_model(Famas_Gold3)

	precache_model("models/player/vipct/vipct.mdl");
	precache_model("models/player/vipt/vipt.mdl");
	precache_model("models/rpgrocket.mdl"); // pentru a functiona corect..fara asta pica server-ul cateodata.
	
	m_spriteTexture = precache_model("sprites/dot.spr")
}
public event_curweapon( id )
{
	if(get_user_weapon(id) == CSW_KNIFE && g_bKnife[id])
		set_pev(id, pev_viewmodel2, Knife_Model)
	else if(get_user_weapon(id) == CSW_M4A1 && g_bA1[id])
	{
		set_pev(id, pev_viewmodel2, M4A1_Gold1)
		set_pev(id, pev_weaponmodel2, M4A1_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AK47 && g_bAk47[id])
	{
		set_pev(id, pev_viewmodel2, Ak47_Gold1)
		set_pev(id, pev_weaponmodel2, Ak47_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AWP && g_bAwp[id])
	{
		set_pev(id, pev_viewmodel2, Awp_Gold1)
		set_pev(id, pev_weaponmodel2, Awp_Gold2)
	}
	else if(get_user_weapon(id) == CSW_DEAGLE && g_bDeagle[id])
	{
		set_pev(id, pev_viewmodel2, Deagle_Gold1)
		set_pev(id, pev_weaponmodel2, Deagle_Gold2)
	}
	else if(get_user_weapon(id) == CSW_XM1014 && g_bXm[id])
	{
		set_pev(id, pev_viewmodel2, Xm_Gold1)
		set_pev(id, pev_weaponmodel2, Xm_Gold2)
	}
	else if(get_user_weapon(id) == CSW_MP5NAVY && g_bMp5[id])
	{
		set_pev(id, pev_viewmodel2, Mp5_Dual1)
		set_pev(id, pev_weaponmodel2, Mp5_Dual2)
	}
	else if(get_user_weapon(id) == CSW_M249 && g_bM249[id])
	{
		set_pev(id, pev_viewmodel2, M249_Gold1)
		set_pev(id, pev_weaponmodel2, M249_Gold2)
	}
	else if(get_user_weapon(id) == CSW_FAMAS && g_bFamas[id])
	{
		set_pev(id, pev_viewmodel2, Famas_Gold1)
		set_pev(id, pev_weaponmodel2, Famas_Gold2)
	}
	if(bSpeed[id])
		set_user_maxspeed(id, 800.0)
	if(bInvis[id])
		set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
}
public fw_SetModel( entity, model[ ] )
{
	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static szClassName[33]
	pev(entity, pev_classname, szClassName, charsmax(szClassName))
	
	if(!equal(szClassName, "weaponbox"))
		return FMRES_IGNORED;   
	
	static id;
	id = pev(entity, pev_owner)
	
	if(equal(model, "models/w_ak47.mdl"))
	{
		if(g_bAk47[id])
		{
			engfunc(EngFunc_SetModel, entity, Ak47_Gold3)
			
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_awp.mdl"))
	{
		if(g_bAwp[id])
		{
			engfunc(EngFunc_SetModel, entity, Awp_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_xm1014.mdl"))
	{
		if(g_bXm[id])
		{
			engfunc(EngFunc_SetModel, entity, Xm_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m4a1.mdl"))
	{
		if(g_bA1[id])
		{
			engfunc(EngFunc_SetModel, entity, M4A1_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_deagle.mdl"))
	{
		if(g_bDeagle[id])
		{
			engfunc(EngFunc_SetModel, entity, Deagle_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m249.mdl"))
	{
		if(g_bM249[id])
		{
			engfunc(EngFunc_SetModel, entity, M249_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_famas.mdl"))
	{
		if(g_bFamas[id])
		{
			engfunc(EngFunc_SetModel, entity, Famas_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED
}
stock chat_color(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
	
	replace_all(msg, 190, "!g", "^4")
	replace_all(msg, 190, "!y", "^1")
	replace_all(msg, 190, "!team", "^3")
	
	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();
		}
	}
	}
}
RoyalServer 2
User avatar
CyBer[N]eTicK
Membru, skill +1
Membru, skill +1
Posts: 190
Joined: 29 May 2020, 05:35
Detinator Steam: Da
CS Status: Strong & Original
Detinator server CS: BB.BLACKGAMES.RO
SteamID: /id/cybernetick_cbk/
Fond eXtream: 0
Location: Albania, tirana
Discord: cybernetick_cbk
Has thanked: 21 times
Been thanked: 18 times
Contact:

22 Feb 2023, 11:35

Code: Select all

/* Credite: =>> Cyby <<= */
//Cvaruri (de adaugat in amxx.cfg)
/*
* 			cvar_preturi "0" //default 0                // 0 OFF/1 ON Cand tastezi /cumparavip arata motd.
*			cvar_beneficii "0" //default 0  	    // 0 OFF/1 ON Cand tastezi /vip arata motd.
*			cvar_health "10" 			    // Cata viata sa primeasca cand face kill normal.
*			cvar_headshot "18"			    // Cata viata sa primeasca cand da headshot.
*			cvar_money "400"			    // Cati bani sa primeasca cand face kill normal.
*			cvar_moneyh "500"			    // Cati bani sa primeasca cand da headshot.
*			cvar_accesshop "0" //default 0		    // 0 ON doar daca are flagurile "ab" are acces la shop   // 1 ON doar daca userul este admin   // 2 au toti playerii acces la shop   // 3 shop dezactivat.
*			cvar_healthspawn "20"			    // Cata viata sa primeasca la spawn.
*			cvar_armorspawn "20"			    // Cata armura sa primeasca la spawn.
*			cvar_putinserver "0" //default 0	    // 0 OFF numai apare mesaj cand un vip intra pe server/1 ON apare mesaj cand un vip intra pe server.
*			cvar_disconnect "0"  //default 0	    // 0 OFF numai apare mesajul cand un vip iese/1 ON apare mesajul cand un vip intra.
*			cvar_tabscore "0"  //default 0		    // 0 OFF numai apare VIP in scoreboard/1 ON apare VIP in scoreboard.
*			cvar_bonus "0"  //default 0		    // 0 OFF numai da bani si viata cand face kill/1 ON da viata si bani cand face kill/2 ON toti playerii primesc bani/viata cand fac kill.
*			cvar_spawn "0"  //default 0		    // 0 OFF numai da viata/armura/skin knife la spawn/1 ON doar pentru vip/2 ON doar daca nu are vip/3 ON doar daca este admin/4 ON pentru toti,da la tot viata/armura/skin la spawn ( VIPI + playeri normali).
*			cvar_bullets "0"  //default 0		    // 0 OFF numai arata liniile cand tragi cu arma gold/1 ON arata linii cand tragi cu arme gold.
*			cvar_mcredite "0"  //default 0		    // 0 ON poti cumpara iteme pe bani/1 ON poti cumpara iteme pe credite (pluginu-l de credite al lu' askhanar).
*			cvar_mmodels "0"   //default 0		    // 0 ON doar daca esit vip/1 OFF modele dezactivate/2 ON pentru toti playerii dupa server/3 ON doar daca esti admin.
*/
#include < amxmodx >
#include < amxmisc >
#include < fun >
#include < hamsandwich >
#include < fakemeta >
#include < cstrike >
#include < engine >
#include < fcs >
#include < arme >

#define PLUGIN "Sistem Shop si Vip"
#define VERSION "1.9a"
#define AUTHOR "C0sm1N"

#define IsPlayer(%0)    (1 <= %0 <= g_iMaxPlayers)

new bool:g_bKnife[33], bool:g_bA1[33], bool:g_bAk47[33], bool:g_bAwp[33], bool:g_bDeagle[33], bool:g_bXm[33], bool:g_bMp5[33], bool:g_bM249[33], bool:g_bFamas[33];
new Task = 123456
new g_iMaxPlayers
new bool:bSpeed[33], bool:bInvis[33];
new bullets[33];
new m_spriteTexture;

/* Knife */
new Knife_Model[66] = "models/knifevip/v_knife.mdl"
/* M4a1 */
new M4A1_Gold1[66] = "models/golden_m4a1/v_m4a1.mdl"
new M4A1_Gold2[66] = "models/golden_m4a1/p_m4a1.mdl"
new M4A1_Gold3[66] = "models/golden_m4a1/w_m4a1.mdl"
/* Ak47 */
new Ak47_Gold1[66] = "models/golden_ak47/v_ak47.mdl"
new Ak47_Gold2[66] = "models/golden_ak47/p_ak47.mdl"
new Ak47_Gold3[66] = "models/golden_ak47/w_ak47.mdl"
/* Awp */
new Awp_Gold1[66] = "models/golden_awp/v_awp.mdl"
new Awp_Gold2[66] = "models/golden_awp/p_awp.mdl"
new Awp_Gold3[66] = "models/golden_awp/w_awp.mdl"
/* Deagle */
new Deagle_Gold1[66] = "models/golden_deagle/v_golden_deagle.mdl"
new Deagle_Gold2[66] = "models/golden_deagle/p_golden_deagle.mdl"
new Deagle_Gold3[66] = "models/golden_deagle/w_deagle.mdl"
/* Xm1014 */
new Xm_Gold1[66] = "models/golden_xm/v_golden_xm1014.mdl"
new Xm_Gold2[66] = "models/golden_xm/p_golden_xm1014.mdl"
new Xm_Gold3[66] = "models/golden_xm/w_golden_xm1014.mdl"
/* Dual Mp5 */
new Mp5_Dual1[66] = "models/dual_mp5/v_dualmp5.mdl"
new Mp5_Dual2[66] = "models/dual_mp5/p_dualmp5.mdl"
/* M249 */
new M249_Gold1[66] = "models/cateaua/v_m249.mdl"
new M249_Gold2[66] = "models/cateaua/p_m249.mdl"
new M249_Gold3[66] = "models/cateaua/w_m249.mdl"
/* Famas */
new Famas_Gold1[66] = "models/famas/v_famas.mdl"
new Famas_Gold2[66] = "models/famas/p_famas.mdl"
new Famas_Gold3[66] = "models/famas/w_famas.mdl"

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("fullupdate","block_update");
	
	/* Event */
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_event( "DeathMsg", "event_deathmsg", "a" )
	register_event("CurWeapon", "event_curweapon", "be", "1=1")
	register_event("ResetHUD", "event_resethud", "be")
	register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0");

	/* Comenzi */
	register_clcmd("say /vip","cmdAvantaje")
	register_clcmd("say /cumparavip", "cmdPreturi")
	register_clcmd("say /vm","meniu_vip")
	register_clcmd("fullupdate","block")

	/* RegisterHam */
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" )
	RegisterHam(Ham_Spawn, "player", "PlayerPostSpawn", 1)

	/* Forward */
	register_forward(FM_SetModel, "fw_SetModel")
	
	/* Cvaruri */
	register_cvar("cvar_preturi","1");
	register_cvar("cvar_beneficii","1");
	register_cvar("cvar_health","4");
	register_cvar("cvar_headshot","8");
	register_cvar("cvar_money","400");
	register_cvar("cvar_moneyh","500");
	register_cvar("cvar_accesshop","0");
	register_cvar("cvar_healthspawn","20");
	register_cvar("cvar_armorspawn","20");
	register_cvar("cvar_putinserver","1");
	register_cvar("cvar_disconnect","1");
	register_cvar("cvar_tabscore","1");
	register_cvar("cvar_bonus","0");
	register_cvar("cvar_spawn","1");
	register_cvar("cvar_bullets","1");
	register_cvar("cvar_mcredite","0");
	register_cvar("cvar_mmodels","0");
	
	g_iMaxPlayers = get_maxplayers ( )
}
public block_update(id)
	return 1;
stock bool:g_Vip( id )
{
	if(get_user_flags(id) & read_flags("ab"))
		return true;
	return false;
}
public block(id) return PLUGIN_HANDLED
public event_deathmsg( id )
{
	new iKiller
	new iVictim
	new iHeadshot
	
	if(g_Vip(id) && get_cvar_num("cvar_bonus") == 1 || get_cvar_num("cvar_bonus") == 2)
	{
		iKiller = read_data(1)
		iVictim = read_data(2)
		iHeadshot = read_data(3)
		
		if(iKiller != iVictim && is_user_alive(iKiller))
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_health"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_money"))
		}
		if(iHeadshot)
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_headshot"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_moneyh"))
		}
	}
	if(get_cvar_num("cvar_bonus") == 0)
		return;
}
public event_new_round(id)
{
	new iPlayers[32], iNum;
	get_players(iPlayers, iNum)
	for(new i = 0;i < iNum; i++)
	{
		g_bAk47[iPlayers[i]] = false
		g_bA1[iPlayers[i]] = false
		g_bAwp[iPlayers[i]] = false
		g_bDeagle[iPlayers[i]] = false;
		g_bXm[iPlayers[i]] = false;
		g_bMp5[iPlayers[i]] = false;
		g_bM249[iPlayers[i]] = false;
		g_bFamas[iPlayers[i]] = false;
		bSpeed[iPlayers[i]] = false;
		set_user_maxspeed(iPlayers[i], 400.0)
		bInvis[iPlayers[i]] = false;
		set_user_rendering(iPlayers[i])
		delete_etheral(iPlayers[i])
		delete_plasmagun(iPlayers[i])
		delete_oicw(iPlayers[i])
		delete_fire(iPlayers[i])
		delete_balrog(iPlayers[i])
		delete_coilgun(iPlayers[i])
	}
}
public make_tracer(id)
{
	new clip,ammo
	new wpnid = get_user_weapon(id,clip,ammo)
	new pteam[16]
	
	get_user_team(id, pteam, 15)
	if(get_cvar_num("cvar_bullets") == 1)
	{
		if((bullets[id] > clip) && (wpnid == CSW_M4A1) && g_bA1[id] || (wpnid == CSW_AK47) && g_bAk47[id] || (wpnid == CSW_XM1014) && g_bXm[id] || (wpnid == CSW_DEAGLE) && g_bDeagle[id] || (wpnid == CSW_AWP) && g_bAwp[id] || (wpnid == CSW_MP5NAVY) && g_bMp5[id] || (wpnid == CSW_M249) && g_bM249[id] || (wpnid == CSW_FAMAS) && g_bFamas[id])
		{
			new vec1[3], vec2[3]
			get_user_origin(id, vec1, 1)
			get_user_origin(id, vec2, 4)

			message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
			write_byte (0)
			write_coord(vec1[0])
			write_coord(vec1[1])
			write_coord(vec1[2])
			write_coord(vec2[0])
			write_coord(vec2[1])
			write_coord(vec2[2])
			write_short( m_spriteTexture )
			write_byte(1)
			write_byte(5)
			write_byte(2)
			write_byte(10)
			write_byte(0)
			write_byte( 255 )
			write_byte( 215 )
			write_byte( 0 )
			write_byte(200)
			write_byte(150)
			message_end()
		}
	}
	if(get_cvar_num("cvar_bullets") == 0)
		return;
	bullets[id] = clip
}

public meniu_vip( id )
{
	if(!is_user_alive(id))
		return;
	
	if(g_Vip(id) && get_cvar_num("cvar_accesshop") == 0)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 1)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 2)
		return;
}
public afiseaza( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Iteme]","Menu_Handler")
	menu_additem ( menu,"\y Arme \r Gold","1", 0 )
	menu_additem ( menu,"\y Arme \r CSO","2", 0 )

	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}

public Menu_Handler( id, menu, item )
{
	if(!is_user_alive(id))
		return
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return
	}

	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 );

	switch ( key )
	{
		case 1: golden_arme( id )
		case 2: cso_arme( id )
	}
	menu_destroy ( menu );
	return
}

public golden_arme( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Arme]","Menu_Golden")
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[10000$]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[20 Credite]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[10000$]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[20 Credite]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Awp\yGold \r[10000$]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Awp\yGold \r[15 Credite]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[6000$]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[10 Credite]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[11000$]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[25 Credite]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[11000$]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[15 Credite]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Famas\yGold \r[10000$]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Famas\yGold \r[15 Credite]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M249\yGold \r[16000$]","8", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M249\yGold \r[35 Credite]","8", 0 )
	}
	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}
public Menu_Golden( id, menu, item)
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return 1;
	}
	
	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 );
	new pcredite = fcs_get_user_credits(id)
	new cost = cs_get_user_money(id)
	
	switch ( key )
	{
		case 1:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 2:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 3:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 4:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 6000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 6000)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new money = 6000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 10)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 10)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new credits = 10 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i cerdite",credits)
					return 1
				}
			}
		}
		case 5:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 25)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 25)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new credits = 25 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 6:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 7:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 8:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 35)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 35)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 35 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
	}
	menu_destroy ( menu );
	return 1;
}
public cso_arme( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Arme]","Menu_CSO")
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Etheral \r[16000$]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Etheral \r[60 Credite]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Thunder \r[14000$]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Thunder \r[40 Credite]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Coil Gun \r[15000$]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Coil Gun \r[50 Credite]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Plasma Gun \r[16000$]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Plasma Gun \r[55 Credite]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Oicw Gun \r[14000$]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Oicw Gun \r[45 Credite]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Firecracker Gun \r[16000$]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Firecracker Gun \r[60 Credite]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Balrog Gun \r[16000$]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Balrog Gun \r[55 Credite]","7", 0 )
	}
	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}
public Menu_CSO( id, menu, item )
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return 1;
	}
	
	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 );
	new pcredite = fcs_get_user_credits(id)
	new cost = cs_get_user_money(id)
	
	switch ( key )
	{
		case 1:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_etheral(id)
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 60)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 60)
					give_etheral(id)
				}
				else
				{
					new credits = 60 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 2:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 14000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 14000)
					givee_tunder(id)
				}
				else
				{
					new money = 14000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 40)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 40)
					givee_tunder(id)
				}
				else
				{
					new credits = 40 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 3:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 15000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 15000)
					give_coilgun(id)
				}
				else
				{
					new money = 15000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 50)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 50)
					give_coilgun(id)
				}
				else
				{
					new credits = 50 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 4:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_plasmagun(id)
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 55)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 55)
					give_plasmagun(id)
				}
				else
				{
					new credits = 55 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 5:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 14000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 14000)
					give_oicw(id)
				}
				else
				{
					new money = 14000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 45)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 45)
					give_oicw(id)
				}
				else
				{
					new credits = 45 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 6:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_fire(id)
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 60)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 60)
					give_fire(id)
				}
				else
				{
					new credits = 60 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 7:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
   			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_balrog(id)
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 55)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 55)
					give_fire(id)
				}
				else
				{
					new credits = 55 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
	}
	menu_destroy ( menu );
	return 1;
}

public GodmodeOFF(id) set_user_godmode(id, 0)
public InvisOFF(id) {
	set_user_rendering(id)
	bInvis[id] = false;
}
public event_resethud( id )
{	
	if(get_cvar_num("cvar_tabscore") == 1)
		set_task(1.0,"cmdTabscore",id+Task)
	if(get_cvar_num("cvar_tabscore") == 0)
		return;
}
public cmdTabscore(taskid)
{
	new id = taskid - Task
	
	if(g_Vip(id) && is_user_connected(id))
	{
		message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
		write_byte( id )
		write_byte( 4 )
		message_end()
	}
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage )
{
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) )
			SetHamParamFloat ( 4, fDamage * 1.1 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AWP && g_bAwp[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AK47 && g_bAk47[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M4A1 && g_bA1[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_DEAGLE && g_bDeagle[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.2 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_XM1014 && g_bXm[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_MP5NAVY && g_bMp5[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M249 && g_bM249[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_FAMAS && g_bFamas[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		return HAM_IGNORED
}
public client_disconnect( id )
{
	if(g_Vip(id) && get_cvar_num("cvar_disconnect") == 1)
	{
		g_bKnife[id] = false
		new szName[32]
		get_user_name(id, szName, 31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !ysa deconectat",szName)
	}
	if(get_cvar_num("cvar_disconnect") == 0)
		return;
}
public client_putinserver(id)
{
	if(g_Vip(id) && get_cvar_num("cvar_putinserver") == 1)
	{
		new szName[32]
		get_user_name(id, szName,31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !yse conecteaza",szName)
	}
	if(get_cvar_num("cvar_putinserver") == 0)
		return;
}
public cmdAvantaje(id)
{
	if(get_cvar_num("cvar_beneficii") == 1)
		show_motd(id, "vip.txt")

	if(get_cvar_num("cvar_beneficii") == 0)
		return;
}
public cmdPreturi( id )
{
	if(get_cvar_num("cvar_preturi") == 1)
		show_motd(id, "/addons/amxmodx/configs/preturi_ranguri_motd.html")
	if(get_cvar_num("cvar_preturi") == 0)
		return;
}
public PlayerPostSpawn( id )
{
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 1)
		player_spawn( id )
	if(get_cvar_num("cvar_spawn") == 0)
		return;
	if(!g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 2)
		player_spawn( id )
	if(is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 3)
		player_spawn( id )
	if(is_user_alive(id) && get_cvar_num("cvar_spawn") == 4)
		player_spawn( id )
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 0 || is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2 || is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2) {
		new CsTeams:userTeam = cs_get_user_team(id)
		switch(userTeam)
		{
			case 1:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipt");
				client_cmd(id, "cl_minmodels 0");
			}
			case 2:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipct");
				client_cmd(id, "cl_minmodels 0");
			}
		}
		if(get_cvar_num("cvar_mmodels") == 1)
			return;
	}
	afiseaza(id);
}
public player_spawn( id ) {
	
	give_item(id, "weapon_hegrenade")
	set_user_health(id, get_user_health(id) + get_cvar_num("cvar_healthspawn"))
	set_user_armor(id, get_user_armor(id) + get_cvar_num("cvar_armorspawn"))
	g_bKnife[id] = true
}
public plugin_precache()
{
	precache_model(Knife_Model)
	
	precache_model(M4A1_Gold1)
	precache_model(M4A1_Gold2)
	precache_model(M4A1_Gold3)
	
	precache_model(Ak47_Gold1)
	precache_model(Ak47_Gold2)
	precache_model(Ak47_Gold3)
	
	precache_model(Awp_Gold1)
	precache_model(Awp_Gold2)
	precache_model(Awp_Gold3)
	
	precache_model(Deagle_Gold1)
	precache_model(Deagle_Gold2)
	precache_model(Deagle_Gold3)
	
	precache_model(Xm_Gold1)
	precache_model(Xm_Gold2)
	precache_model(Xm_Gold3)
	
	precache_model(Mp5_Dual1)
	precache_model(Mp5_Dual2)
	
	precache_model(M249_Gold1)
	precache_model(M249_Gold2)
	precache_model(M249_Gold3)
	
	precache_model(Famas_Gold1)
	precache_model(Famas_Gold2)
	precache_model(Famas_Gold3)

	precache_model("models/player/vipct/vipct.mdl");
	precache_model("models/player/vipt/vipt.mdl");
	precache_model("models/rpgrocket.mdl"); // pentru a functiona corect..fara asta pica server-ul cateodata.
	
	m_spriteTexture = precache_model("sprites/dot.spr")
}
public event_curweapon( id )
{
	if(get_user_weapon(id) == CSW_KNIFE && g_bKnife[id])
		set_pev(id, pev_viewmodel2, Knife_Model)
	else if(get_user_weapon(id) == CSW_M4A1 && g_bA1[id])
	{
		set_pev(id, pev_viewmodel2, M4A1_Gold1)
		set_pev(id, pev_weaponmodel2, M4A1_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AK47 && g_bAk47[id])
	{
		set_pev(id, pev_viewmodel2, Ak47_Gold1)
		set_pev(id, pev_weaponmodel2, Ak47_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AWP && g_bAwp[id])
	{
		set_pev(id, pev_viewmodel2, Awp_Gold1)
		set_pev(id, pev_weaponmodel2, Awp_Gold2)
	}
	else if(get_user_weapon(id) == CSW_DEAGLE && g_bDeagle[id])
	{
		set_pev(id, pev_viewmodel2, Deagle_Gold1)
		set_pev(id, pev_weaponmodel2, Deagle_Gold2)
	}
	else if(get_user_weapon(id) == CSW_XM1014 && g_bXm[id])
	{
		set_pev(id, pev_viewmodel2, Xm_Gold1)
		set_pev(id, pev_weaponmodel2, Xm_Gold2)
	}
	else if(get_user_weapon(id) == CSW_MP5NAVY && g_bMp5[id])
	{
		set_pev(id, pev_viewmodel2, Mp5_Dual1)
		set_pev(id, pev_weaponmodel2, Mp5_Dual2)
	}
	else if(get_user_weapon(id) == CSW_M249 && g_bM249[id])
	{
		set_pev(id, pev_viewmodel2, M249_Gold1)
		set_pev(id, pev_weaponmodel2, M249_Gold2)
	}
	else if(get_user_weapon(id) == CSW_FAMAS && g_bFamas[id])
	{
		set_pev(id, pev_viewmodel2, Famas_Gold1)
		set_pev(id, pev_weaponmodel2, Famas_Gold2)
	}
	if(bSpeed[id])
		set_user_maxspeed(id, 800.0)
	if(bInvis[id])
		set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
}
public fw_SetModel( entity, model[ ] )
{
	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static szClassName[33]
	pev(entity, pev_classname, szClassName, charsmax(szClassName))
	
	if(!equal(szClassName, "weaponbox"))
		return FMRES_IGNORED;   
	
	static id;
	id = pev(entity, pev_owner)
	
	if(equal(model, "models/w_ak47.mdl"))
	{
		if(g_bAk47[id])
		{
			engfunc(EngFunc_SetModel, entity, Ak47_Gold3)
			
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_awp.mdl"))
	{
		if(g_bAwp[id])
		{
			engfunc(EngFunc_SetModel, entity, Awp_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_xm1014.mdl"))
	{
		if(g_bXm[id])
		{
			engfunc(EngFunc_SetModel, entity, Xm_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m4a1.mdl"))
	{
		if(g_bA1[id])
		{
			engfunc(EngFunc_SetModel, entity, M4A1_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_deagle.mdl"))
	{
		if(g_bDeagle[id])
		{
			engfunc(EngFunc_SetModel, entity, Deagle_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m249.mdl"))
	{
		if(g_bM249[id])
		{
			engfunc(EngFunc_SetModel, entity, M249_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_famas.mdl"))
	{
		if(g_bFamas[id])
		{
			engfunc(EngFunc_SetModel, entity, Famas_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED
}
stock chat_color(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
	
	replace_all(msg, 190, "!g", "^4")
	replace_all(msg, 190, "!y", "^1")
	replace_all(msg, 190, "!team", "^3")
	
	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();
		}
	}
	}
}
Zpp.Mihai94
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 05 Feb 2018, 13:03
Detinator Steam: Da
CS Status: ZMXP
Detinator server CS: ZMXP.WESTCSTRIKE.RO
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time
Contact:

22 Feb 2023, 19:58

CyBer[N]eTicK wrote:
22 Feb 2023, 11:35

Code: Select all

/* Credite: =>> Cyby <<= */
//Cvaruri (de adaugat in amxx.cfg)
/*
* 			cvar_preturi "0" //default 0                // 0 OFF/1 ON Cand tastezi /cumparavip arata motd.
*			cvar_beneficii "0" //default 0  	    // 0 OFF/1 ON Cand tastezi /vip arata motd.
*			cvar_health "10" 			    // Cata viata sa primeasca cand face kill normal.
*			cvar_headshot "18"			    // Cata viata sa primeasca cand da headshot.
*			cvar_money "400"			    // Cati bani sa primeasca cand face kill normal.
*			cvar_moneyh "500"			    // Cati bani sa primeasca cand da headshot.
*			cvar_accesshop "0" //default 0		    // 0 ON doar daca are flagurile "ab" are acces la shop   // 1 ON doar daca userul este admin   // 2 au toti playerii acces la shop   // 3 shop dezactivat.
*			cvar_healthspawn "20"			    // Cata viata sa primeasca la spawn.
*			cvar_armorspawn "20"			    // Cata armura sa primeasca la spawn.
*			cvar_putinserver "0" //default 0	    // 0 OFF numai apare mesaj cand un vip intra pe server/1 ON apare mesaj cand un vip intra pe server.
*			cvar_disconnect "0"  //default 0	    // 0 OFF numai apare mesajul cand un vip iese/1 ON apare mesajul cand un vip intra.
*			cvar_tabscore "0"  //default 0		    // 0 OFF numai apare VIP in scoreboard/1 ON apare VIP in scoreboard.
*			cvar_bonus "0"  //default 0		    // 0 OFF numai da bani si viata cand face kill/1 ON da viata si bani cand face kill/2 ON toti playerii primesc bani/viata cand fac kill.
*			cvar_spawn "0"  //default 0		    // 0 OFF numai da viata/armura/skin knife la spawn/1 ON doar pentru vip/2 ON doar daca nu are vip/3 ON doar daca este admin/4 ON pentru toti,da la tot viata/armura/skin la spawn ( VIPI + playeri normali).
*			cvar_bullets "0"  //default 0		    // 0 OFF numai arata liniile cand tragi cu arma gold/1 ON arata linii cand tragi cu arme gold.
*			cvar_mcredite "0"  //default 0		    // 0 ON poti cumpara iteme pe bani/1 ON poti cumpara iteme pe credite (pluginu-l de credite al lu' askhanar).
*			cvar_mmodels "0"   //default 0		    // 0 ON doar daca esit vip/1 OFF modele dezactivate/2 ON pentru toti playerii dupa server/3 ON doar daca esti admin.
*/
#include < amxmodx >
#include < amxmisc >
#include < fun >
#include < hamsandwich >
#include < fakemeta >
#include < cstrike >
#include < engine >
#include < fcs >
#include < arme >

#define PLUGIN "Sistem Shop si Vip"
#define VERSION "1.9a"
#define AUTHOR "C0sm1N"

#define IsPlayer(%0)    (1 <= %0 <= g_iMaxPlayers)

new bool:g_bKnife[33], bool:g_bA1[33], bool:g_bAk47[33], bool:g_bAwp[33], bool:g_bDeagle[33], bool:g_bXm[33], bool:g_bMp5[33], bool:g_bM249[33], bool:g_bFamas[33];
new Task = 123456
new g_iMaxPlayers
new bool:bSpeed[33], bool:bInvis[33];
new bullets[33];
new m_spriteTexture;

/* Knife */
new Knife_Model[66] = "models/knifevip/v_knife.mdl"
/* M4a1 */
new M4A1_Gold1[66] = "models/golden_m4a1/v_m4a1.mdl"
new M4A1_Gold2[66] = "models/golden_m4a1/p_m4a1.mdl"
new M4A1_Gold3[66] = "models/golden_m4a1/w_m4a1.mdl"
/* Ak47 */
new Ak47_Gold1[66] = "models/golden_ak47/v_ak47.mdl"
new Ak47_Gold2[66] = "models/golden_ak47/p_ak47.mdl"
new Ak47_Gold3[66] = "models/golden_ak47/w_ak47.mdl"
/* Awp */
new Awp_Gold1[66] = "models/golden_awp/v_awp.mdl"
new Awp_Gold2[66] = "models/golden_awp/p_awp.mdl"
new Awp_Gold3[66] = "models/golden_awp/w_awp.mdl"
/* Deagle */
new Deagle_Gold1[66] = "models/golden_deagle/v_golden_deagle.mdl"
new Deagle_Gold2[66] = "models/golden_deagle/p_golden_deagle.mdl"
new Deagle_Gold3[66] = "models/golden_deagle/w_deagle.mdl"
/* Xm1014 */
new Xm_Gold1[66] = "models/golden_xm/v_golden_xm1014.mdl"
new Xm_Gold2[66] = "models/golden_xm/p_golden_xm1014.mdl"
new Xm_Gold3[66] = "models/golden_xm/w_golden_xm1014.mdl"
/* Dual Mp5 */
new Mp5_Dual1[66] = "models/dual_mp5/v_dualmp5.mdl"
new Mp5_Dual2[66] = "models/dual_mp5/p_dualmp5.mdl"
/* M249 */
new M249_Gold1[66] = "models/cateaua/v_m249.mdl"
new M249_Gold2[66] = "models/cateaua/p_m249.mdl"
new M249_Gold3[66] = "models/cateaua/w_m249.mdl"
/* Famas */
new Famas_Gold1[66] = "models/famas/v_famas.mdl"
new Famas_Gold2[66] = "models/famas/p_famas.mdl"
new Famas_Gold3[66] = "models/famas/w_famas.mdl"

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("fullupdate","block_update");
	
	/* Event */
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_event( "DeathMsg", "event_deathmsg", "a" )
	register_event("CurWeapon", "event_curweapon", "be", "1=1")
	register_event("ResetHUD", "event_resethud", "be")
	register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0");

	/* Comenzi */
	register_clcmd("say /vip","cmdAvantaje")
	register_clcmd("say /cumparavip", "cmdPreturi")
	register_clcmd("say /vm","meniu_vip")
	register_clcmd("fullupdate","block")

	/* RegisterHam */
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" )
	RegisterHam(Ham_Spawn, "player", "PlayerPostSpawn", 1)

	/* Forward */
	register_forward(FM_SetModel, "fw_SetModel")
	
	/* Cvaruri */
	register_cvar("cvar_preturi","1");
	register_cvar("cvar_beneficii","1");
	register_cvar("cvar_health","4");
	register_cvar("cvar_headshot","8");
	register_cvar("cvar_money","400");
	register_cvar("cvar_moneyh","500");
	register_cvar("cvar_accesshop","0");
	register_cvar("cvar_healthspawn","20");
	register_cvar("cvar_armorspawn","20");
	register_cvar("cvar_putinserver","1");
	register_cvar("cvar_disconnect","1");
	register_cvar("cvar_tabscore","1");
	register_cvar("cvar_bonus","0");
	register_cvar("cvar_spawn","1");
	register_cvar("cvar_bullets","1");
	register_cvar("cvar_mcredite","0");
	register_cvar("cvar_mmodels","0");
	
	g_iMaxPlayers = get_maxplayers ( )
}
public block_update(id)
	return 1;
stock bool:g_Vip( id )
{
	if(get_user_flags(id) & read_flags("ab"))
		return true;
	return false;
}
public block(id) return PLUGIN_HANDLED
public event_deathmsg( id )
{
	new iKiller
	new iVictim
	new iHeadshot
	
	if(g_Vip(id) && get_cvar_num("cvar_bonus") == 1 || get_cvar_num("cvar_bonus") == 2)
	{
		iKiller = read_data(1)
		iVictim = read_data(2)
		iHeadshot = read_data(3)
		
		if(iKiller != iVictim && is_user_alive(iKiller))
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_health"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_money"))
		}
		if(iHeadshot)
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_headshot"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_moneyh"))
		}
	}
	if(get_cvar_num("cvar_bonus") == 0)
		return;
}
public event_new_round(id)
{
	new iPlayers[32], iNum;
	get_players(iPlayers, iNum)
	for(new i = 0;i < iNum; i++)
	{
		g_bAk47[iPlayers[i]] = false
		g_bA1[iPlayers[i]] = false
		g_bAwp[iPlayers[i]] = false
		g_bDeagle[iPlayers[i]] = false;
		g_bXm[iPlayers[i]] = false;
		g_bMp5[iPlayers[i]] = false;
		g_bM249[iPlayers[i]] = false;
		g_bFamas[iPlayers[i]] = false;
		bSpeed[iPlayers[i]] = false;
		set_user_maxspeed(iPlayers[i], 400.0)
		bInvis[iPlayers[i]] = false;
		set_user_rendering(iPlayers[i])
		delete_etheral(iPlayers[i])
		delete_plasmagun(iPlayers[i])
		delete_oicw(iPlayers[i])
		delete_fire(iPlayers[i])
		delete_balrog(iPlayers[i])
		delete_coilgun(iPlayers[i])
	}
}
public make_tracer(id)
{
	new clip,ammo
	new wpnid = get_user_weapon(id,clip,ammo)
	new pteam[16]
	
	get_user_team(id, pteam, 15)
	if(get_cvar_num("cvar_bullets") == 1)
	{
		if((bullets[id] > clip) && (wpnid == CSW_M4A1) && g_bA1[id] || (wpnid == CSW_AK47) && g_bAk47[id] || (wpnid == CSW_XM1014) && g_bXm[id] || (wpnid == CSW_DEAGLE) && g_bDeagle[id] || (wpnid == CSW_AWP) && g_bAwp[id] || (wpnid == CSW_MP5NAVY) && g_bMp5[id] || (wpnid == CSW_M249) && g_bM249[id] || (wpnid == CSW_FAMAS) && g_bFamas[id])
		{
			new vec1[3], vec2[3]
			get_user_origin(id, vec1, 1)
			get_user_origin(id, vec2, 4)

			message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
			write_byte (0)
			write_coord(vec1[0])
			write_coord(vec1[1])
			write_coord(vec1[2])
			write_coord(vec2[0])
			write_coord(vec2[1])
			write_coord(vec2[2])
			write_short( m_spriteTexture )
			write_byte(1)
			write_byte(5)
			write_byte(2)
			write_byte(10)
			write_byte(0)
			write_byte( 255 )
			write_byte( 215 )
			write_byte( 0 )
			write_byte(200)
			write_byte(150)
			message_end()
		}
	}
	if(get_cvar_num("cvar_bullets") == 0)
		return;
	bullets[id] = clip
}

public meniu_vip( id )
{
	if(!is_user_alive(id))
		return;
	
	if(g_Vip(id) && get_cvar_num("cvar_accesshop") == 0)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 1)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 2)
		return;
}
public afiseaza( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Iteme]","Menu_Handler")
	menu_additem ( menu,"\y Arme \r Gold","1", 0 )

	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}

public Menu_Handler( id, menu, item )
{
	if(!is_user_alive(id))
		return
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return
	}

	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 );

	switch ( key )
	{
		case 1: golden_arme( id )
	}
	menu_destroy ( menu );
	return
}

public golden_arme( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Arme]","Menu_Golden")
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[10000$]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[20 Credite]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[10000$]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[20 Credite]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Awp\yGold \r[10000$]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Awp\yGold \r[15 Credite]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[6000$]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[10 Credite]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[11000$]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[25 Credite]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[11000$]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[15 Credite]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Famas\yGold \r[10000$]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Famas\yGold \r[15 Credite]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M249\yGold \r[16000$]","8", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M249\yGold \r[35 Credite]","8", 0 )
	}
	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}
public Menu_Golden( id, menu, item)
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return 1;
	}
	
	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 );
	new pcredite = fcs_get_user_credits(id)
	new cost = cs_get_user_money(id)
	
	switch ( key )
	{
		case 1:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 2:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 3:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 4:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 6000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 6000)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new money = 6000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 10)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 10)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new credits = 10 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i cerdite",credits)
					return 1
				}
			}
		}
		case 5:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 25)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 25)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new credits = 25 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 6:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 7:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 8:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 35)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 35)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 35 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
	}
	menu_destroy ( menu );
	return 1;
}

public GodmodeOFF(id) set_user_godmode(id, 0)
public InvisOFF(id) {
	set_user_rendering(id)
	bInvis[id] = false;
}
public event_resethud( id )
{	
	if(get_cvar_num("cvar_tabscore") == 1)
		set_task(1.0,"cmdTabscore",id+Task)
	if(get_cvar_num("cvar_tabscore") == 0)
		return;
}
public cmdTabscore(taskid)
{
	new id = taskid - Task
	
	if(g_Vip(id) && is_user_connected(id))
	{
		message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
		write_byte( id )
		write_byte( 4 )
		message_end()
	}
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage )
{
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) )
			SetHamParamFloat ( 4, fDamage * 1.1 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AWP && g_bAwp[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AK47 && g_bAk47[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M4A1 && g_bA1[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_DEAGLE && g_bDeagle[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.2 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_XM1014 && g_bXm[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_MP5NAVY && g_bMp5[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M249 && g_bM249[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_FAMAS && g_bFamas[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		return HAM_IGNORED
}
public client_disconnect( id )
{
	if(g_Vip(id) && get_cvar_num("cvar_disconnect") == 1)
	{
		g_bKnife[id] = false
		new szName[32]
		get_user_name(id, szName, 31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !ysa deconectat",szName)
	}
	if(get_cvar_num("cvar_disconnect") == 0)
		return;
}
public client_putinserver(id)
{
	if(g_Vip(id) && get_cvar_num("cvar_putinserver") == 1)
	{
		new szName[32]
		get_user_name(id, szName,31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !yse conecteaza",szName)
	}
	if(get_cvar_num("cvar_putinserver") == 0)
		return;
}
public cmdAvantaje(id)
{
	if(get_cvar_num("cvar_beneficii") == 1)
		show_motd(id, "/addons/amxmodx/configs/vip_avantaje_motd.html")

	if(get_cvar_num("cvar_beneficii") == 0)
		return;
}
public cmdPreturi( id )
{
	if(get_cvar_num("cvar_preturi") == 1)
		show_motd(id, "/addons/amxmodx/configs/preturi_ranguri_motd.html")
	if(get_cvar_num("cvar_preturi") == 0)
		return;
}
public PlayerPostSpawn( id )
{
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 1)
		player_spawn( id )
	if(get_cvar_num("cvar_spawn") == 0)
		return;
	if(!g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 2)
		player_spawn( id )
	if(is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 3)
		player_spawn( id )
	if(is_user_alive(id) && get_cvar_num("cvar_spawn") == 4)
		player_spawn( id )
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 0 || is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2 || is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2) {
		new CsTeams:userTeam = cs_get_user_team(id)
		switch(userTeam)
		{
			case 1:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipt");
				client_cmd(id, "cl_minmodels 0");
			}
			case 2:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipct");
				client_cmd(id, "cl_minmodels 0");
			}
		}
		if(get_cvar_num("cvar_mmodels") == 1)
			return;
	}
	afiseaza(id);
}
public player_spawn( id ) {
	
	give_item(id, "weapon_hegrenade")
	set_user_health(id, get_user_health(id) + get_cvar_num("cvar_healthspawn"))
	set_user_armor(id, get_user_armor(id) + get_cvar_num("cvar_armorspawn"))
	g_bKnife[id] = true
}
public plugin_precache()
{
	precache_model(Knife_Model)
	
	precache_model(M4A1_Gold1)
	precache_model(M4A1_Gold2)
	precache_model(M4A1_Gold3)
	
	precache_model(Ak47_Gold1)
	precache_model(Ak47_Gold2)
	precache_model(Ak47_Gold3)
	
	precache_model(Awp_Gold1)
	precache_model(Awp_Gold2)
	precache_model(Awp_Gold3)
	
	precache_model(Deagle_Gold1)
	precache_model(Deagle_Gold2)
	precache_model(Deagle_Gold3)
	
	precache_model(Xm_Gold1)
	precache_model(Xm_Gold2)
	precache_model(Xm_Gold3)
	
	precache_model(Mp5_Dual1)
	precache_model(Mp5_Dual2)
	
	precache_model(M249_Gold1)
	precache_model(M249_Gold2)
	precache_model(M249_Gold3)
	
	precache_model(Famas_Gold1)
	precache_model(Famas_Gold2)
	precache_model(Famas_Gold3)

	precache_model("models/player/vipCT_RS/vipCT_RS.mdl");
	precache_model("models/player/vipT_RS/vipT_RS.mdl");
	precache_model("models/rpgrocket.mdl"); // pentru a functiona corect..fara asta pica server-ul cateodata.
	
	m_spriteTexture = precache_model("sprites/dot.spr")
}
public event_curweapon( id )
{
	if(get_user_weapon(id) == CSW_KNIFE && g_bKnife[id])
		set_pev(id, pev_viewmodel2, Knife_Model)
	else if(get_user_weapon(id) == CSW_M4A1 && g_bA1[id])
	{
		set_pev(id, pev_viewmodel2, M4A1_Gold1)
		set_pev(id, pev_weaponmodel2, M4A1_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AK47 && g_bAk47[id])
	{
		set_pev(id, pev_viewmodel2, Ak47_Gold1)
		set_pev(id, pev_weaponmodel2, Ak47_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AWP && g_bAwp[id])
	{
		set_pev(id, pev_viewmodel2, Awp_Gold1)
		set_pev(id, pev_weaponmodel2, Awp_Gold2)
	}
	else if(get_user_weapon(id) == CSW_DEAGLE && g_bDeagle[id])
	{
		set_pev(id, pev_viewmodel2, Deagle_Gold1)
		set_pev(id, pev_weaponmodel2, Deagle_Gold2)
	}
	else if(get_user_weapon(id) == CSW_XM1014 && g_bXm[id])
	{
		set_pev(id, pev_viewmodel2, Xm_Gold1)
		set_pev(id, pev_weaponmodel2, Xm_Gold2)
	}
	else if(get_user_weapon(id) == CSW_MP5NAVY && g_bMp5[id])
	{
		set_pev(id, pev_viewmodel2, Mp5_Dual1)
		set_pev(id, pev_weaponmodel2, Mp5_Dual2)
	}
	else if(get_user_weapon(id) == CSW_M249 && g_bM249[id])
	{
		set_pev(id, pev_viewmodel2, M249_Gold1)
		set_pev(id, pev_weaponmodel2, M249_Gold2)
	}
	else if(get_user_weapon(id) == CSW_FAMAS && g_bFamas[id])
	{
		set_pev(id, pev_viewmodel2, Famas_Gold1)
		set_pev(id, pev_weaponmodel2, Famas_Gold2)
	}
	if(bSpeed[id])
		set_user_maxspeed(id, 800.0)
	if(bInvis[id])
		set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
}
public fw_SetModel( entity, model[ ] )
{
	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static szClassName[33]
	pev(entity, pev_classname, szClassName, charsmax(szClassName))
	
	if(!equal(szClassName, "weaponbox"))
		return FMRES_IGNORED;   
	
	static id;
	id = pev(entity, pev_owner)
	
	if(equal(model, "models/w_ak47.mdl"))
	{
		if(g_bAk47[id])
		{
			engfunc(EngFunc_SetModel, entity, Ak47_Gold3)
			
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_awp.mdl"))
	{
		if(g_bAwp[id])
		{
			engfunc(EngFunc_SetModel, entity, Awp_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_xm1014.mdl"))
	{
		if(g_bXm[id])
		{
			engfunc(EngFunc_SetModel, entity, Xm_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m4a1.mdl"))
	{
		if(g_bA1[id])
		{
			engfunc(EngFunc_SetModel, entity, M4A1_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_deagle.mdl"))
	{
		if(g_bDeagle[id])
		{
			engfunc(EngFunc_SetModel, entity, Deagle_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m249.mdl"))
	{
		if(g_bM249[id])
		{
			engfunc(EngFunc_SetModel, entity, M249_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_famas.mdl"))
	{
		if(g_bFamas[id])
		{
			engfunc(EngFunc_SetModel, entity, Famas_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED
}
stock chat_color(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
	
	replace_all(msg, 190, "!g", "^4")
	replace_all(msg, 190, "!y", "^1")
	replace_all(msg, 190, "!team", "^3")
	
	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();
		}
	}
	}
}
se poate face ceva cu armele gold sa tina mai multe runde? ca tin doar 1 runda.
User avatar
CyBer[N]eTicK
Membru, skill +1
Membru, skill +1
Posts: 190
Joined: 29 May 2020, 05:35
Detinator Steam: Da
CS Status: Strong & Original
Detinator server CS: BB.BLACKGAMES.RO
SteamID: /id/cybernetick_cbk/
Fond eXtream: 0
Location: Albania, tirana
Discord: cybernetick_cbk
Has thanked: 21 times
Been thanked: 18 times
Contact:

22 Feb 2023, 20:36

Zpp.Mihai94 wrote:
22 Feb 2023, 19:58
CyBer[N]eTicK wrote:
22 Feb 2023, 11:35

Code: Select all

/* Credite: =>> Cyby <<= */
//Cvaruri (de adaugat in amxx.cfg)
/*
* 			cvar_preturi "0" //default 0                // 0 OFF/1 ON Cand tastezi /cumparavip arata motd.
*			cvar_beneficii "0" //default 0  	    // 0 OFF/1 ON Cand tastezi /vip arata motd.
*			cvar_health "10" 			    // Cata viata sa primeasca cand face kill normal.
*			cvar_headshot "18"			    // Cata viata sa primeasca cand da headshot.
*			cvar_money "400"			    // Cati bani sa primeasca cand face kill normal.
*			cvar_moneyh "500"			    // Cati bani sa primeasca cand da headshot.
*			cvar_accesshop "0" //default 0		    // 0 ON doar daca are flagurile "ab" are acces la shop   // 1 ON doar daca userul este admin   // 2 au toti playerii acces la shop   // 3 shop dezactivat.
*			cvar_healthspawn "20"			    // Cata viata sa primeasca la spawn.
*			cvar_armorspawn "20"			    // Cata armura sa primeasca la spawn.
*			cvar_putinserver "0" //default 0	    // 0 OFF numai apare mesaj cand un vip intra pe server/1 ON apare mesaj cand un vip intra pe server.
*			cvar_disconnect "0"  //default 0	    // 0 OFF numai apare mesajul cand un vip iese/1 ON apare mesajul cand un vip intra.
*			cvar_tabscore "0"  //default 0		    // 0 OFF numai apare VIP in scoreboard/1 ON apare VIP in scoreboard.
*			cvar_bonus "0"  //default 0		    // 0 OFF numai da bani si viata cand face kill/1 ON da viata si bani cand face kill/2 ON toti playerii primesc bani/viata cand fac kill.
*			cvar_spawn "0"  //default 0		    // 0 OFF numai da viata/armura/skin knife la spawn/1 ON doar pentru vip/2 ON doar daca nu are vip/3 ON doar daca este admin/4 ON pentru toti,da la tot viata/armura/skin la spawn ( VIPI + playeri normali).
*			cvar_bullets "0"  //default 0		    // 0 OFF numai arata liniile cand tragi cu arma gold/1 ON arata linii cand tragi cu arme gold.
*			cvar_mcredite "0"  //default 0		    // 0 ON poti cumpara iteme pe bani/1 ON poti cumpara iteme pe credite (pluginu-l de credite al lu' askhanar).
*			cvar_mmodels "0"   //default 0		    // 0 ON doar daca esit vip/1 OFF modele dezactivate/2 ON pentru toti playerii dupa server/3 ON doar daca esti admin.
*/
#include < amxmodx >
#include < amxmisc >
#include < fun >
#include < hamsandwich >
#include < fakemeta >
#include < cstrike >
#include < engine >
#include < fcs >
#include < arme >

#define PLUGIN "Sistem Shop si Vip"
#define VERSION "1.9a"
#define AUTHOR "C0sm1N"

#define IsPlayer(%0)    (1 <= %0 <= g_iMaxPlayers)

new bool:g_bKnife[33], bool:g_bA1[33], bool:g_bAk47[33], bool:g_bAwp[33], bool:g_bDeagle[33], bool:g_bXm[33], bool:g_bMp5[33], bool:g_bM249[33], bool:g_bFamas[33];
new Task = 123456
new g_iMaxPlayers
new bool:bSpeed[33], bool:bInvis[33];
new bullets[33];
new m_spriteTexture;

/* Knife */
new Knife_Model[66] = "models/knifevip/v_knife.mdl"
/* M4a1 */
new M4A1_Gold1[66] = "models/golden_m4a1/v_m4a1.mdl"
new M4A1_Gold2[66] = "models/golden_m4a1/p_m4a1.mdl"
new M4A1_Gold3[66] = "models/golden_m4a1/w_m4a1.mdl"
/* Ak47 */
new Ak47_Gold1[66] = "models/golden_ak47/v_ak47.mdl"
new Ak47_Gold2[66] = "models/golden_ak47/p_ak47.mdl"
new Ak47_Gold3[66] = "models/golden_ak47/w_ak47.mdl"
/* Awp */
new Awp_Gold1[66] = "models/golden_awp/v_awp.mdl"
new Awp_Gold2[66] = "models/golden_awp/p_awp.mdl"
new Awp_Gold3[66] = "models/golden_awp/w_awp.mdl"
/* Deagle */
new Deagle_Gold1[66] = "models/golden_deagle/v_golden_deagle.mdl"
new Deagle_Gold2[66] = "models/golden_deagle/p_golden_deagle.mdl"
new Deagle_Gold3[66] = "models/golden_deagle/w_deagle.mdl"
/* Xm1014 */
new Xm_Gold1[66] = "models/golden_xm/v_golden_xm1014.mdl"
new Xm_Gold2[66] = "models/golden_xm/p_golden_xm1014.mdl"
new Xm_Gold3[66] = "models/golden_xm/w_golden_xm1014.mdl"
/* Dual Mp5 */
new Mp5_Dual1[66] = "models/dual_mp5/v_dualmp5.mdl"
new Mp5_Dual2[66] = "models/dual_mp5/p_dualmp5.mdl"
/* M249 */
new M249_Gold1[66] = "models/cateaua/v_m249.mdl"
new M249_Gold2[66] = "models/cateaua/p_m249.mdl"
new M249_Gold3[66] = "models/cateaua/w_m249.mdl"
/* Famas */
new Famas_Gold1[66] = "models/famas/v_famas.mdl"
new Famas_Gold2[66] = "models/famas/p_famas.mdl"
new Famas_Gold3[66] = "models/famas/w_famas.mdl"

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("fullupdate","block_update");
	
	/* Event */
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_event( "DeathMsg", "event_deathmsg", "a" )
	register_event("CurWeapon", "event_curweapon", "be", "1=1")
	register_event("ResetHUD", "event_resethud", "be")
	register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0");

	/* Comenzi */
	register_clcmd("say /vip","cmdAvantaje")
	register_clcmd("say /cumparavip", "cmdPreturi")
	register_clcmd("say /vm","meniu_vip")
	register_clcmd("fullupdate","block")

	/* RegisterHam */
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" )
	RegisterHam(Ham_Spawn, "player", "PlayerPostSpawn", 1)

	/* Forward */
	register_forward(FM_SetModel, "fw_SetModel")
	
	/* Cvaruri */
	register_cvar("cvar_preturi","1");
	register_cvar("cvar_beneficii","1");
	register_cvar("cvar_health","4");
	register_cvar("cvar_headshot","8");
	register_cvar("cvar_money","400");
	register_cvar("cvar_moneyh","500");
	register_cvar("cvar_accesshop","0");
	register_cvar("cvar_healthspawn","20");
	register_cvar("cvar_armorspawn","20");
	register_cvar("cvar_putinserver","1");
	register_cvar("cvar_disconnect","1");
	register_cvar("cvar_tabscore","1");
	register_cvar("cvar_bonus","0");
	register_cvar("cvar_spawn","1");
	register_cvar("cvar_bullets","1");
	register_cvar("cvar_mcredite","0");
	register_cvar("cvar_mmodels","0");
	
	g_iMaxPlayers = get_maxplayers ( )
}
public block_update(id)
	return 1;
stock bool:g_Vip( id )
{
	if(get_user_flags(id) & read_flags("ab"))
		return true;
	return false;
}
public block(id) return PLUGIN_HANDLED
public event_deathmsg( id )
{
	new iKiller
	new iVictim
	new iHeadshot
	
	if(g_Vip(id) && get_cvar_num("cvar_bonus") == 1 || get_cvar_num("cvar_bonus") == 2)
	{
		iKiller = read_data(1)
		iVictim = read_data(2)
		iHeadshot = read_data(3)
		
		if(iKiller != iVictim && is_user_alive(iKiller))
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_health"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_money"))
		}
		if(iHeadshot)
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_headshot"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_moneyh"))
		}
	}
	if(get_cvar_num("cvar_bonus") == 0)
		return;
}
public event_new_round(id)
{
	new iPlayers[32], iNum;
	get_players(iPlayers, iNum)
	for(new i = 0;i < iNum; i++)
	{
		g_bAk47[iPlayers[i]] = false
		g_bA1[iPlayers[i]] = false
		g_bAwp[iPlayers[i]] = false
		g_bDeagle[iPlayers[i]] = false;
		g_bXm[iPlayers[i]] = false;
		g_bMp5[iPlayers[i]] = false;
		g_bM249[iPlayers[i]] = false;
		g_bFamas[iPlayers[i]] = false;
		bSpeed[iPlayers[i]] = false;
		set_user_maxspeed(iPlayers[i], 400.0)
		bInvis[iPlayers[i]] = false;
		set_user_rendering(iPlayers[i])
		delete_etheral(iPlayers[i])
		delete_plasmagun(iPlayers[i])
		delete_oicw(iPlayers[i])
		delete_fire(iPlayers[i])
		delete_balrog(iPlayers[i])
		delete_coilgun(iPlayers[i])
	}
}
public make_tracer(id)
{
	new clip,ammo
	new wpnid = get_user_weapon(id,clip,ammo)
	new pteam[16]
	
	get_user_team(id, pteam, 15)
	if(get_cvar_num("cvar_bullets") == 1)
	{
		if((bullets[id] > clip) && (wpnid == CSW_M4A1) && g_bA1[id] || (wpnid == CSW_AK47) && g_bAk47[id] || (wpnid == CSW_XM1014) && g_bXm[id] || (wpnid == CSW_DEAGLE) && g_bDeagle[id] || (wpnid == CSW_AWP) && g_bAwp[id] || (wpnid == CSW_MP5NAVY) && g_bMp5[id] || (wpnid == CSW_M249) && g_bM249[id] || (wpnid == CSW_FAMAS) && g_bFamas[id])
		{
			new vec1[3], vec2[3]
			get_user_origin(id, vec1, 1)
			get_user_origin(id, vec2, 4)

			message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
			write_byte (0)
			write_coord(vec1[0])
			write_coord(vec1[1])
			write_coord(vec1[2])
			write_coord(vec2[0])
			write_coord(vec2[1])
			write_coord(vec2[2])
			write_short( m_spriteTexture )
			write_byte(1)
			write_byte(5)
			write_byte(2)
			write_byte(10)
			write_byte(0)
			write_byte( 255 )
			write_byte( 215 )
			write_byte( 0 )
			write_byte(200)
			write_byte(150)
			message_end()
		}
	}
	if(get_cvar_num("cvar_bullets") == 0)
		return;
	bullets[id] = clip
}

public meniu_vip( id )
{
	if(!is_user_alive(id))
		return;
	
	if(g_Vip(id) && get_cvar_num("cvar_accesshop") == 0)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 1)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 2)
		return;
}
public afiseaza( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Iteme]","Menu_Handler")
	menu_additem ( menu,"\y Arme \r Gold","1", 0 )

	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}

public Menu_Handler( id, menu, item )
{
	if(!is_user_alive(id))
		return
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return
	}

	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 );

	switch ( key )
	{
		case 1: golden_arme( id )
	}
	menu_destroy ( menu );
	return
}

public golden_arme( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Arme]","Menu_Golden")
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[10000$]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[20 Credite]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[10000$]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[20 Credite]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Awp\yGold \r[10000$]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Awp\yGold \r[15 Credite]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[6000$]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[10 Credite]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[11000$]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[25 Credite]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[11000$]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[15 Credite]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Famas\yGold \r[10000$]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Famas\yGold \r[15 Credite]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M249\yGold \r[16000$]","8", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M249\yGold \r[35 Credite]","8", 0 )
	}
	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}
public Menu_Golden( id, menu, item)
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return 1;
	}
	
	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 );
	new pcredite = fcs_get_user_credits(id)
	new cost = cs_get_user_money(id)
	
	switch ( key )
	{
		case 1:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 2:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 3:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 4:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 6000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 6000)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new money = 6000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 10)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 10)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new credits = 10 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i cerdite",credits)
					return 1
				}
			}
		}
		case 5:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 25)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 25)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new credits = 25 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 6:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 7:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 8:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 35)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 35)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 35 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
	}
	menu_destroy ( menu );
	return 1;
}

public GodmodeOFF(id) set_user_godmode(id, 0)
public InvisOFF(id) {
	set_user_rendering(id)
	bInvis[id] = false;
}
public event_resethud( id )
{	
	if(get_cvar_num("cvar_tabscore") == 1)
		set_task(1.0,"cmdTabscore",id+Task)
	if(get_cvar_num("cvar_tabscore") == 0)
		return;
}
public cmdTabscore(taskid)
{
	new id = taskid - Task
	
	if(g_Vip(id) && is_user_connected(id))
	{
		message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
		write_byte( id )
		write_byte( 4 )
		message_end()
	}
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage )
{
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) )
			SetHamParamFloat ( 4, fDamage * 1.1 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AWP && g_bAwp[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AK47 && g_bAk47[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M4A1 && g_bA1[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_DEAGLE && g_bDeagle[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.2 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_XM1014 && g_bXm[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_MP5NAVY && g_bMp5[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M249 && g_bM249[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_FAMAS && g_bFamas[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		return HAM_IGNORED
}
public client_disconnect( id )
{
	if(g_Vip(id) && get_cvar_num("cvar_disconnect") == 1)
	{
		g_bKnife[id] = false
		new szName[32]
		get_user_name(id, szName, 31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !ysa deconectat",szName)
	}
	if(get_cvar_num("cvar_disconnect") == 0)
		return;
}
public client_putinserver(id)
{
	if(g_Vip(id) && get_cvar_num("cvar_putinserver") == 1)
	{
		new szName[32]
		get_user_name(id, szName,31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !yse conecteaza",szName)
	}
	if(get_cvar_num("cvar_putinserver") == 0)
		return;
}
public cmdAvantaje(id)
{
	if(get_cvar_num("cvar_beneficii") == 1)
		show_motd(id, "/addons/amxmodx/configs/vip_avantaje_motd.html")

	if(get_cvar_num("cvar_beneficii") == 0)
		return;
}
public cmdPreturi( id )
{
	if(get_cvar_num("cvar_preturi") == 1)
		show_motd(id, "/addons/amxmodx/configs/preturi_ranguri_motd.html")
	if(get_cvar_num("cvar_preturi") == 0)
		return;
}
public PlayerPostSpawn( id )
{
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 1)
		player_spawn( id )
	if(get_cvar_num("cvar_spawn") == 0)
		return;
	if(!g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 2)
		player_spawn( id )
	if(is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 3)
		player_spawn( id )
	if(is_user_alive(id) && get_cvar_num("cvar_spawn") == 4)
		player_spawn( id )
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 0 || is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2 || is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2) {
		new CsTeams:userTeam = cs_get_user_team(id)
		switch(userTeam)
		{
			case 1:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipt");
				client_cmd(id, "cl_minmodels 0");
			}
			case 2:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipct");
				client_cmd(id, "cl_minmodels 0");
			}
		}
		if(get_cvar_num("cvar_mmodels") == 1)
			return;
	}
	afiseaza(id);
}
public player_spawn( id ) {
	
	give_item(id, "weapon_hegrenade")
	set_user_health(id, get_user_health(id) + get_cvar_num("cvar_healthspawn"))
	set_user_armor(id, get_user_armor(id) + get_cvar_num("cvar_armorspawn"))
	g_bKnife[id] = true
}
public plugin_precache()
{
	precache_model(Knife_Model)
	
	precache_model(M4A1_Gold1)
	precache_model(M4A1_Gold2)
	precache_model(M4A1_Gold3)
	
	precache_model(Ak47_Gold1)
	precache_model(Ak47_Gold2)
	precache_model(Ak47_Gold3)
	
	precache_model(Awp_Gold1)
	precache_model(Awp_Gold2)
	precache_model(Awp_Gold3)
	
	precache_model(Deagle_Gold1)
	precache_model(Deagle_Gold2)
	precache_model(Deagle_Gold3)
	
	precache_model(Xm_Gold1)
	precache_model(Xm_Gold2)
	precache_model(Xm_Gold3)
	
	precache_model(Mp5_Dual1)
	precache_model(Mp5_Dual2)
	
	precache_model(M249_Gold1)
	precache_model(M249_Gold2)
	precache_model(M249_Gold3)
	
	precache_model(Famas_Gold1)
	precache_model(Famas_Gold2)
	precache_model(Famas_Gold3)

	precache_model("models/player/vipCT_RS/vipCT_RS.mdl");
	precache_model("models/player/vipT_RS/vipT_RS.mdl");
	precache_model("models/rpgrocket.mdl"); // pentru a functiona corect..fara asta pica server-ul cateodata.
	
	m_spriteTexture = precache_model("sprites/dot.spr")
}
public event_curweapon( id )
{
	if(get_user_weapon(id) == CSW_KNIFE && g_bKnife[id])
		set_pev(id, pev_viewmodel2, Knife_Model)
	else if(get_user_weapon(id) == CSW_M4A1 && g_bA1[id])
	{
		set_pev(id, pev_viewmodel2, M4A1_Gold1)
		set_pev(id, pev_weaponmodel2, M4A1_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AK47 && g_bAk47[id])
	{
		set_pev(id, pev_viewmodel2, Ak47_Gold1)
		set_pev(id, pev_weaponmodel2, Ak47_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AWP && g_bAwp[id])
	{
		set_pev(id, pev_viewmodel2, Awp_Gold1)
		set_pev(id, pev_weaponmodel2, Awp_Gold2)
	}
	else if(get_user_weapon(id) == CSW_DEAGLE && g_bDeagle[id])
	{
		set_pev(id, pev_viewmodel2, Deagle_Gold1)
		set_pev(id, pev_weaponmodel2, Deagle_Gold2)
	}
	else if(get_user_weapon(id) == CSW_XM1014 && g_bXm[id])
	{
		set_pev(id, pev_viewmodel2, Xm_Gold1)
		set_pev(id, pev_weaponmodel2, Xm_Gold2)
	}
	else if(get_user_weapon(id) == CSW_MP5NAVY && g_bMp5[id])
	{
		set_pev(id, pev_viewmodel2, Mp5_Dual1)
		set_pev(id, pev_weaponmodel2, Mp5_Dual2)
	}
	else if(get_user_weapon(id) == CSW_M249 && g_bM249[id])
	{
		set_pev(id, pev_viewmodel2, M249_Gold1)
		set_pev(id, pev_weaponmodel2, M249_Gold2)
	}
	else if(get_user_weapon(id) == CSW_FAMAS && g_bFamas[id])
	{
		set_pev(id, pev_viewmodel2, Famas_Gold1)
		set_pev(id, pev_weaponmodel2, Famas_Gold2)
	}
	if(bSpeed[id])
		set_user_maxspeed(id, 800.0)
	if(bInvis[id])
		set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
}
public fw_SetModel( entity, model[ ] )
{
	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static szClassName[33]
	pev(entity, pev_classname, szClassName, charsmax(szClassName))
	
	if(!equal(szClassName, "weaponbox"))
		return FMRES_IGNORED;   
	
	static id;
	id = pev(entity, pev_owner)
	
	if(equal(model, "models/w_ak47.mdl"))
	{
		if(g_bAk47[id])
		{
			engfunc(EngFunc_SetModel, entity, Ak47_Gold3)
			
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_awp.mdl"))
	{
		if(g_bAwp[id])
		{
			engfunc(EngFunc_SetModel, entity, Awp_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_xm1014.mdl"))
	{
		if(g_bXm[id])
		{
			engfunc(EngFunc_SetModel, entity, Xm_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m4a1.mdl"))
	{
		if(g_bA1[id])
		{
			engfunc(EngFunc_SetModel, entity, M4A1_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_deagle.mdl"))
	{
		if(g_bDeagle[id])
		{
			engfunc(EngFunc_SetModel, entity, Deagle_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m249.mdl"))
	{
		if(g_bM249[id])
		{
			engfunc(EngFunc_SetModel, entity, M249_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_famas.mdl"))
	{
		if(g_bFamas[id])
		{
			engfunc(EngFunc_SetModel, entity, Famas_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED
}
stock chat_color(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
	
	replace_all(msg, 190, "!g", "^4")
	replace_all(msg, 190, "!y", "^1")
	replace_all(msg, 190, "!team", "^3")
	
	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();
		}
	}
	}
}
se poate face ceva cu armele gold sa tina mai multe runde? ca tin doar 1 runda.

Code: Select all

/* Credite: =>> Cyby <<= */
//Cvaruri (de adaugat in amxx.cfg)
/*
* 			cvar_preturi "0" //default 0                // 0 OFF/1 ON Cand tastezi /cumparavip arata motd.
*			cvar_beneficii "0" //default 0  	    // 0 OFF/1 ON Cand tastezi /vip arata motd.
*			cvar_health "10" 			    // Cata viata sa primeasca cand face kill normal.
*			cvar_headshot "18"			    // Cata viata sa primeasca cand da headshot.
*			cvar_money "400"			    // Cati bani sa primeasca cand face kill normal.
*			cvar_moneyh "500"			    // Cati bani sa primeasca cand da headshot.
*			cvar_accesshop "0" //default 0		    // 0 ON doar daca are flagurile "ab" are acces la shop   // 1 ON doar daca userul este admin   // 2 au toti playerii acces la shop   // 3 shop dezactivat.
*			cvar_healthspawn "20"			    // Cata viata sa primeasca la spawn.
*			cvar_armorspawn "20"			    // Cata armura sa primeasca la spawn.
*			cvar_putinserver "0" //default 0	    // 0 OFF numai apare mesaj cand un vip intra pe server/1 ON apare mesaj cand un vip intra pe server.
*			cvar_disconnect "0"  //default 0	    // 0 OFF numai apare mesajul cand un vip iese/1 ON apare mesajul cand un vip intra.
*			cvar_tabscore "0"  //default 0		    // 0 OFF numai apare VIP in scoreboard/1 ON apare VIP in scoreboard.
*			cvar_bonus "0"  //default 0		    // 0 OFF numai da bani si viata cand face kill/1 ON da viata si bani cand face kill/2 ON toti playerii primesc bani/viata cand fac kill.
*			cvar_spawn "0"  //default 0		    // 0 OFF numai da viata/armura/skin knife la spawn/1 ON doar pentru vip/2 ON doar daca nu are vip/3 ON doar daca este admin/4 ON pentru toti,da la tot viata/armura/skin la spawn ( VIPI + playeri normali).
*			cvar_bullets "0"  //default 0		    // 0 OFF numai arata liniile cand tragi cu arma gold/1 ON arata linii cand tragi cu arme gold.
*			cvar_mcredite "0"  //default 0		    // 0 ON poti cumpara iteme pe bani/1 ON poti cumpara iteme pe credite (pluginu-l de credite al lu' askhanar).
*			cvar_mmodels "0"   //default 0		    // 0 ON doar daca esit vip/1 OFF modele dezactivate/2 ON pentru toti playerii dupa server/3 ON doar daca esti admin.
*/
#include < amxmodx >
#include < amxmisc >
#include < fun >
#include < hamsandwich >
#include < fakemeta >
#include < cstrike >
#include < engine >
#include < fcs >
#include < arme >

#define PLUGIN "Sistem Shop si Vip"
#define VERSION "1.9a"
#define AUTHOR "C0sm1N"

#define IsPlayer(%0)    (1 <= %0 <= g_iMaxPlayers)

new bool:g_bKnife[33], bool:g_bA1[33], bool:g_bAk47[33], bool:g_bAwp[33], bool:g_bDeagle[33], bool:g_bXm[33], bool:g_bMp5[33], bool:g_bM249[33], bool:g_bFamas[33];
new Task = 123456
new g_iMaxPlayers
new bool:bSpeed[33], bool:bInvis[33];
new bullets[33];
new m_spriteTexture;

/* Knife */
new Knife_Model[66] = "models/knifevip/v_knife.mdl"
/* M4a1 */
new M4A1_Gold1[66] = "models/golden_m4a1/v_m4a1.mdl"
new M4A1_Gold2[66] = "models/golden_m4a1/p_m4a1.mdl"
new M4A1_Gold3[66] = "models/golden_m4a1/w_m4a1.mdl"
/* Ak47 */
new Ak47_Gold1[66] = "models/golden_ak47/v_ak47.mdl"
new Ak47_Gold2[66] = "models/golden_ak47/p_ak47.mdl"
new Ak47_Gold3[66] = "models/golden_ak47/w_ak47.mdl"
/* Awp */
new Awp_Gold1[66] = "models/golden_awp/v_awp.mdl"
new Awp_Gold2[66] = "models/golden_awp/p_awp.mdl"
new Awp_Gold3[66] = "models/golden_awp/w_awp.mdl"
/* Deagle */
new Deagle_Gold1[66] = "models/golden_deagle/v_golden_deagle.mdl"
new Deagle_Gold2[66] = "models/golden_deagle/p_golden_deagle.mdl"
new Deagle_Gold3[66] = "models/golden_deagle/w_deagle.mdl"
/* Xm1014 */
new Xm_Gold1[66] = "models/golden_xm/v_golden_xm1014.mdl"
new Xm_Gold2[66] = "models/golden_xm/p_golden_xm1014.mdl"
new Xm_Gold3[66] = "models/golden_xm/w_golden_xm1014.mdl"
/* Dual Mp5 */
new Mp5_Dual1[66] = "models/dual_mp5/v_dualmp5.mdl"
new Mp5_Dual2[66] = "models/dual_mp5/p_dualmp5.mdl"
/* M249 */
new M249_Gold1[66] = "models/cateaua/v_m249.mdl"
new M249_Gold2[66] = "models/cateaua/p_m249.mdl"
new M249_Gold3[66] = "models/cateaua/w_m249.mdl"
/* Famas */
new Famas_Gold1[66] = "models/famas/v_famas.mdl"
new Famas_Gold2[66] = "models/famas/p_famas.mdl"
new Famas_Gold3[66] = "models/famas/w_famas.mdl"

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("fullupdate","block_update");
	
	/* Event */
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_event( "DeathMsg", "event_deathmsg", "a" )
	register_event("CurWeapon", "event_curweapon", "be", "1=1")
	register_event("ResetHUD", "event_resethud", "be")
	register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0");

	/* Comenzi */
	register_clcmd("say /vip","cmdAvantaje")
	register_clcmd("say /cumparavip", "cmdPreturi")
	register_clcmd("say /vm","meniu_vip")
	register_clcmd("fullupdate","block")

	/* RegisterHam */
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" )
	RegisterHam(Ham_Spawn, "player", "PlayerPostSpawn", 1)

	/* Forward */
	register_forward(FM_SetModel, "fw_SetModel")
	
	/* Cvaruri */
	register_cvar("cvar_preturi","1");
	register_cvar("cvar_beneficii","1");
	register_cvar("cvar_health","4");
	register_cvar("cvar_headshot","8");
	register_cvar("cvar_money","400");
	register_cvar("cvar_moneyh","500");
	register_cvar("cvar_accesshop","0");
	register_cvar("cvar_healthspawn","20");
	register_cvar("cvar_armorspawn","20");
	register_cvar("cvar_putinserver","1");
	register_cvar("cvar_disconnect","1");
	register_cvar("cvar_tabscore","1");
	register_cvar("cvar_bonus","0");
	register_cvar("cvar_spawn","1");
	register_cvar("cvar_bullets","1");
	register_cvar("cvar_mcredite","0");
	register_cvar("cvar_mmodels","0");
	
	g_iMaxPlayers = get_maxplayers ( )
}
public block_update(id)
	return 1;
stock bool:g_Vip( id )
{
	if(get_user_flags(id) & read_flags("ab"))
		return true;
	return false;
}
public block(id) return PLUGIN_HANDLED
public event_deathmsg( id )
{
	new iKiller
	new iVictim
	new iHeadshot
	
	if(g_Vip(id) && get_cvar_num("cvar_bonus") == 1 || get_cvar_num("cvar_bonus") == 2)
	{
		iKiller = read_data(1)
		iVictim = read_data(2)
		iHeadshot = read_data(3)
		
		if(iKiller != iVictim && is_user_alive(iKiller))
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_health"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_money"))
		}
		if(iHeadshot)
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_headshot"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_moneyh"))
		}
	}
	if(get_cvar_num("cvar_bonus") == 0)
		return;
}
public event_new_round(id)
{
	new iPlayers[32], iNum;
	get_players(iPlayers, iNum)
	for(new i = 0;i < iNum; i++)
	{
		bSpeed[iPlayers[i]] = false;
		set_user_maxspeed(iPlayers[i], 400.0)
		bInvis[iPlayers[i]] = false;
		set_user_rendering(iPlayers[i])
		delete_etheral(iPlayers[i])
		delete_plasmagun(iPlayers[i])
		delete_oicw(iPlayers[i])
		delete_fire(iPlayers[i])
		delete_balrog(iPlayers[i])
		delete_coilgun(iPlayers[i])
	}
}
public make_tracer(id)
{
	new clip,ammo
	new wpnid = get_user_weapon(id,clip,ammo)
	new pteam[16]
	
	get_user_team(id, pteam, 15)
	if(get_cvar_num("cvar_bullets") == 1)
	{
		if((bullets[id] > clip) && (wpnid == CSW_M4A1) && g_bA1[id] || (wpnid == CSW_AK47) && g_bAk47[id] || (wpnid == CSW_XM1014) && g_bXm[id] || (wpnid == CSW_DEAGLE) && g_bDeagle[id] || (wpnid == CSW_AWP) && g_bAwp[id] || (wpnid == CSW_MP5NAVY) && g_bMp5[id] || (wpnid == CSW_M249) && g_bM249[id] || (wpnid == CSW_FAMAS) && g_bFamas[id])
		{
			new vec1[3], vec2[3]
			get_user_origin(id, vec1, 1)
			get_user_origin(id, vec2, 4)

			message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
			write_byte (0)
			write_coord(vec1[0])
			write_coord(vec1[1])
			write_coord(vec1[2])
			write_coord(vec2[0])
			write_coord(vec2[1])
			write_coord(vec2[2])
			write_short( m_spriteTexture )
			write_byte(1)
			write_byte(5)
			write_byte(2)
			write_byte(10)
			write_byte(0)
			write_byte( 255 )
			write_byte( 215 )
			write_byte( 0 )
			write_byte(200)
			write_byte(150)
			message_end()
		}
	}
	if(get_cvar_num("cvar_bullets") == 0)
		return;
	bullets[id] = clip
}

public meniu_vip( id )
{
	if(!is_user_alive(id))
		return;
	
	if(g_Vip(id) && get_cvar_num("cvar_accesshop") == 0)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 1)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 2)
		return;
}
public afiseaza( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Iteme]","Menu_Handler")
	menu_additem ( menu,"\y Arme \r Gold","1", 0 )

	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}

public Menu_Handler( id, menu, item )
{
	if(!is_user_alive(id))
		return
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return
	}

	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 );

	switch ( key )
	{
		case 1: golden_arme( id )
	}
	menu_destroy ( menu );
	return
}

public golden_arme( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Arme]","Menu_Golden")
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[10000$]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[20 Credite]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[10000$]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[20 Credite]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Awp\yGold \r[10000$]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Awp\yGold \r[15 Credite]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[6000$]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[10 Credite]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[11000$]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[25 Credite]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[11000$]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[15 Credite]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Famas\yGold \r[10000$]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Famas\yGold \r[15 Credite]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M249\yGold \r[16000$]","8", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M249\yGold \r[35 Credite]","8", 0 )
	}
	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}
public Menu_Golden( id, menu, item)
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return 1;
	}
	
	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 );
	new pcredite = fcs_get_user_credits(id)
	new cost = cs_get_user_money(id)
	
	switch ( key )
	{
		case 1:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 2:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 3:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 4:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 6000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 6000)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new money = 6000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 10)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 10)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new credits = 10 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i cerdite",credits)
					return 1
				}
			}
		}
		case 5:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 25)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 25)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new credits = 25 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 6:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 7:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 8:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 35)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 35)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 35 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
	}
	menu_destroy ( menu );
	return 1;
}

public GodmodeOFF(id) set_user_godmode(id, 0)
public InvisOFF(id) {
	set_user_rendering(id)
	bInvis[id] = false;
}
public event_resethud( id )
{	
	if(get_cvar_num("cvar_tabscore") == 1)
		set_task(1.0,"cmdTabscore",id+Task)
	if(get_cvar_num("cvar_tabscore") == 0)
		return;
}
public cmdTabscore(taskid)
{
	new id = taskid - Task
	
	if(g_Vip(id) && is_user_connected(id))
	{
		message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
		write_byte( id )
		write_byte( 4 )
		message_end()
	}
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage )
{
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) )
			SetHamParamFloat ( 4, fDamage * 1.1 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AWP && g_bAwp[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AK47 && g_bAk47[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M4A1 && g_bA1[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_DEAGLE && g_bDeagle[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.2 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_XM1014 && g_bXm[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_MP5NAVY && g_bMp5[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M249 && g_bM249[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_FAMAS && g_bFamas[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		return HAM_IGNORED
}
public client_disconnect( id )
{
	if(g_Vip(id) && get_cvar_num("cvar_disconnect") == 1)
	{
		g_bKnife[id] = false
		new szName[32]
		get_user_name(id, szName, 31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !ysa deconectat",szName)
	}
	if(get_cvar_num("cvar_disconnect") == 0)
		return;
}
public client_putinserver(id)
{
	if(g_Vip(id) && get_cvar_num("cvar_putinserver") == 1)
	{
		new szName[32]
		get_user_name(id, szName,31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !yse conecteaza",szName)
	}
	if(get_cvar_num("cvar_putinserver") == 0)
		return;
}
public cmdAvantaje(id)
{
	if(get_cvar_num("cvar_beneficii") == 1)
		show_motd(id, "/addons/amxmodx/configs/vip_avantaje_motd.html")

	if(get_cvar_num("cvar_beneficii") == 0)
		return;
}
public cmdPreturi( id )
{
	if(get_cvar_num("cvar_preturi") == 1)
		show_motd(id, "/addons/amxmodx/configs/preturi_ranguri_motd.html")
	if(get_cvar_num("cvar_preturi") == 0)
		return;
}
public PlayerPostSpawn( id )
{
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 1)
		player_spawn( id )
	if(get_cvar_num("cvar_spawn") == 0)
		return;
	if(!g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 2)
		player_spawn( id )
	if(is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 3)
		player_spawn( id )
	if(is_user_alive(id) && get_cvar_num("cvar_spawn") == 4)
		player_spawn( id )
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 0 || is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2 || is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2) {
		new CsTeams:userTeam = cs_get_user_team(id)
		switch(userTeam)
		{
			case 1:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipt");
				client_cmd(id, "cl_minmodels 0");
			}
			case 2:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipct");
				client_cmd(id, "cl_minmodels 0");
			}
		}
		if(get_cvar_num("cvar_mmodels") == 1)
			return;
	}
	afiseaza(id);
}
public player_spawn( id ) {
	
	give_item(id, "weapon_hegrenade")
	set_user_health(id, get_user_health(id) + get_cvar_num("cvar_healthspawn"))
	set_user_armor(id, get_user_armor(id) + get_cvar_num("cvar_armorspawn"))
	g_bKnife[id] = true
}
public plugin_precache()
{
	precache_model(Knife_Model)
	
	precache_model(M4A1_Gold1)
	precache_model(M4A1_Gold2)
	precache_model(M4A1_Gold3)
	
	precache_model(Ak47_Gold1)
	precache_model(Ak47_Gold2)
	precache_model(Ak47_Gold3)
	
	precache_model(Awp_Gold1)
	precache_model(Awp_Gold2)
	precache_model(Awp_Gold3)
	
	precache_model(Deagle_Gold1)
	precache_model(Deagle_Gold2)
	precache_model(Deagle_Gold3)
	
	precache_model(Xm_Gold1)
	precache_model(Xm_Gold2)
	precache_model(Xm_Gold3)
	
	precache_model(Mp5_Dual1)
	precache_model(Mp5_Dual2)
	
	precache_model(M249_Gold1)
	precache_model(M249_Gold2)
	precache_model(M249_Gold3)
	
	precache_model(Famas_Gold1)
	precache_model(Famas_Gold2)
	precache_model(Famas_Gold3)

	precache_model("models/player/vipCT_RS/vipCT_RS.mdl");
	precache_model("models/player/vipT_RS/vipT_RS.mdl");
	precache_model("models/rpgrocket.mdl"); // pentru a functiona corect..fara asta pica server-ul cateodata.
	
	m_spriteTexture = precache_model("sprites/dot.spr")
}
public event_curweapon( id )
{
	if(get_user_weapon(id) == CSW_KNIFE && g_bKnife[id])
		set_pev(id, pev_viewmodel2, Knife_Model)
	else if(get_user_weapon(id) == CSW_M4A1 && g_bA1[id])
	{
		set_pev(id, pev_viewmodel2, M4A1_Gold1)
		set_pev(id, pev_weaponmodel2, M4A1_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AK47 && g_bAk47[id])
	{
		set_pev(id, pev_viewmodel2, Ak47_Gold1)
		set_pev(id, pev_weaponmodel2, Ak47_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AWP && g_bAwp[id])
	{
		set_pev(id, pev_viewmodel2, Awp_Gold1)
		set_pev(id, pev_weaponmodel2, Awp_Gold2)
	}
	else if(get_user_weapon(id) == CSW_DEAGLE && g_bDeagle[id])
	{
		set_pev(id, pev_viewmodel2, Deagle_Gold1)
		set_pev(id, pev_weaponmodel2, Deagle_Gold2)
	}
	else if(get_user_weapon(id) == CSW_XM1014 && g_bXm[id])
	{
		set_pev(id, pev_viewmodel2, Xm_Gold1)
		set_pev(id, pev_weaponmodel2, Xm_Gold2)
	}
	else if(get_user_weapon(id) == CSW_MP5NAVY && g_bMp5[id])
	{
		set_pev(id, pev_viewmodel2, Mp5_Dual1)
		set_pev(id, pev_weaponmodel2, Mp5_Dual2)
	}
	else if(get_user_weapon(id) == CSW_M249 && g_bM249[id])
	{
		set_pev(id, pev_viewmodel2, M249_Gold1)
		set_pev(id, pev_weaponmodel2, M249_Gold2)
	}
	else if(get_user_weapon(id) == CSW_FAMAS && g_bFamas[id])
	{
		set_pev(id, pev_viewmodel2, Famas_Gold1)
		set_pev(id, pev_weaponmodel2, Famas_Gold2)
	}
	if(bSpeed[id])
		set_user_maxspeed(id, 800.0)
	if(bInvis[id])
		set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
}
public fw_SetModel( entity, model[ ] )
{
	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static szClassName[33]
	pev(entity, pev_classname, szClassName, charsmax(szClassName))
	
	if(!equal(szClassName, "weaponbox"))
		return FMRES_IGNORED;   
	
	static id;
	id = pev(entity, pev_owner)
	
	if(equal(model, "models/w_ak47.mdl"))
	{
		if(g_bAk47[id])
		{
			engfunc(EngFunc_SetModel, entity, Ak47_Gold3)
			
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_awp.mdl"))
	{
		if(g_bAwp[id])
		{
			engfunc(EngFunc_SetModel, entity, Awp_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_xm1014.mdl"))
	{
		if(g_bXm[id])
		{
			engfunc(EngFunc_SetModel, entity, Xm_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m4a1.mdl"))
	{
		if(g_bA1[id])
		{
			engfunc(EngFunc_SetModel, entity, M4A1_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_deagle.mdl"))
	{
		if(g_bDeagle[id])
		{
			engfunc(EngFunc_SetModel, entity, Deagle_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m249.mdl"))
	{
		if(g_bM249[id])
		{
			engfunc(EngFunc_SetModel, entity, M249_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_famas.mdl"))
	{
		if(g_bFamas[id])
		{
			engfunc(EngFunc_SetModel, entity, Famas_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED
}
stock chat_color(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
	
	replace_all(msg, 190, "!g", "^4")
	replace_all(msg, 190, "!y", "^1")
	replace_all(msg, 190, "!team", "^3")
	
	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();
		}
	}
	}
}
Zpp.Mihai94
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 05 Feb 2018, 13:03
Detinator Steam: Da
CS Status: ZMXP
Detinator server CS: ZMXP.WESTCSTRIKE.RO
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time
Contact:

22 Feb 2023, 21:05

CyBer[N]eTicK wrote:
22 Feb 2023, 11:35

Code: Select all

/* Credite: =>> Cyby <<= */
//Cvaruri (de adaugat in amxx.cfg)
/*
* 			cvar_preturi "0" //default 0                // 0 OFF/1 ON Cand tastezi /cumparavip arata motd.
*			cvar_beneficii "0" //default 0  	    // 0 OFF/1 ON Cand tastezi /vip arata motd.
*			cvar_health "10" 			    // Cata viata sa primeasca cand face kill normal.
*			cvar_headshot "18"			    // Cata viata sa primeasca cand da headshot.
*			cvar_money "400"			    // Cati bani sa primeasca cand face kill normal.
*			cvar_moneyh "500"			    // Cati bani sa primeasca cand da headshot.
*			cvar_accesshop "0" //default 0		    // 0 ON doar daca are flagurile "ab" are acces la shop   // 1 ON doar daca userul este admin   // 2 au toti playerii acces la shop   // 3 shop dezactivat.
*			cvar_healthspawn "20"			    // Cata viata sa primeasca la spawn.
*			cvar_armorspawn "20"			    // Cata armura sa primeasca la spawn.
*			cvar_putinserver "0" //default 0	    // 0 OFF numai apare mesaj cand un vip intra pe server/1 ON apare mesaj cand un vip intra pe server.
*			cvar_disconnect "0"  //default 0	    // 0 OFF numai apare mesajul cand un vip iese/1 ON apare mesajul cand un vip intra.
*			cvar_tabscore "0"  //default 0		    // 0 OFF numai apare VIP in scoreboard/1 ON apare VIP in scoreboard.
*			cvar_bonus "0"  //default 0		    // 0 OFF numai da bani si viata cand face kill/1 ON da viata si bani cand face kill/2 ON toti playerii primesc bani/viata cand fac kill.
*			cvar_spawn "0"  //default 0		    // 0 OFF numai da viata/armura/skin knife la spawn/1 ON doar pentru vip/2 ON doar daca nu are vip/3 ON doar daca este admin/4 ON pentru toti,da la tot viata/armura/skin la spawn ( VIPI + playeri normali).
*			cvar_bullets "0"  //default 0		    // 0 OFF numai arata liniile cand tragi cu arma gold/1 ON arata linii cand tragi cu arme gold.
*			cvar_mcredite "0"  //default 0		    // 0 ON poti cumpara iteme pe bani/1 ON poti cumpara iteme pe credite (pluginu-l de credite al lu' askhanar).
*			cvar_mmodels "0"   //default 0		    // 0 ON doar daca esit vip/1 OFF modele dezactivate/2 ON pentru toti playerii dupa server/3 ON doar daca esti admin.
*/
#include < amxmodx >
#include < amxmisc >
#include < fun >
#include < hamsandwich >
#include < fakemeta >
#include < cstrike >
#include < engine >
#include < fcs >
#include < arme >

#define PLUGIN "Sistem Shop si Vip"
#define VERSION "1.9a"
#define AUTHOR "C0sm1N"

#define IsPlayer(%0)    (1 <= %0 <= g_iMaxPlayers)

new bool:g_bKnife[33], bool:g_bA1[33], bool:g_bAk47[33], bool:g_bAwp[33], bool:g_bDeagle[33], bool:g_bXm[33], bool:g_bMp5[33], bool:g_bM249[33], bool:g_bFamas[33];
new Task = 123456
new g_iMaxPlayers
new bool:bSpeed[33], bool:bInvis[33];
new bullets[33];
new m_spriteTexture;

/* Knife */
new Knife_Model[66] = "models/knifevip/v_knife.mdl"
/* M4a1 */
new M4A1_Gold1[66] = "models/golden_m4a1/v_m4a1.mdl"
new M4A1_Gold2[66] = "models/golden_m4a1/p_m4a1.mdl"
new M4A1_Gold3[66] = "models/golden_m4a1/w_m4a1.mdl"
/* Ak47 */
new Ak47_Gold1[66] = "models/golden_ak47/v_ak47.mdl"
new Ak47_Gold2[66] = "models/golden_ak47/p_ak47.mdl"
new Ak47_Gold3[66] = "models/golden_ak47/w_ak47.mdl"
/* Awp */
new Awp_Gold1[66] = "models/golden_awp/v_awp.mdl"
new Awp_Gold2[66] = "models/golden_awp/p_awp.mdl"
new Awp_Gold3[66] = "models/golden_awp/w_awp.mdl"
/* Deagle */
new Deagle_Gold1[66] = "models/golden_deagle/v_golden_deagle.mdl"
new Deagle_Gold2[66] = "models/golden_deagle/p_golden_deagle.mdl"
new Deagle_Gold3[66] = "models/golden_deagle/w_deagle.mdl"
/* Xm1014 */
new Xm_Gold1[66] = "models/golden_xm/v_golden_xm1014.mdl"
new Xm_Gold2[66] = "models/golden_xm/p_golden_xm1014.mdl"
new Xm_Gold3[66] = "models/golden_xm/w_golden_xm1014.mdl"
/* Dual Mp5 */
new Mp5_Dual1[66] = "models/dual_mp5/v_dualmp5.mdl"
new Mp5_Dual2[66] = "models/dual_mp5/p_dualmp5.mdl"
/* M249 */
new M249_Gold1[66] = "models/cateaua/v_m249.mdl"
new M249_Gold2[66] = "models/cateaua/p_m249.mdl"
new M249_Gold3[66] = "models/cateaua/w_m249.mdl"
/* Famas */
new Famas_Gold1[66] = "models/famas/v_famas.mdl"
new Famas_Gold2[66] = "models/famas/p_famas.mdl"
new Famas_Gold3[66] = "models/famas/w_famas.mdl"

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("fullupdate","block_update");
	
	/* Event */
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_event( "DeathMsg", "event_deathmsg", "a" )
	register_event("CurWeapon", "event_curweapon", "be", "1=1")
	register_event("ResetHUD", "event_resethud", "be")
	register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0");

	/* Comenzi */
	register_clcmd("say /vip","cmdAvantaje")
	register_clcmd("say /cumparavip", "cmdPreturi")
	register_clcmd("say /vm","meniu_vip")
	register_clcmd("fullupdate","block")

	/* RegisterHam */
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" )
	RegisterHam(Ham_Spawn, "player", "PlayerPostSpawn", 1)

	/* Forward */
	register_forward(FM_SetModel, "fw_SetModel")
	
	/* Cvaruri */
	register_cvar("cvar_preturi","1");
	register_cvar("cvar_beneficii","1");
	register_cvar("cvar_health","15");
	register_cvar("cvar_headshot","30");
	register_cvar("cvar_money","800");
	register_cvar("cvar_moneyh","1200");
	register_cvar("cvar_armor","25");
	register_cvar("cvar_armorh","50");
	register_cvar("cvar_accesshop","0");
	register_cvar("cvar_healthspawn","20");
	register_cvar("cvar_armorspawn","20");
	register_cvar("cvar_putinserver","1");
	register_cvar("cvar_disconnect","1");
	register_cvar("cvar_tabscore","1");
	register_cvar("cvar_bonus","0");
	register_cvar("cvar_spawn","1");
	register_cvar("cvar_bullets","1");
	register_cvar("cvar_mcredite","0");
	register_cvar("cvar_mmodels","0");
	
	g_iMaxPlayers = get_maxplayers ( )
}
public block_update(id)
	return 1;
stock bool:g_Vip( id )
{
	if(get_user_flags(id) & read_flags("ab"))
		return true;
	return false;
}
public block(id) return PLUGIN_HANDLED
public event_deathmsg( id )
{
	new iKiller
	new iVictim
	new iHeadshot
	
	if(g_Vip(id) && get_cvar_num("cvar_bonus") == 1 || get_cvar_num("cvar_bonus") == 2)
	{
		iKiller = read_data(1)
		iVictim = read_data(2)
		iHeadshot = read_data(3)
		
		if(iKiller != iVictim && is_user_alive(iKiller))
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_health"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_money"))
			set_user_armor(iKiller, get_user_armor(iKiller) + get_cvar_num("cvar_armor"))
		}
		if(iHeadshot)
		{
			set_user_health(iKiller, get_user_health(iKiller) + get_cvar_num("cvar_headshot"))
			cs_set_user_money(iKiller, cs_get_user_money(iKiller) + get_cvar_num("cvar_moneyh"))
			set_user_armor(iKiller, get_user_armor(iKiller) + get_cvar_num("cvar_armorh"))
		}
	}
	if(get_cvar_num("cvar_bonus") == 0)
		return;
}
public event_new_round(id)
{
	new iPlayers[32], iNum;
	get_players(iPlayers, iNum)
	for(new i = 0;i < iNum; i++)
	{
		bSpeed[iPlayers[i]] = false;
		set_user_maxspeed(iPlayers[i], 400.0)
		bInvis[iPlayers[i]] = false;
		set_user_rendering(iPlayers[i])
		delete_etheral(iPlayers[i])
		delete_plasmagun(iPlayers[i])
		delete_oicw(iPlayers[i])
		delete_fire(iPlayers[i])
		delete_balrog(iPlayers[i])
		delete_coilgun(iPlayers[i])
	}
}
public make_tracer(id)
{
	new clip,ammo
	new wpnid = get_user_weapon(id,clip,ammo)
	new pteam[16]
	
	get_user_team(id, pteam, 15)
	if(get_cvar_num("cvar_bullets") == 1)
	{
		if((bullets[id] > clip) && (wpnid == CSW_M4A1) && g_bA1[id] || (wpnid == CSW_AK47) && g_bAk47[id] || (wpnid == CSW_XM1014) && g_bXm[id] || (wpnid == CSW_DEAGLE) && g_bDeagle[id] || (wpnid == CSW_AWP) && g_bAwp[id] || (wpnid == CSW_MP5NAVY) && g_bMp5[id] || (wpnid == CSW_M249) && g_bM249[id] || (wpnid == CSW_FAMAS) && g_bFamas[id])
		{
			new vec1[3], vec2[3]
			get_user_origin(id, vec1, 1)
			get_user_origin(id, vec2, 4)

			message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
			write_byte (0)
			write_coord(vec1[0])
			write_coord(vec1[1])
			write_coord(vec1[2])
			write_coord(vec2[0])
			write_coord(vec2[1])
			write_coord(vec2[2])
			write_short( m_spriteTexture )
			write_byte(1)
			write_byte(5)
			write_byte(2)
			write_byte(10)
			write_byte(0)
			write_byte( 255 )
			write_byte( 215 )
			write_byte( 0 )
			write_byte(200)
			write_byte(150)
			message_end()
		}
	}
	if(get_cvar_num("cvar_bullets") == 0)
		return;
	bullets[id] = clip
}

public meniu_vip( id )
{
	if(!is_user_alive(id))
		return;
	
	if(g_Vip(id) && get_cvar_num("cvar_accesshop") == 0)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 1)
		afiseaza( id )
	if(get_cvar_num("cvar_accesshop") == 2)
		return;
}
public afiseaza( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Iteme]","Menu_Handler")
	menu_additem ( menu,"\y Arme \r Gold","1", 0 )

	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}

public Menu_Handler( id, menu, item )
{
	if(!is_user_alive(id))
		return
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return
	}

	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 );

	switch ( key )
	{
		case 1: golden_arme( id )
	}
	menu_destroy ( menu );
	return
}

public golden_arme( id )
{
	static menu;
	menu = menu_create ("\yShop \r[Cumpara Arme]","Menu_Golden")
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[10000$]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Ak47\yGold \r[20 Credite]","1", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[10000$]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M4A1\yGold \r[20 Credite]","2", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Awp\yGold \r[10000$]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Awp\yGold \r[15 Credite]","3", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[6000$]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Deagle\yGold \r[10 Credite]","4", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[11000$]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Xm1014\yGold \r[25 Credite]","5", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[11000$]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Dual\yMp5 \r[15 Credite]","6", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w Famas\yGold \r[10000$]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w Famas\yGold \r[15 Credite]","7", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 0)
	{
		menu_additem ( menu,"\w M249\yGold \r[16000$]","8", 0 )
	}
	if(get_cvar_num("cvar_mcredite") == 1)
	{
		menu_additem ( menu,"\w M249\yGold \r[35 Credite]","8", 0 )
	}
	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y")
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
	
	menu_display ( id, menu, 0 )
	return 0
}
public Menu_Golden( id, menu, item)
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		return 1;
	}
	
	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 );
	new pcredite = fcs_get_user_credits(id)
	new cost = cs_get_user_money(id)
	
	switch ( key )
	{
		case 1:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
					give_item(id, "weapon_ak47")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					give_item(id,"ammo_762nato")
					g_bAk47[id] = true
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 2:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 20)
				{
					give_item(id, "weapon_m4a1")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					g_bA1[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 20)
				}
				else
				{
					new credits = 20 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 3:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					give_item(id, "weapon_awp")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					give_item(id,"ammo_338magnum")
					g_bAwp[id] = true
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 4:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 6000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 6000)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new money = 6000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 10)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 10)
					give_item(id, "weapon_deagle")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					give_item(id,"ammo_50ae")
					g_bDeagle[id] = true;
				}
				else
				{
					new credits = 10 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i cerdite",credits)
					return 1
				}
			}
		}
		case 5:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 25)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 25)
					give_item(id,"weapon_xm1014")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					give_item(id,"ammo_buckshot")
					g_bXm[id] = true
				}
				else
				{
					new credits = 25 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 6:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 11000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 11000)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new money = 11000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id,"weapon_mp5navy")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					give_item(id,"ammo_9mm")
					g_bMp5[id] = true;
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
		case 7:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 10000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 10000)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					
				}
				else
				{
					new money = 10000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 15)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 15)
					give_item(id, "weapon_famas")
					g_bFamas[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 15 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
			
		}
		case 8:
		{
			if(get_cvar_num("cvar_mcredite") == 0)
			{
				if(cs_get_user_money(id) >= 16000)
				{
					cs_set_user_money(id, cs_get_user_money(id) - 16000)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new money = 16000 - cost
					chat_color(id, "!gNu !yai suficienti !teambani !ypentru a cumpara acest item,mai ai nevoie de !g%i$",money)
					return 1;
				}
			}
			if(get_cvar_num("cvar_mcredite") == 1)
			{
				if(fcs_get_user_credits(id) >= 35)
				{
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 35)
					give_item(id, "weapon_m249")
					g_bM249[id] = true;
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
					give_item(id,"ammo_556nato")
				}
				else
				{
					new credits = 35 - pcredite
					chat_color(id, "!gNu !yai suficiente !teamcredite !ypentru a cumpara acest item,mai ai nevoie de !g%i credite",credits)
					return 1
				}
			}
		}
	}
	menu_destroy ( menu );
	return 1;
}

public GodmodeOFF(id) set_user_godmode(id, 0)
public InvisOFF(id) {
	set_user_rendering(id)
	bInvis[id] = false;
}
public event_resethud( id )
{	
	if(get_cvar_num("cvar_tabscore") == 1)
		set_task(1.0,"cmdTabscore",id+Task)
	if(get_cvar_num("cvar_tabscore") == 0)
		return;
}
public cmdTabscore(taskid)
{
	new id = taskid - Task
	
	if(g_Vip(id) && is_user_connected(id))
	{
		message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
		write_byte( id )
		write_byte( 4 )
		message_end()
	}
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage )
{
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) )
			SetHamParamFloat ( 4, fDamage * 1.1 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AWP && g_bAwp[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_AK47 && g_bAk47[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M4A1 && g_bA1[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_DEAGLE && g_bDeagle[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.2 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_XM1014 && g_bXm[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_MP5NAVY && g_bMp5[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M249 && g_bM249[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		if( iInflictor == iAttacker && IsPlayer ( iAttacker ) && get_user_weapon( iAttacker ) == CSW_FAMAS && g_bFamas[ iAttacker ])
			SetHamParamFloat ( 4, fDamage * 1.3 );
		return HAM_IGNORED
}
public client_disconnect( id )
{
	if(g_Vip(id) && get_cvar_num("cvar_disconnect") == 1)
	{
		g_bKnife[id] = false
		new szName[32]
		get_user_name(id, szName, 31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !ysa deconectat",szName)
	}
	if(get_cvar_num("cvar_disconnect") == 0)
		return;
}
public client_putinserver(id)
{
	if(g_Vip(id) && get_cvar_num("cvar_putinserver") == 1)
	{
		new szName[32]
		get_user_name(id, szName,31)
		chat_color(0, "[!gVIP!y] !teamAtentie !g%s !yse conecteaza",szName)
	}
	if(get_cvar_num("cvar_putinserver") == 0)
		return;
}
public cmdAvantaje(id)
{
	if(get_cvar_num("cvar_beneficii") == 1)
		show_motd(id, "/addons/amxmodx/configs/vip_avantaje_motd.html")

	if(get_cvar_num("cvar_beneficii") == 0)
		return;
}
public cmdPreturi( id )
{
	if(get_cvar_num("cvar_preturi") == 1)
		show_motd(id, "/addons/amxmodx/configs/preturi_ranguri_motd.html")
	if(get_cvar_num("cvar_preturi") == 0)
		return;
}
public PlayerPostSpawn( id )
{
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 1)
		player_spawn( id )
	if(get_cvar_num("cvar_spawn") == 0)
		return;
	if(!g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 2)
		player_spawn( id )
	if(is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_spawn") == 3)
		player_spawn( id )
	if(is_user_alive(id) && get_cvar_num("cvar_spawn") == 4)
		player_spawn( id )
	if(g_Vip(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 0 || is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2 || is_user_admin(id) && is_user_alive(id) && get_cvar_num("cvar_mmodels") == 2) {
		new CsTeams:userTeam = cs_get_user_team(id)
		switch(userTeam)
		{
			case 1:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipT_RS");
				client_cmd(id, "cl_minmodels 0");
			}
			case 2:
			{
				cs_reset_user_model(id);
				cs_set_user_model(id, "vipCT_RS");
				client_cmd(id, "cl_minmodels 0");
			}
		}
		if(get_cvar_num("cvar_mmodels") == 1)
			return;
	}
	afiseaza(id);
}
public player_spawn( id ) {
	
	give_item(id, "weapon_hegrenade")
	set_user_health(id, get_user_health(id) + get_cvar_num("cvar_healthspawn"))
	set_user_armor(id, get_user_armor(id) + get_cvar_num("cvar_armorspawn"))
	g_bKnife[id] = true
}
public plugin_precache()
{
	precache_model(Knife_Model)
	
	precache_model(M4A1_Gold1)
	precache_model(M4A1_Gold2)
	precache_model(M4A1_Gold3)
	
	precache_model(Ak47_Gold1)
	precache_model(Ak47_Gold2)
	precache_model(Ak47_Gold3)
	
	precache_model(Awp_Gold1)
	precache_model(Awp_Gold2)
	precache_model(Awp_Gold3)
	
	precache_model(Deagle_Gold1)
	precache_model(Deagle_Gold2)
	precache_model(Deagle_Gold3)
	
	precache_model(Xm_Gold1)
	precache_model(Xm_Gold2)
	precache_model(Xm_Gold3)
	
	precache_model(Mp5_Dual1)
	precache_model(Mp5_Dual2)
	
	precache_model(M249_Gold1)
	precache_model(M249_Gold2)
	precache_model(M249_Gold3)
	
	precache_model(Famas_Gold1)
	precache_model(Famas_Gold2)
	precache_model(Famas_Gold3)

	precache_model("models/player/vipCT_RS/vipCT_RS.mdl");
	precache_model("models/player/vipT_RS/vipT_RS.mdl");
	precache_model("models/rpgrocket.mdl"); // pentru a functiona corect..fara asta pica server-ul cateodata.
	
	m_spriteTexture = precache_model("sprites/dot.spr")
}
public event_curweapon( id )
{
	if(get_user_weapon(id) == CSW_KNIFE && g_bKnife[id])
		set_pev(id, pev_viewmodel2, Knife_Model)
	else if(get_user_weapon(id) == CSW_M4A1 && g_bA1[id])
	{
		set_pev(id, pev_viewmodel2, M4A1_Gold1)
		set_pev(id, pev_weaponmodel2, M4A1_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AK47 && g_bAk47[id])
	{
		set_pev(id, pev_viewmodel2, Ak47_Gold1)
		set_pev(id, pev_weaponmodel2, Ak47_Gold2)
	}
	else if(get_user_weapon(id) == CSW_AWP && g_bAwp[id])
	{
		set_pev(id, pev_viewmodel2, Awp_Gold1)
		set_pev(id, pev_weaponmodel2, Awp_Gold2)
	}
	else if(get_user_weapon(id) == CSW_DEAGLE && g_bDeagle[id])
	{
		set_pev(id, pev_viewmodel2, Deagle_Gold1)
		set_pev(id, pev_weaponmodel2, Deagle_Gold2)
	}
	else if(get_user_weapon(id) == CSW_XM1014 && g_bXm[id])
	{
		set_pev(id, pev_viewmodel2, Xm_Gold1)
		set_pev(id, pev_weaponmodel2, Xm_Gold2)
	}
	else if(get_user_weapon(id) == CSW_MP5NAVY && g_bMp5[id])
	{
		set_pev(id, pev_viewmodel2, Mp5_Dual1)
		set_pev(id, pev_weaponmodel2, Mp5_Dual2)
	}
	else if(get_user_weapon(id) == CSW_M249 && g_bM249[id])
	{
		set_pev(id, pev_viewmodel2, M249_Gold1)
		set_pev(id, pev_weaponmodel2, M249_Gold2)
	}
	else if(get_user_weapon(id) == CSW_FAMAS && g_bFamas[id])
	{
		set_pev(id, pev_viewmodel2, Famas_Gold1)
		set_pev(id, pev_weaponmodel2, Famas_Gold2)
	}
	if(bSpeed[id])
		set_user_maxspeed(id, 800.0)
	if(bInvis[id])
		set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0);
}
public fw_SetModel( entity, model[ ] )
{
	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static szClassName[33]
	pev(entity, pev_classname, szClassName, charsmax(szClassName))
	
	if(!equal(szClassName, "weaponbox"))
		return FMRES_IGNORED;   
	
	static id;
	id = pev(entity, pev_owner)
	
	if(equal(model, "models/w_ak47.mdl"))
	{
		if(g_bAk47[id])
		{
			engfunc(EngFunc_SetModel, entity, Ak47_Gold3)
			
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_awp.mdl"))
	{
		if(g_bAwp[id])
		{
			engfunc(EngFunc_SetModel, entity, Awp_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_xm1014.mdl"))
	{
		if(g_bXm[id])
		{
			engfunc(EngFunc_SetModel, entity, Xm_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m4a1.mdl"))
	{
		if(g_bA1[id])
		{
			engfunc(EngFunc_SetModel, entity, M4A1_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_deagle.mdl"))
	{
		if(g_bDeagle[id])
		{
			engfunc(EngFunc_SetModel, entity, Deagle_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_m249.mdl"))
	{
		if(g_bM249[id])
		{
			engfunc(EngFunc_SetModel, entity, M249_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	else if(equal(model, "models/w_famas.mdl"))
	{
		if(g_bFamas[id])
		{
			engfunc(EngFunc_SetModel, entity, Famas_Gold3)
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED
}
stock chat_color(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
	
	replace_all(msg, 190, "!g", "^4")
	replace_all(msg, 190, "!y", "^1")
	replace_all(msg, 190, "!team", "^3")
	
	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();
		}
	}
	}
}
e ok acuma tin mai mult armele, doar ca este o porblema, meniul apare automat la inceput de runda si la jucatori care nu au vip pe server si cand iau arme din meniul default de la server apare automat si armele de la gold, se paote face ceva in privinta asta?
User avatar
CyBer[N]eTicK
Membru, skill +1
Membru, skill +1
Posts: 190
Joined: 29 May 2020, 05:35
Detinator Steam: Da
CS Status: Strong & Original
Detinator server CS: BB.BLACKGAMES.RO
SteamID: /id/cybernetick_cbk/
Fond eXtream: 0
Location: Albania, tirana
Discord: cybernetick_cbk
Has thanked: 21 times
Been thanked: 18 times
Contact:

22 Feb 2023, 21:59

Da, desigur se poate face și ceva în privința aceasta. Trebuie să-mi lași meniul default de arme de pe server ca să îl pot introduce în Pluginul de VIP și pot rezolva acest lucru. Cel mai simplu ar fi să-ți fac o verificare dacă jucătorul are armă de gold și dacă moare să-i dispară definitiv și dacă vrei s-o ei trebuie să o cumperi iar.
Și da Meniurile de arme din pluginul de VIP nu sunt setate pentru VIP's dar se poate rezolva și acest lucru doar să-mi zici ce flag vrei să fie la VIP.
Zpp.Mihai94
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 05 Feb 2018, 13:03
Detinator Steam: Da
CS Status: ZMXP
Detinator server CS: ZMXP.WESTCSTRIKE.RO
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time
Contact:

22 Feb 2023, 22:11

flagurile care sunt si la meniul de vip de acuma "ab" parca

asta pluginul de arme standard.

Code: Select all

/**
 * csdm_equip.sma
 * Allows for Counter-Strike to be played as DeathMatch.
 *
 * CSDM Equipment Menu
 *
 * By Freecode and BAILOPAN
 * (C)2003-2014 David "BAILOPAN" Anderson
 *
 *  Give credit where due.
 *  Share the source - it sets you free
 *  http://www.opensource.org/
 *  http://www.gnu.org/
 */
 
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <csdm>
#include <fakemeta>

//Tampering with the author and name lines can violate the copyright
new PLUGINNAME[] = "CSDM Equip"
new VERSION[] = CSDM_VERSION
new AUTHORS[] = "CSDM Team"

#define	EQUIP_PRI	(1<<0)
#define	EQUIP_SEC	(1<<1)
#define	EQUIP_ARMOR	(1<<2)
#define	EQUIP_GREN	(1<<3)
#define EQUIP_ITEMS	(1<<4)
#define	EQUIP_ALL	(EQUIP_PRI|EQUIP_SEC|EQUIP_ARMOR|EQUIP_GREN|EQUIP_ITEMS)

#define ITEMTYPES_NUM	42

new bool:IsRestricted[ITEMTYPES_NUM] = {false, ...}	// Contains if an item is restricted or not
new RestrictWps[ITEMTYPES_NUM] = {32, ...}
new UsedWpsT[ITEMTYPES_NUM] = {0, ...}
new UsedWpsCT[ITEMTYPES_NUM] = {0, ...}

//Menus
new g_SecMenu[] = "CSDM: Secondary Weapons"		// Menu Name
new g_SecMenuID = -1							// Menu ID
new g_cSecondary								// Menu Callback
new bool:g_mSecStatus = true					// Menu Available?

new g_PrimMenu[] = "CSDM: Primary Weapons"
new g_PrimMenuID = -1
new g_cPrimary
new bool:g_mPrimStatus = true

new g_ArmorMenu[] = "CSDM: Armor"
new g_ArmorMenuID = -1
new bool:g_mArmorStatus = true

new g_NadeMenu[] = "CSDM: Grenades"
new g_NadeMenuID = -1
new bool:g_mNadeStatus = true

new g_EquipMenu[] = "CSDM: Equip"
new g_EquipMenuID = -1
new g_cEquip

new bool:g_mShowuser[33] = true

new bool:g_mAutoNades = false
new bool:g_mAutoArmor = false
new bool:g_AlwaysAllowGunMenu = false
new bool:g_AmmoRefill = false
new g_WeaponStayTime = 0

//Weapon Selections
new g_SecWeapons[33][18]
new g_PrimWeapons[33][18]
new bool:g_mNades[33]
new bool:g_mArmor[33]

//Config weapon storage holders
new g_BotPrim[MAX_WEAPONS][18]
new g_iNumBotPrim

new g_BotSec[MAX_WEAPONS][18]
new g_iNumBotSec

new g_Secondary[MAX_SECONDARY][18]
new bool:g_DisabledSec[MAX_WEAPONS]
new g_iNumSec
new g_iNumUsedSec = 0

new g_Primary[MAX_PRIMARY][18]
new bool:g_DisabledPrim[MAX_WEAPONS]
new g_iNumPrim
new g_iNumUsedPrim = 0

new pv_csdm_additems

#define SILENCED_M4A1	0
#define SILENCED_USP		1
new bool:g_Silenced[33][2]

//Misc
new g_Armor = 0
new fnadesnum = 0
new bool:g_Nade = false
new bool:g_NightVision = false
new bool:g_DefuseKit = false

// page info for settings in CSDM Setting Menu
new g_SettingsMenu = 0
new g_EquipSettMenu = 0
new g_ItemsInMenuNr = 0
new g_PageSettMenu = 0

//Quick Fix for menu pages
new g_MenuState[33] = {0}

new Float:g_maxdelmenutime = 30.0

public csdm_Init(const version[])
{
	if (version[0] == 0)
	{
		set_fail_state("CSDM failed to load.")
		return
	}

	// Menus and callbacks
	g_SecMenuID = menu_create(g_SecMenu, "m_SecHandler", 0)
	g_PrimMenuID = menu_create(g_PrimMenu, "m_PrimHandler", 0)
	g_ArmorMenuID = menu_create(g_ArmorMenu, "m_ArmorHandler", 0)
	g_NadeMenuID = menu_create(g_NadeMenu, "m_NadeHandler", 0)
	g_EquipMenuID = menu_create(g_EquipMenu, "m_EquipHandler", 0)

	menu_setprop(g_PrimMenuID, MPROP_EXIT, MEXIT_NEVER)
	menu_setprop(g_SecMenuID, MPROP_EXIT, MEXIT_NEVER)

	g_cSecondary = menu_makecallback("c_Secondary")
	g_cPrimary = menu_makecallback("c_Primary")
	g_cEquip = menu_makecallback("c_Equip")
}

public csdm_CfgInit()
{
	csdm_reg_cfg("settings", "cfgMainSettings")
	csdm_reg_cfg("misc", "cfgMiscSettings")

	// Config reader
	csdm_reg_cfg("equip", "cfgSetting")

	// In order for weapon menu
	csdm_reg_cfg("secondary", "cfgSecondary")
	csdm_reg_cfg("primary", "cfgPrimary")
	csdm_reg_cfg("botprimary", "cfgBotPrim")
	csdm_reg_cfg("botsecondary", "cfgBotSec")
	csdm_reg_cfg("item_restrictions", "cfgrestricts")
	set_task(2.0, "check_cvar_pointers", 790)
}

public check_cvar_pointers()
{
	pv_csdm_additems = get_cvar_pointer("csdm_add_items")
}

public plugin_init()
{
	register_plugin(PLUGINNAME, VERSION, AUTHORS)

	// Build Armor/Nade/Equip Menu's
	buildMenu()
	
	register_clcmd("say guns", "enableMenu")
	register_clcmd("say /guns", "enableMenu")
	register_clcmd("say menu", "enableMenu")
	register_clcmd("say enablemenu", "enableMenu")
	register_clcmd("say enable_menu", "enableMenu")
	register_concmd("csdm_es_menu", "csdm_es_menu", ADMIN_MAP, "CSDM Equip Settings Menu")
	register_event("TextMsg","eRestart","a","2&#Game_C","2&#Game_w")

	new main_plugin = module_exists("csdm_main") ? true : false

	if (main_plugin)
	{
		g_SettingsMenu = csdm_settings_menu()
		g_ItemsInMenuNr = menu_items(g_SettingsMenu)
		g_PageSettMenu = g_ItemsInMenuNr / 7

		g_EquipSettMenu = menu_create("CSDM Equip Settings Menu", "use_csdm_equip_menu")

		menu_additem(g_SettingsMenu, "CSDM Equip Settings", "csdm_es_menu", ADMIN_MAP)

		if (g_EquipSettMenu)
		{
			new callback = menu_makecallback("hook_equip_sett_display")
			menu_additem(g_EquipSettMenu, "Equip Menu Primary Enabled/Disabled", "1", ADMIN_MAP, callback)
			menu_additem(g_EquipSettMenu, "Equip Menu Secondary Enabled/Disabled", "2", ADMIN_MAP, callback)
			menu_additem(g_EquipSettMenu, "Equip Menu Armor Enabled/Disabled", "3", ADMIN_MAP, callback)
			menu_additem(g_EquipSettMenu, "Equip Menu Grenades Enabled/Disabled", "4", ADMIN_MAP, callback)
			menu_additem(g_EquipSettMenu, "Auto equip with Armor Enabled/Disabled", "5", ADMIN_MAP, callback)
			menu_additem(g_EquipSettMenu, "Auto equip with Helmet Enabled/Disabled", "6", ADMIN_MAP, callback)
			menu_additem(g_EquipSettMenu, "Auto equip with Grenades Enabled/Disabled", "7", ADMIN_MAP, callback)
			menu_additem(g_EquipSettMenu, "Auto equip with Defuser Enabled/Disabled", "8", ADMIN_MAP, callback)
			menu_additem(g_EquipSettMenu, "Auto equip with Nightvision Enabled/Disabled", "9", ADMIN_MAP, callback)
			menu_additem(g_EquipSettMenu, "HE grenade Enabled/Disabled", "12", ADMIN_MAP, callback)
			menu_additem(g_EquipSettMenu, "Always Allow Gun Menu Enabled/Disabled", "13", ADMIN_MAP, callback)
			menu_additem(g_EquipSettMenu, "Back", "14", 0, -1)
		}
	}
	else 
		log_amx("CSDM - csdm_equip - no main plugin loaded")

	if (g_iNumUsedSec == 0)
		g_mSecStatus = false
	if (g_iNumUsedPrim == 0)
		g_mPrimStatus = false
}

public eRestart()
{
	arrayset(UsedWpsT, 0, ITEMTYPES_NUM)
	arrayset(UsedWpsCT, 0, ITEMTYPES_NUM)
	return PLUGIN_CONTINUE
}

public client_connect(id)
{
	g_mShowuser[id] = true
	g_mNades[id] = false
	g_mArmor[id] = false
	g_Silenced[id][SILENCED_M4A1] = false
	g_Silenced[id][SILENCED_USP] = false
	
	return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
	g_mShowuser[id] = true
	g_mNades[id] = false
	g_mArmor[id] = false

	new weapons[MAX_WEAPONS], num
	new weapid
	new team = get_user_team(id)

	get_user_weapons(id, weapons, num)

	for (new i=0; i<num; i++)
	{
		weapid = weapons[i]
		if ((IsRestricted[weapid]) && (UsedWpsT[weapid] > 0) && (team == _TEAM_T))
		{
			UsedWpsT[weapid]--
		}
		if ((IsRestricted[weapid]) && (UsedWpsCT[weapid] > 0) && (team == _TEAM_CT))
		{
			UsedWpsCT[weapid]--
		}
	}
	return PLUGIN_CONTINUE
}

public csdm_RemoveWeapon(owner, entity_id, boxed_id)
{
	new classname[32], weapon
	new team
	if (!pev_valid(entity_id))
		return PLUGIN_HANDLED

	pev(entity_id, pev_classname, classname, 31)
	weapon = get_weaponid(classname)

	if (weapon == CSW_M4A1)
	{
		g_Silenced[owner][SILENCED_M4A1] = cs_get_weapon_silen(entity_id) ? true : false
	} else if (weapon == CSW_USP) {
		g_Silenced[owner][SILENCED_USP] = cs_get_weapon_silen(entity_id) ? true : false
	}

	if ((owner) && (weapon))
	{
		team = get_user_team(owner)

		if ((IsRestricted[weapon]) && (UsedWpsT[weapon] > 0) && (team == _TEAM_T))
		{
			UsedWpsT[weapon]--
//			log_amx("[DEBUG] CSDM - restricted weapon %s removed. Currently there is %d such weapons on the map.", classname, UsedWpsT[weapon])
		}
		if ((IsRestricted[weapon]) && (UsedWpsCT[weapon] > 0) && (team == _TEAM_CT))
		{
			UsedWpsCT[weapon]--
//			log_amx("[DEBUG] CSDM - restricted weapon %s removed. Currently there is %d such weapons on the map.", classname, UsedWpsCT[weapon])
		}
	}

	return PLUGIN_CONTINUE
}

public csdm_PostDeath(killer, victim, headshot, const weapon[])
{
	/* Clean up any defusal kits we might have made! */
	if (!g_DefuseKit)
	{
		return
	}
	
	/* This might have a race condition for team switches... */
	if (get_user_team(victim) == _TEAM_CT)
	{
		cs_set_user_defuse(victim, 0)
	}
}

public cfgSecondary(readAction, line[], section[])
{
	if (readAction == CFG_READ)
	{
		if (g_iNumSec >= MAX_SECONDARY)
			return PLUGIN_HANDLED
		
		new wep[16], display[48], dis[4]
		new cmd[6]

		parse(line, wep, 15, display, 47, dis, 3)
		
		new disabled = str_to_num(dis)
		
		//Copy weapon into array
		format(g_Secondary[g_iNumSec], 17, "weapon_%s", wep)

		g_DisabledSec[g_iNumSec] = disabled ? false : true		

		format(cmd,5,"%d ",g_iNumSec)
		g_iNumSec++

		if (disabled > 0)
		{
			g_iNumUsedSec++
		}

		//TODO: Add menu_destroy_items to remake menu on cfg reload
		menu_additem(g_SecMenuID, display, cmd, 0, g_cSecondary)
	}
	else if (readAction == CFG_RELOAD)
	{
		g_SecMenuID = menu_create(g_SecMenu, "m_SecHandler", 0)
		g_iNumSec = 0
		g_iNumUsedSec = 0
	}
	else if (readAction == CFG_DONE)
	{
		//Nothing for now
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_HANDLED
}

public cfgPrimary(readAction, line[], section[])
{
	if (readAction == CFG_READ)
	{
		if (g_iNumPrim >= MAX_PRIMARY)	
			return PLUGIN_HANDLED
			
		new wep[16], display[48], dis[4]
		new cmd[6]

		parse(line, wep, 15, display, 47, dis, 3)
		
		new disabled = str_to_num(dis)
		
		//Copy weapon into array
		format(g_Primary[g_iNumPrim], 17, "weapon_%s", wep)
		g_DisabledPrim[g_iNumPrim] = disabled ? false : true
		
		format(cmd, 5, "%d", g_iNumPrim)
		g_iNumPrim++

		if (disabled > 0)
			g_iNumUsedPrim++


		//TODO: Add menu_destroy_items to remake menu on cfg reload
		menu_additem(g_PrimMenuID, display, cmd, 0, g_cPrimary)
	} else if (readAction == CFG_RELOAD) {
		g_PrimMenuID = menu_create(g_PrimMenu, "m_PrimHandler", 0)
		g_iNumPrim = 0
		g_iNumUsedPrim = 0
	} else if (readAction == CFG_DONE) {
		//Nothing for now
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_HANDLED
}
	
	
public cfgBotPrim(readAction, line[], section[])
{
	if (readAction == CFG_READ)
	{
	
		new wep[16], display[32]

		parse(line, wep, 15, display, 31)
		
		//Copy weapon into array
		format(g_BotPrim[g_iNumBotPrim], 17, "weapon_%s", wep)
		g_iNumBotPrim++
	} else if (readAction == CFG_RELOAD) {
		g_iNumBotPrim = 0
	} else if (readAction == CFG_DONE) {
		//Nothing for now
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_HANDLED
}

public cfgBotSec(readAction, line[], section[])
{
	if (readAction == CFG_READ)
	{
	
		new wep[16], display[32]

		parse(line, wep, 15, display, 31)
		
		//Copy weapon into array
		format(g_BotSec[g_iNumBotSec], 17, "weapon_%s", wep)
		g_iNumBotSec++
	} else if (readAction == CFG_RELOAD) {
		g_iNumBotSec = 0
	} else if (readAction == CFG_DONE) {
		//Nothing for now
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_HANDLED
}

public cfgSetting(readAction, line[], section[])
{
	if (readAction == CFG_READ)
	{

		new setting[24], sign[3], value[6]

		parse(line, setting, 23, sign, 2, value, 5)
		
		// Menus settings
		if (contain(setting,"menus") != -1)
		{
			if (containi(value, "p") != -1)
			{
				g_mPrimStatus = true
			}
			
			if (containi(value, "s") != -1)
			{
				g_mSecStatus = true
			}
			
			if (containi(value, "a") != -1)
			{
				g_mArmorStatus = true
			}
			
			if (containi(value, "g") != -1)
			{
				g_mNadeStatus = true
			}
			
			return PLUGIN_HANDLED
		} else if (contain(setting, "autoitems") != -1) {

			if (containi(value, "a")  != -1)
			{
				//Disable Armor Menu
				g_mArmorStatus = false
				g_mAutoArmor = true
				
				g_Armor = 1
			}
						
			if (containi(value, "h") != -1)
			{
				//Disable Armor Menu
				g_mArmorStatus = false
				g_mAutoArmor = true
				g_Armor = 2
			}
			
			if (containi(value, "g") != -1)
			{
				//Disable Grenade Menu
				g_mNadeStatus = false
				g_mAutoNades = true
			}
			
			if (containi(value, "d") != -1)
			{
				g_DefuseKit = true
			}
			
			if (containi(value, "n") != -1)
			{
				g_NightVision = true
			}
			
			return PLUGIN_HANDLED
		} else if (contain(setting, "grenades") != -1) {
			
			if (containi(value, "h") != -1)
			{
				g_Nade = true
			}
			
		} else if (contain(setting, "fnadesnum") != -1) {
			fnadesnum = str_to_num(value)
		} else if (contain(setting, "always_allow_gunmenu") != -1) {
			g_AlwaysAllowGunMenu = str_to_num(value)? true : false
		}
		return PLUGIN_HANDLED
	} else if (readAction == CFG_RELOAD) {
		g_mArmorStatus = false
		g_mNadeStatus = false
		g_Nade = false
		g_Armor = 0
		g_mSecStatus = false
		g_mPrimStatus = false
		g_mAutoNades = false
		g_DefuseKit = false
		g_NightVision = false
		fnadesnum = 1
	} else if (readAction == CFG_DONE) {
		//Nothing for now
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_HANDLED
}

public cfgrestricts(readAction, line[], section[])
{
	if (readAction == CFG_READ)
	{
		new itemname[24], value[32], limit
		parse(line, itemname, 23, value, 31)

		limit = 0
		if (value[0] != '0')
    	limit = str_to_num(value)

		new weapname[24], weaptype

		format(weapname, 23, "weapon_%s", itemname)

		weaptype = getWeapId(weapname)
//		weaptype = get_weaponid(weapname) // why this crap doesn't work here but works correctly during the game ?!?
//		log_amx("[DEBUG] CSDM - reading restrictions, weapon %s (weaptype = %d).", itemname, weaptype)
		if (weaptype != 0)
    {
			IsRestricted[weaptype] = true
			RestrictWps[weaptype] = limit
		}
//		log_amx("[DEBUG] CSDM - reading restrictions, restricted %s (weaptype = %d) = %d", itemname, weaptype, limit)
	}
	else if (readAction == CFG_RELOAD)
	{
		// Reset all restrictions
		arrayset(IsRestricted, false, ITEMTYPES_NUM)
		arrayset(RestrictWps, 32, ITEMTYPES_NUM)
		return PLUGIN_HANDLED
	}
	else if (readAction == CFG_DONE)
	{
		//Nothing for now
		return PLUGIN_HANDLED
	}
	return PLUGIN_HANDLED
}

public cfgMainSettings(readAction, line[], section[])
{
	if (readAction == CFG_READ)
	{
		new setting[24], sign[3], value[32];

		parse(line, setting, 23, sign, 2, value, 31);
		
		if (equali(setting, "weapons_stay")) {
			g_WeaponStayTime = str_to_num(value)
		}
	}
}

public cfgMiscSettings(readAction, line[], section[])
{		
	if (readAction == CFG_READ)
	{
		new setting[24], sign[3], value[32];

		parse(line, setting, 23, sign, 2, value, 31);
		
		if (equali(setting, "ammo_refill")) {
			g_AmmoRefill = str_to_num(value) ? true : false
		}
	} else if (readAction == CFG_RELOAD) {
		g_AmmoRefill = true
	}
}

//Equipment Menu callback
public c_Equip(id, menu, item)
{
	if( item < 0 ) return PLUGIN_CONTINUE

	new cmd[6], iName[64]
	new access, callback
	
	menu_item_getinfo(menu, item, access, cmd,5, iName, 63, callback)

	new weapon_s, weapon_p
	weapon_s = get_weaponid(g_SecWeapons[id])
	weapon_p = get_weaponid(g_PrimWeapons[id])
	if ( ((weapon_s == 0) && g_mSecStatus) || ((weapon_p == 0) && g_mPrimStatus) || IsRestricted[weapon_s] || IsRestricted[weapon_p] )
		return ITEM_DISABLED
	else
		return ITEM_ENABLED
	return PLUGIN_HANDLED
}

//Secondary Weapon Callback
public c_Secondary(id, menu, item)
{
	if( item < 0 ) return PLUGIN_CONTINUE
	
	new cmd[6], iName[64]
	new access, callback
	
	menu_item_getinfo(menu, item, access, cmd,5, iName, 63, callback)
	
	new dis = str_to_num(cmd)
	new team = get_user_team(id)
	new weaptype = get_weaponid(g_Secondary[dis])

	//Check to see if item is disabled
	if (g_DisabledSec[dis])
	{
		return ITEM_DISABLED
	}
	else if (!IsRestricted[weaptype])
	{
		return ITEM_ENABLED
	}
	else if ((UsedWpsT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_T) 
		|| (UsedWpsCT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_CT))
	{
		return ITEM_ENABLED
	}
	else
	{
		return ITEM_DISABLED
	}	
	return PLUGIN_HANDLED
}

//Primary Weapon Callback
public c_Primary(id, menu, item)
{

	if (item < 0)
		return PLUGIN_CONTINUE
	
	// Get item info
	new cmd[6], iName[64]
	new access, callback
	
	menu_item_getinfo(menu, item, access, cmd,5, iName, 63, callback)
	
	new dis = str_to_num(cmd)
	new team = get_user_team(id)
	new weaptype = get_weaponid(g_Primary[dis])

	//Check to see if item is disabled
	if (g_DisabledPrim[dis])
	{
		return ITEM_DISABLED
	}
	else if (!IsRestricted[weaptype])
	{
		return ITEM_ENABLED
	}
	else if ((UsedWpsT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_T) 
					|| (UsedWpsCT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_CT))
	{
		return ITEM_ENABLED
	}
	else
	{
		return ITEM_DISABLED
	}		
	return PLUGIN_HANDLED
}

//Equipment Menu handler
public m_EquipHandler(id, menu, item)
{
	if (item < 0)
	{
		return PLUGIN_CONTINUE
	}

	// Get item info
	new cmd[2], iName[64]
	new access, callback
	
	menu_item_getinfo(menu, item, access, cmd, 1, iName, 63, callback)
	
	new choice = str_to_num(cmd)
	
	switch(choice)
	{
		case 1:
		{
			if (g_mSecStatus)
			{
				menu_display(id, g_SecMenuID, 0)
			}
			else if (g_mPrimStatus)
			{
				menu_display(id, g_PrimMenuID, 0)
			}
			else if (g_mArmorStatus)
			{
				menu_display(id, g_ArmorMenuID, 0)
			}
			else if (g_mNadeStatus)
			{
				if (g_mAutoArmor)
				{
					equipUser(id, EQUIP_ARMOR)
				}
				menu_display(id, g_NadeMenuID, 0)
			} else {
				if (g_mAutoArmor)
				{
					equipUser(id, EQUIP_ARMOR)
				}
				if (g_mAutoNades)
				{
					equipUser(id, EQUIP_GREN)
				}
				equipUser(id, EQUIP_ITEMS)
			}
		}
		case 2:
		{
			// Equip person with last settings
			equipUser(id, EQUIP_ALL)
		}
		case 3:
		{
			g_mShowuser[id] = false
			client_print(id, print_chat, "[CSDM] Type ^"guns^" in chat to re-enable your equip menu.")
			equipUser(id, EQUIP_ALL)
		}
	}
	
	return PLUGIN_HANDLED
}


//Secondary Weapon Menu handler
public m_SecHandler(id, menu, item)
{
	// Get item info
	new cmd[6], iName[64]
	new access, callback
	
	menu_item_getinfo(menu, item, access, cmd,5, iName, 63, callback)
	
	new wep = str_to_num(cmd)
	
	new team = get_user_team(id)
	new weaptype = get_weaponid(g_Secondary[wep])

	if (((UsedWpsT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_T) 
			|| (UsedWpsCT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_CT))
      && !g_DisabledSec[wep])
	{
		copy(g_SecWeapons[id],17,g_Secondary[wep])
		equipUser(id, EQUIP_SEC)
	}
	else if (g_mSecStatus)
	{
		menu_display(id, g_SecMenuID, 0)
		return PLUGIN_HANDLED
	}

	// Show next menu here
	
	if (g_mPrimStatus)
	{
		menu_display(id, g_PrimMenuID, 0)
	}
	else if (g_mArmorStatus)
	{
		menu_display(id, g_ArmorMenuID, 0)
	}
	else if (g_mNadeStatus)
	{
		if (g_mAutoArmor)
		{
			equipUser(id, EQUIP_ARMOR)
		}
		menu_display(id, g_NadeMenuID, 0)
	}
	else
	{
		if (g_mAutoArmor)
		{
			equipUser(id, EQUIP_ARMOR)
		}
		if (g_mAutoNades)
		{
			equipUser(id, EQUIP_GREN)
		}
		equipUser(id, EQUIP_ITEMS)
	}
	
	return PLUGIN_HANDLED
}

//Primary Weapon Menu handler
public m_PrimHandler(id, menu, item)
{
	if (item < 0)  return PLUGIN_HANDLED
	
	// Get item info
	new cmd[6], iName[64]
	new access, callback
	
	if (menu_item_getinfo(menu, item, access, cmd,5, iName, 63, callback))
	{
		new wep = str_to_num(cmd)
	
		new team = get_user_team(id)
		new weaptype = get_weaponid(g_Primary[wep])

		if (((UsedWpsT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_T) 
			|| (UsedWpsCT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_CT))
         && !g_DisabledPrim[wep])
		{
			copy(g_PrimWeapons[id], 17, g_Primary[wep])
			equipUser(id, EQUIP_PRI)
		}
		else if (g_mPrimStatus)
		{
			menu_display(id, g_PrimMenuID, 0)
			return PLUGIN_HANDLED
		}
	}

	// Show next menu here
		
	if (g_mArmorStatus)
	{
		menu_display(id, g_ArmorMenuID, 0)
	}
	else if (g_mNadeStatus)
	{
		if (g_mAutoArmor)
		{
			equipUser(id, EQUIP_ARMOR)
		}
		menu_display(id, g_NadeMenuID, 0)
	} else {
		if (g_mAutoArmor)
		{
			equipUser(id, EQUIP_ARMOR)
		}
		if (g_mAutoNades)
		{
			equipUser(id, EQUIP_GREN)
		}
		equipUser(id, EQUIP_ITEMS)
	}
	
	return PLUGIN_HANDLED
}

//Armor Menu handler
public m_ArmorHandler(id, menu, item)
{
	if (item < 0) return PLUGIN_CONTINUE
	
	// Get item info
	new cmd[6], iName[64]
	new access, callback

	menu_item_getinfo(menu, item, access, cmd,5, iName, 63, callback)
	
	new choice = str_to_num(cmd)
	
	if (choice == 1)
	{
		g_mArmor[id] = true
	}
	else if (choice == 2)
	{
		g_mArmor[id] = false
	}
	equipUser(id, EQUIP_ARMOR)
	
	// Show next menu here
	
	if (g_mNadeStatus)
	{
		menu_display(id, g_NadeMenuID, 0)
	} else {
		if (g_mAutoNades)
		{
			equipUser(id, EQUIP_GREN)
		}
		equipUser(id, EQUIP_ITEMS)
	}
	
	return PLUGIN_HANDLED
}

//Nade Menu handler
public m_NadeHandler(id, menu, item)
{
	if (item < 0) return PLUGIN_CONTINUE
	
	new cmd[6], iName[64]
	new access, callback
	
	menu_item_getinfo(menu, item, access, cmd, 5, iName, 63, callback)
	
	new choice = str_to_num(cmd)
	
	if (choice == 1)
	{
		g_mNades[id] = true
	}
	else if (choice == 2)
	{
		g_mNades[id] = false
	}
	
	equipUser(id, EQUIP_GREN)
	equipUser(id, EQUIP_ITEMS)

	return PLUGIN_HANDLED
}

buildMenu()
{
	//Equip Menu
	menu_additem(g_EquipMenuID, "New Weapons", "1", 0, -1)
	menu_additem(g_EquipMenuID, "Previous Setup", "2", 0, g_cEquip)
	menu_additem(g_EquipMenuID, "2+Don't show menu again", "3", 0, g_cEquip)
	menu_setprop(g_EquipMenuID, MPROP_EXIT, MEXIT_NEVER)

	//Armor Menu
	menu_additem(g_ArmorMenuID, "Yes, armor up", "1", 0, -1)
	menu_additem(g_ArmorMenuID, "No Armor", "2", 0, -1)
	menu_setprop(g_ArmorMenuID, MPROP_EXIT, MEXIT_NEVER)
	
	//Nade Menu
	menu_additem(g_NadeMenuID, "All Grenades", "1", 0, -1)
	menu_additem(g_NadeMenuID, "No Grenades", "2", 0, -1)
	menu_setprop(g_NadeMenuID, MPROP_EXIT, MEXIT_NEVER)
	
	return PLUGIN_HANDLED
}

equipUser(id, to)
{
	if (!is_user_alive(id) )
		return
	
	new weaptype
	new team = get_user_team(id)

	if ((to & EQUIP_SEC) && get_weaponid(g_SecWeapons[id]))
	{
		//Give Secondary
		GiveUserFullWeapon(id, g_SecWeapons[id])
	}
	
	if ((to & EQUIP_PRI) && get_weaponid(g_PrimWeapons[id]))
	{
		//Give Primary
		GiveUserFullWeapon(id, g_PrimWeapons[id])
	}
	
	if (to & EQUIP_ARMOR)
	{
		//Give Armor
		if (g_mAutoArmor || g_mArmor[id])
		{
			new armor = g_mArmor[id] ? 2 : g_Armor
			cs_set_user_armor(id, DEFAULT_ARMOR, CsArmorType:armor)
		}
	}
	
	if (to & EQUIP_GREN)
	{
		//Give Nades
		if (g_mNades[id] || g_mAutoNades)
		{
				
			if (g_Nade)
			{
				weaptype = get_weaponid("weapon_hegrenade")

				if (IsRestricted[weaptype])
				{
					if ((UsedWpsT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_T))
					{
						UsedWpsT[weaptype]++
						GiveUserFullWeapon(id,"weapon_hegrenade")
					}
					if ((UsedWpsCT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_CT))
					{
						UsedWpsCT[weaptype]++
						GiveUserFullWeapon(id,"weapon_hegrenade")
					}
				}
				else
					GiveUserFullWeapon(id,"weapon_hegrenade")
			}
		
				if (fnadesnum == 2)
				{
					if (IsRestricted[weaptype])
					{
						if ((UsedWpsT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_T))
						{
							UsedWpsT[weaptype]++
							GiveUserFullWeapon(id, "weapon_flashbang")
						}
						if ((UsedWpsCT[weaptype] < RestrictWps[weaptype]) && (team == _TEAM_CT))
						{
							UsedWpsCT[weaptype]++
							GiveUserFullWeapon(id, "weapon_flashbang")
						}
					}
					else 
						GiveUserFullWeapon(id, "weapon_flashbang")
				}
			}
		}
	}
	


GiveUserFullWeapon(id, const wp[])
{
	/** First check to make sure the user does not have a weapon in this slot */
	new wpnid = get_weaponid(wp)
	new weapons[MAX_WEAPONS], num
	new name[24], weap
	new slot

	if (!is_user_connected(id)) return

	new team = get_user_team(id)

	if (wpnid == 0)
	{
		if (equal(wp, "weapon_shield"))
		{
			slot = SLOT_PRIMARY
			wpnid = -1
		}
	} else {
		slot = g_WeaponSlots[wpnid]
	}
	if ((slot == SLOT_SECONDARY || slot == SLOT_PRIMARY)
		 && wpnid > 0)
	{
		get_user_weapons(id, weapons, num)
		for (new i=0; i<num; i++)
		{
			weap = weapons[i]
			if (weap == wpnid)
			{
				continue
			}
			if (g_WeaponSlots[weap] == slot)
			{
				if (slot == SLOT_SECONDARY && cs_get_user_shield(id))
				{
					//temporary fix!
					drop_with_shield(id, weap)
				} else {
					get_weaponname(weap, name, 23)
					csdm_force_drop(id, name)
				}
			}
		}
	} else if (slot == SLOT_PRIMARY && wpnid == -1 && cs_get_user_shield(id)) {
		return
	}
	
	if (slot == SLOT_PRIMARY && cs_get_user_shield(id) && wpnid > 0)
	{
		csdm_fwd_drop(id, -1, "weapon_shield")
	}
	
	new item_id = csdm_give_item(id, wp)
	if (item_id > 0)
	{
		if (wpnid == CSW_M4A1)
		{
			cs_set_weapon_silen(item_id, g_Silenced[id][SILENCED_M4A1], 1)
		} else if (wpnid == CSW_USP) {
			cs_set_weapon_silen(item_id, g_Silenced[id][SILENCED_USP], 1)
		}
	}

	if (wpnid > 0)
	{
		new bpammo = g_MaxBPAmmo[wpnid]
		if (bpammo)
		{
			cs_set_user_bpammo(id, wpnid, bpammo)
		}

		if (IsRestricted[wpnid])
		{
			if ((UsedWpsT[wpnid] < RestrictWps[wpnid]) && (team == _TEAM_T))
			{
				UsedWpsT[wpnid]++
			}
			if ((UsedWpsCT[wpnid] < RestrictWps[wpnid]) && (team == _TEAM_CT))
			{
				UsedWpsCT[wpnid]++
			}
		}
	}
}

// MAIN FUNCTION OF THE PLUGIN
public csdm_PostSpawn(player)
{
	if (pv_csdm_additems)
	{
	if (get_pcvar_num(pv_csdm_additems))
		return PLUGIN_CONTINUE
	}

	if (is_user_bot(player))
	{
			new i, weapon_p, weapon_s
			new randPrim = random_num(0, g_iNumBotPrim-1)
			new randSec = random_num(0, g_iNumBotSec-1)

			new team = get_user_team(player)
			weapon_p = get_weaponid(g_BotPrim[randPrim])

			i = 0
			while ((i < 10) && (IsRestricted[weapon_p]) 
					&& ((UsedWpsT[weapon_p] >= RestrictWps[weapon_p]) && (team == _TEAM_T) 
							|| (UsedWpsCT[weapon_p] >= RestrictWps[weapon_p]) && (team == _TEAM_CT)))
			{
				randPrim++
				if (randPrim >= g_iNumBotPrim)
					randPrim = 0
				weapon_p = get_weaponid(g_BotPrim[randPrim])
				i++
			}

			weapon_s = get_weaponid(g_BotSec[randSec])
			i = 0
			while ((i < 10) && (IsRestricted[weapon_s]) 
					&& ((UsedWpsT[weapon_s] >= RestrictWps[weapon_s]) && (team == _TEAM_T) 
							|| (UsedWpsCT[weapon_s] >= RestrictWps[weapon_s]) && (team == _TEAM_CT)))
			{
				randSec++
				if (randSec >= g_iNumBotSec)
					randSec = 0
				weapon_s = get_weaponid(g_BotSec[randSec])
				i++
			}

			new randArm = random_num(0, 2)
			new randGre = random_num(0, 2)
			
			if (g_mPrimStatus)
				GiveUserFullWeapon(player, g_BotPrim[randPrim])
			if (g_mSecStatus)
				GiveUserFullWeapon(player, g_BotSec[randSec])

			g_mArmor[player] = (g_mArmorStatus && randArm)
			g_mNades[player] = (g_mNadeStatus && randGre)
	
			if (g_mAutoArmor || g_mArmor[player])
			{
				equipUser(player, EQUIP_ARMOR)
			}

			if (g_mAutoNades || g_mNades[player])
			{
				equipUser(player, EQUIP_GREN)
			}
			if (g_DefuseKit)
			{
				equipUser(player, EQUIP_ITEMS)
			}
	} else {
		if (g_mShowuser[player])
		{
			new oldmenuid, newmenuid
			new bool:bEquipMenuDisp = false

			player_menu_info(player, oldmenuid, newmenuid) // main thing to prevent overwrite some menu by gun menu

			if ((newmenuid != -1) && ((newmenuid == g_SecMenuID) || (newmenuid == g_PrimMenuID) 
				|| (newmenuid == g_ArmorMenuID) || (newmenuid == g_EquipMenuID)))
				bEquipMenuDisp = true

			if ((bEquipMenuDisp) || (oldmenuid<=0) || (g_maxdelmenutime==0))
			{
				g_MenuState[player] = 1
				menu_display(player, g_EquipMenuID, 0)
			}
			else
			{
				new param[1]
				param[0] = player
				if (g_maxdelmenutime>0)	set_task(1.0,	"checkmenu",	850+player,	param,	1,	"b")
				set_task(g_maxdelmenutime, "menu_delayed", 700+player, param, 1)
			}
		} else {
			g_MenuState[player] = 0
			set_task(0.2, "delay_equip", player)
//			equipUser(player, EQUIP_ALL)
		}
	}
	return PLUGIN_CONTINUE
}

public delay_equip(id)
{
	if (is_user_connected(id))
		equipUser(id, EQUIP_ALL)
}

public enableMenu(id)
{
	if (!csdm_active())
		return PLUGIN_CONTINUE
		
	if (!g_mShowuser[id])
	{
		g_mShowuser[id] = true
		client_print(id, print_chat, "[CSDM] Your equip menu has been re-enabled.")
		if (!g_MenuState[id])
		{
			g_MenuState[id] = 1
			menu_display(id, g_EquipMenuID, 0)
		}
	} 
	else if (!g_AlwaysAllowGunMenu || !g_AmmoRefill || (g_WeaponStayTime > 5))
	{
		if (!g_AlwaysAllowGunMenu)
			client_print(id, print_chat, "[CSDM] Your equip menu is already enabled - You should have a gun already.")
		else if (!g_AmmoRefill)
			client_print(id, print_chat, "[CSDM] You cannot use guns menu when You have a gun already and ammorefill is disabled.")
		else if (g_WeaponStayTime > 5)
			client_print(id, print_chat, "[CSDM] You cannot use guns menu when You have a gun already and weapon_stay time is too long.")
	}
	else
	{
		g_MenuState[id] = 1
		menu_display(id, g_EquipMenuID, 0)
	}
	return PLUGIN_HANDLED
}

public checkmenu(param[])
{
	new id = param[0]
	if (!id)
	{
		if (task_exists(850+id)) remove_task(850+id)
		return PLUGIN_CONTINUE
	}
	if (!is_user_connected(id))
	{
		if (task_exists(850+id)) remove_task(850+id)
		return PLUGIN_CONTINUE
	}

	new oldmenuid, newmenuid
	new bool:bEquipMenuDisp = false

	player_menu_info(id, oldmenuid, newmenuid)

	if ((newmenuid != -1) && ((newmenuid == g_SecMenuID) || (newmenuid == g_PrimMenuID) 
		|| (newmenuid == g_ArmorMenuID) || (newmenuid == g_EquipMenuID)))
		bEquipMenuDisp = true

	if ((oldmenuid<=0) || (bEquipMenuDisp))
	{
		g_MenuState[id] = 1
		menu_display(id, g_EquipMenuID, 0)
		if (task_exists(850+id)) remove_task(850+id)
		if (task_exists(700+id)) remove_task(700+id)
	}	
	return PLUGIN_CONTINUE
}

public menu_delayed(param[])
{
	new id = param[0]
	if (!id)
	{
		if (task_exists(700+id)) remove_task(700+id)
		return PLUGIN_HANDLED
	}

	if (!is_user_connected(id))
	{
		if (task_exists(850+id)) remove_task(850+id)
		return PLUGIN_HANDLED
	}

	g_MenuState[id] = 1
	menu_display(id, g_EquipMenuID, 0)
	
	if (task_exists(700+id))	remove_task(700+id)
	if (task_exists(850+id))  remove_task(850+id)	
	return PLUGIN_CONTINUE
}

stock getWeapId(wp[]) // this one is used, because get_weaponid doesn't work when csdm_CfgInit is called (something wrong with core intitialisation?
{
	if (equali(wp, "weapon_p228")) {
		return CSW_P228
	} else if (equali(wp, "weapon_scout")) {
		return CSW_SCOUT
	} else if (equali(wp, "weapon_hegrenade")) {
		return CSW_HEGRENADE
	} else if (equali(wp, "weapon_xm1014")) {
		return CSW_XM1014
	} else if (equali(wp, "weapon_c4")) {
		return CSW_C4
	} else if (equali(wp, "weapon_mac10")) {
		return CSW_MAC10
	} else if (equali(wp, "weapon_aug")) {
		return CSW_AUG
	} else if (equali(wp, "weapon_smokegrenade")) {
		return CSW_SMOKEGRENADE
	} else if (equali(wp, "weapon_elite")) {
		return CSW_ELITE
	} else if (equali(wp, "weapon_fiveseven")) {
		return CSW_FIVESEVEN
	} else if (equali(wp, "weapon_ump45")) {
		return CSW_UMP45
	} else if (equali(wp, "weapon_sg550")) {
		return CSW_SG550
	} else if (equali(wp, "weapon_galil")) {
		return CSW_GALIL
	} else if (equali(wp, "weapon_famas")) {
		return CSW_FAMAS
	} else if (equali(wp, "weapon_usp")) {
		return CSW_USP
	} else if (equali(wp, "weapon_glock18")) {
		return CSW_GLOCK18
	} else if (equali(wp, "weapon_awp")) {
		return CSW_AWP
	} else if (equali(wp, "weapon_mp5navy")) {
		return CSW_MP5NAVY
	} else if (equali(wp, "weapon_m249")) {
		return CSW_M249
	} else if (equali(wp, "weapon_m3")) {
		return CSW_M3
	} else if (equali(wp, "weapon_m4a1")) {
		return CSW_M4A1
	} else if (equali(wp, "weapon_tmp")) {
		return CSW_TMP
	} else if (equali(wp, "weapon_g3sg1")) {
		return CSW_G3SG1
	} else if (equali(wp, "weapon_flashbang")) {
		return CSW_FLASHBANG
	} else if (equali(wp, "weapon_deagle")) {
		return CSW_DEAGLE
	} else if (equali(wp, "weapon_sg552")) {
		return CSW_SG552
	} else if (equali(wp, "weapon_ak47")) {
		return CSW_AK47
	} else if (equali(wp, "weapon_knife")) {
		return CSW_KNIFE
	} else if (equali(wp, "weapon_p90")) {
		return CSW_P90
	}
	
	return 0
}

// stuff for settings menu - START

public csdm_es_menu(id, level, cid)
{
	if (!cmd_access(id, level, cid, 1) || !id)
		return PLUGIN_HANDLED

	menu_display(id, g_EquipSettMenu, 0)

	return PLUGIN_HANDLED
}

public use_csdm_equip_menu(id, menu, item)
{
	if (item < 0)
		return PLUGIN_CONTINUE

	new command[6], paccess, call
	if (!menu_item_getinfo(g_EquipSettMenu, item, paccess, command, 5, _, 0, call))
	{
		log_amx("Error: csdm_menu_item() failed (menu %d) (page %d) (item %d)", g_EquipSettMenu, 0, item)
		return PLUGIN_HANDLED
	}
	if (paccess && !(get_user_flags(id) & paccess))
	{
		client_print(id, print_chat, "You do not have access to this menu option.")
		return PLUGIN_HANDLED
	}

	new iChoice = str_to_num(command)
	
	switch(iChoice)
	{
		case 1:
		{
			g_mPrimStatus = g_mPrimStatus? false : true

			client_print(id, print_chat, "CSDM displaying primary gun menu %s.", g_mPrimStatus ? "enabled" : "disabled")
			log_amx("CSDM displaying primary gun menu %s.", g_mPrimStatus ? "enabled" : "disabled")

			menu_display(id, g_EquipSettMenu, 0)
			write_menus_settings(id)
			return PLUGIN_HANDLED
		}
		case 2:
		{
			g_mSecStatus = g_mSecStatus? false : true

			client_print(id, print_chat, "CSDM displaying secondary gun menu %s.", g_mSecStatus ? "enabled" : "disabled")
			log_amx("CSDM displaying secondary gun menu %s.", g_mSecStatus ? "enabled" : "disabled")

			menu_display(id, g_EquipSettMenu, 0)
			write_menus_settings(id)
			return PLUGIN_HANDLED
		}
		case 3:
		{
			g_mArmorStatus = g_mArmorStatus? false : true
			if (g_mArmorStatus)
				g_mAutoArmor = false

			client_print(id, print_chat, "CSDM displaying armor menu %s.", g_mArmorStatus ? "enabled" : "disabled")
			log_amx("CSDM displaying armor menu %s.", g_mArmorStatus ? "enabled" : "disabled")

			menu_display(id, g_EquipSettMenu, 0)
			write_menus_settings(id)
			return PLUGIN_HANDLED
		}
		case 4:
		{
			g_mNadeStatus = g_mNadeStatus? false : true
			if (g_mNadeStatus)
				g_mAutoNades = false

			client_print(id, print_chat, "CSDM displaying nades menu %s.", g_mNadeStatus ? "enabled" : "disabled")
			log_amx("CSDM displaying nades menu %s.", g_mNadeStatus ? "enabled" : "disabled")

			menu_display(id, g_EquipSettMenu, 0)
			write_menus_settings(id)
			return PLUGIN_HANDLED
		}
		case 5:
		{
			if ((g_Armor == 1) || (g_Armor == 2))
			{
				g_Armor = 0
				g_mAutoArmor = false
			}
			else if (g_Armor == 0)
			{
				g_Armor = 1
				g_mAutoArmor = true
				g_mArmorStatus = false
			}

			client_print(id, print_chat, "CSDM auto equiping players with armor %s.", g_mAutoArmor ? "enabled" : "disabled")
			log_amx("CSDM auto equiping players with armor %s.", g_mAutoArmor ? "enabled" : "disabled")

			menu_display(id, g_EquipSettMenu, 0)
			write_autoequip_settings(id)
			return PLUGIN_HANDLED
		}
		case 6:
		{
			if ((g_Armor == 0) || (g_Armor == 1))
			{
				g_Armor = 2
				g_mAutoArmor = true
				g_mArmorStatus = false
			}
			else if (g_Armor == 2)
			{
				g_Armor = 1
				g_mAutoArmor = true
				g_mArmorStatus = false
			}

			client_print(id, print_chat, "CSDM auto equiping players with helmet %s.", (g_Armor == 2) ? "enabled" : "disabled")
			log_amx("CSDM auto equiping players with helmet %s.", (g_Armor == 2) ? "enabled" : "disabled")

			menu_display(id, g_EquipSettMenu, 0)
			write_autoequip_settings(id)
			return PLUGIN_HANDLED
		}
		case 7:
		{
			g_mAutoNades = g_mAutoNades? false : true
			if (g_mAutoNades)
				g_mNadeStatus = false

			client_print(id, print_chat, "CSDM auto equiping players with grenades %s.", g_mAutoNades ? "enabled" : "disabled")
			log_amx("CSDM auto equiping players with grenades %s.", g_mAutoNades ? "enabled" : "disabled")

			menu_display(id, g_EquipSettMenu, 0)
			write_autoequip_settings(id)
			return PLUGIN_HANDLED
		}
		case 8:
		{
			g_DefuseKit = g_DefuseKit? false : true

			client_print(id, print_chat, "CSDM auto equiping players with defuser (CTs) %s.", g_DefuseKit ? "enabled" : "disabled")
			log_amx("CSDM auto equiping players with defuser (CTs) %s.", g_DefuseKit ? "enabled" : "disabled")

			menu_display(id, g_EquipSettMenu, 1)
			write_autoequip_settings(id)
			return PLUGIN_HANDLED
		}
		case 9:
		{
			g_NightVision = g_NightVision? false : true

			client_print(id, print_chat, "CSDM auto equiping players with nightvision %s.", g_NightVision ? "enabled" : "disabled")
			log_amx("CSDM auto equiping players with nightvision %s.", g_NightVision ? "enabled" : "disabled")

			menu_display(id, g_EquipSettMenu, 1)
			write_autoequip_settings(id)
			return PLUGIN_HANDLED
		}
		case 10:
		{
			g_Nade = g_Nade? false : true

			client_print(id, print_chat, "CSDM usage of he nades is %s.", g_Nade ? "enabled" : "disabled")
			log_amx("CSDM usage of he nades is %s.", g_Nade ? "enabled" : "disabled")

			menu_display(id, g_EquipSettMenu, 1)
			write_nades_settings(id)
			return PLUGIN_HANDLED
		}
		case 11:
		{
			g_AlwaysAllowGunMenu = g_AlwaysAllowGunMenu? false : true

			client_print(id, print_chat, "CSDM Always Allow Gun Menu is %s.", g_AlwaysAllowGunMenu ? "enabled" : "disabled")
			log_amx("CSDM Always Allow Gun Menu is %s.", g_AlwaysAllowGunMenu ? "enabled" : "disabled")

			menu_display(id, g_EquipSettMenu, 1)
			csdm_write_cfg(id, "equip", "always_allow_gunmenu", g_AlwaysAllowGunMenu ? "1" : "0")
			return PLUGIN_HANDLED
		}
		case 12:
		{
			menu_display(id, g_SettingsMenu, g_PageSettMenu)
			return PLUGIN_HANDLED
		}
	}
	return PLUGIN_HANDLED
}

public hook_equip_sett_display(player, menu, item)
{
	new paccess, command[24], call
	
	menu_item_getinfo(menu, item, paccess, command, 23, _, 0, call)
	
	if (equali(command, "1"))
	{
		if (g_mPrimStatus)
		{
			menu_item_setname(menu, item, "Equip Menu Primary Enabled")
		} else {
			menu_item_setname(menu, item, "Equip Menu Primary Disabled")
		}
	}
	if (equali(command, "2"))
	{
		if (g_mSecStatus)
		{
			menu_item_setname(menu, item, "Equip Menu Secondary Enabled")
		} else {
			menu_item_setname(menu, item, "Equip Menu Secondary Disabled")
		}
	}
	if (equali(command, "3"))
	{
		if (g_mArmorStatus)
		{
			menu_item_setname(menu, item, "Equip Menu Armor Enabled")
		} else {
			menu_item_setname(menu, item, "Equip Menu Armor Disabled")
		}
	}
	if (equali(command, "4"))
	{
		if (g_mNadeStatus)
		{
			menu_item_setname(menu, item, "Equip Menu Grenades Enabled")
		} else {
			menu_item_setname(menu, item, "Equip Menu Grenades Disabled")
		}
	}
	if (equali(command, "5"))
	{
		if (g_mAutoArmor)
		{
			menu_item_setname(menu, item, "Auto equip with Armor Enabled")
		} else {
			menu_item_setname(menu, item, "Auto equip with Armor Disabled")
		}
	}
	if (equali(command, "6"))
	{
		if ((g_mAutoArmor) && (g_Armor == 2))
		{
			menu_item_setname(menu, item, "Auto equip with Helmet Enabled")
		} else {
			menu_item_setname(menu, item, "Auto equip with Helmet Disabled")
		}
	}
	if (equali(command, "7"))
	{
		if (g_mAutoNades)
		{
			menu_item_setname(menu, item, "Auto equip with Grenades Enabled")
		} else {
			menu_item_setname(menu, item, "Auto equip with Grenades Disabled")
		}
	}
	if (equali(command, "8"))
	{
		if (g_DefuseKit)
		{
			menu_item_setname(menu, item, "Auto equip with Defuser Enabled")
		} else {
			menu_item_setname(menu, item, "Auto equip with Defuser Disabled")
		}
	}
	if (equali(command, "9"))
	{
		if (g_NightVision)
		{
			menu_item_setname(menu, item, "Auto equip with Nightvision Enabled")
		} else {
			menu_item_setname(menu, item, "Auto equip with Nightvision Disabled")
		}
	}
	if (equali(command, "10"))
	{
		if (g_Nade)
		{
			menu_item_setname(menu, item, "HE grenade Enabled")
		} else {
			menu_item_setname(menu, item, "HE grenade Disabled")
		}
	}
	if (equali(command, "11"))
	{
		if (g_AlwaysAllowGunMenu)
		{
			menu_item_setname(menu, item, "Always Allow Gun Menu Enabled")
		} else {
			menu_item_setname(menu, item, "Always Allow Gun Menu Disabled")
		}
	}
}

public write_menus_settings(id)
{
	new flags[5] = ""
	new menu_flags = 0

	if (g_mPrimStatus)
	{
		menu_flags |= (1<<0)
	}
	if (g_mSecStatus)
	{
		menu_flags |= (1<<1)
	}
	if (g_mArmorStatus)
	{
		menu_flags |= (1<<2)
	}
	if (g_mNadeStatus)
	{
		menu_flags |= (1<<3)
	}

	get_flags(menu_flags, flags, 4)
	replace(flags, 4, "a", "p")
	replace(flags, 4, "b", "s")
	replace(flags, 4, "c", "a")
	replace(flags, 4, "d", "g")
	csdm_write_cfg(id, "equip", "menus", flags)
}

public write_autoequip_settings(id)
{
	new flags[6] = ""
	new auto_flags = 0

	if (g_mAutoArmor)
	{
		auto_flags |= (1<<0)
	}
	if ((g_mAutoArmor) && (g_Armor == 2))
	{
		auto_flags |= (1<<1)
	}
	if (g_mAutoNades)
	{
		auto_flags |= (1<<2)
	}
	if (g_DefuseKit)
	{
		auto_flags |= (1<<3)
	}
	if (g_NightVision)
	{
		auto_flags |= (1<<4)
	}

	get_flags(auto_flags, flags, 5)
//	replace(flags, 5, "a", "a")
	replace(flags, 5, "b", "h")
	replace(flags, 5, "c", "g")
//	replace(flags, 5, "d", "d")
	replace(flags, 5, "e", "n")
	csdm_write_cfg(id, "equip", "autoitems", flags)
}

public write_nades_settings(id)
{
	new flags[4] = ""
	new nade_flags = 0

	if (g_Nade)
	{
		nade_flags |= (1<<1)
	}

	get_flags(nade_flags, flags, 3)
	replace(flags, 3, "a", "f")
	replace(flags, 3, "b", "h")
	replace(flags, 3, "c", "s")
	csdm_write_cfg(id, "equip", "grenades", flags)
}

// stuff for settings menu - END

User avatar
CyBer[N]eTicK
Membru, skill +1
Membru, skill +1
Posts: 190
Joined: 29 May 2020, 05:35
Detinator Steam: Da
CS Status: Strong & Original
Detinator server CS: BB.BLACKGAMES.RO
SteamID: /id/cybernetick_cbk/
Fond eXtream: 0
Location: Albania, tirana
Discord: cybernetick_cbk
Has thanked: 21 times
Been thanked: 18 times
Contact:

22 Feb 2023, 22:35

Hmm. Deci ai modul respawn, destul de compilat sa introduci asemenea plugine de VIP :)) Nu prea este ce trebuie acest plugin de vip pe modul respawn.

Recomandarea mea este, daca mori, sa-ti dispara armele gold si daca vrei sa ai din nou arme gold sa trebuiasca sa cumperi, dar pluginu de vip nu intra in combinatie cu modul respawn.
Zpp.Mihai94
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 05 Feb 2018, 13:03
Detinator Steam: Da
CS Status: ZMXP
Detinator server CS: ZMXP.WESTCSTRIKE.RO
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time
Contact:

23 Feb 2023, 19:11

mda, o sa renunt la el, si am sa caut unul mai simplu sa iti dea hp armura pe kill.
User avatar
CyBer[N]eTicK
Membru, skill +1
Membru, skill +1
Posts: 190
Joined: 29 May 2020, 05:35
Detinator Steam: Da
CS Status: Strong & Original
Detinator server CS: BB.BLACKGAMES.RO
SteamID: /id/cybernetick_cbk/
Fond eXtream: 0
Location: Albania, tirana
Discord: cybernetick_cbk
Has thanked: 21 times
Been thanked: 18 times
Contact:

23 Feb 2023, 22:10

Zpp.Mihai94 wrote:
23 Feb 2023, 19:11
mda, o sa renunt la el, si am sa caut unul mai simplu sa iti dea hp armura pe kill.
Fa o cerere de plugin VIP in sectiunea corespunzatoare si o sa vedem cum te ajutam.
Zpp.Mihai94
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 05 Feb 2018, 13:03
Detinator Steam: Da
CS Status: ZMXP
Detinator server CS: ZMXP.WESTCSTRIKE.RO
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time
Contact:

23 Feb 2023, 22:52

CyBer[N]eTicK wrote:
23 Feb 2023, 22:10
Zpp.Mihai94 wrote:
23 Feb 2023, 19:11
mda, o sa renunt la el, si am sa caut unul mai simplu sa iti dea hp armura pe kill.
Fa o cerere de plugin VIP in sectiunea corespunzatoare si o sa vedem cum te ajutam.
l-am gasit pe asta, e ce trebuie doar ca nu isi descarca skinurile de la modelele setate de mine si are un bug la hp la inceput de runda primesc 150, dupa daca omor un adversar in loc sa imi dea 10 hp imi scade la feli si la armura.

Code: Select all

#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < engine >
#include < fakemeta >
#include < fun >
#include < hamsandwich >



#define PLUGIN "VIP Clasic"
#define VERSION "2.0"
#define AUTHOR "Shadows Adi"

const OFFSET_ID =			43;
const XO_WEAPON = 			4;
const OFFSET_WEAPONOWNER = 	41;
const OFFSET_WEAPON = 		4;
const OFFSET_DIFF = 		92389;
stock const m_rgpPlayerItems_CWeaponBox[6] = { 34 , 35 , ... };

#define is_user_vip(%1) (get_user_flags(%1) & ADMIN_LEVEL_H)

#define VIP_CHAT

enum _:CvarsSettings {
	VipHP,
	VipHsHP,
	VipAP,
	VipHsAP,
	VipMaxHP,
	VipMaxAP,
	VipPrefix,
	VipSpawnHP,
	VipSpawnAP,
#if defined VIP_CHAT
	VipChatPrefix,
#endif
	VipJumps,
	VipPrices,
	VipMenuRounds,
	VipFree,
	VipFreeStart,
	VipFreeEnd,
	VipMaxResets,
	VipModels,
	VipOnlyAWP
};

enum _:Teams
{
	CT = 0,
	TERO,
	BOTH
};

enum _:Weapons 
{
	WeapName[64],
	WeaponID[32],
	BpAmmo,
	Team[Teams],
	WeaponModels[64]
};

new const VipWeapons[][Weapons] = 
{
	{ "AK47 \d+ \wDeagle \d+ \wSet Grenade", "weapon_ak47", 90, TERO, "models/vip_arme/v_ak47_gold.mdl" },
	{ "Galil \d+ \wDeagle \d+ \wSet Grenade", "weapon_galil", 30, TERO, "models/vip_arme/v_galil_gold.mdl" },
	{ "AWP \d+ \wDeagle \d+ \wSet Grenade", "weapon_awp", 30, BOTH, "models/vip_arme/v_awp_gold.mdl" },
	{ "M4A1 \d+ \wDeagle \d+ \wSet Grenade", "weapon_m4a1", 90, CT, "models/vip_arme/v_m4a1_gold.mdl" },
	{ "Famas \d+ \wDeagle \d+ \wSet Grenade", "weapon_famas", 30, CT, "models/vip_arme/v_famas_gold.mdl" }
};

new const VipPistols[][Weapons] = 
{
	{ "\wDeagle \d+ \wGrenade Set", "weapon_deagle", 35, BOTH, "models/vip_arme/v_deagle_gold.mdl" },		
	{ "\wUSP \d+ \wGrenade Set","weapon_usp", 100, BOTH, "models/vip_arme/v_usp_gold.mdl" },	
	{ "\wGlock-18 \d+ \wGrenade Set", "weapon_glock18", 120, BOTH, "models/vip_arme/v_glock18_gold.mdl" }	
};

new pCvars[CvarsSettings];
new g_iRound;
new jumpnum[ 33 ] = 0;
new g_bMapBanned;
new Limit [ 33 ];
new Tag[ 32 ];
new g_iMaxPlayers;

/********************** BOOLEANS **********************/
new bool:WeaponSelected[33];
new bool:dojump[ 33 ] = false;
/********************** END OF BOOLEANS **********************/

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90);
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE);

new const g_szWeaponEntName[][] =
{
	"weapon_p228",
	"weapon_scout",
	"weapon_hegrenade",
	"weapon_xm1014",
	"weapon_c4",
	"weapon_mac10",
	"weapon_aug",
	"weapon_smokegrenade",
	"weapon_elite",
	"weapon_fiveseven",
	"weapon_ump45",
	"weapon_sg550",
	"weapon_galil",
	"weapon_famas",
	"weapon_usp",
	"weapon_glock18",
	"weapon_awp",
	"weapon_mp5navy",
	"weapon_m249",
	"weapon_m3",
	"weapon_m4a1",
	"weapon_tmp",
	"weapon_g3sg1",
	"weapon_flashbang",
	"weapon_deagle",
	"weapon_sg552",
	"weapon_ak47",
	"weapon_knife",
	"weapon_p90"
};

public plugin_precache()
{
	RegisterCvars();

	if(get_pcvar_num(pCvars[ VipModels ]))
	{
		for(new i; i < sizeof(VipWeapons); i++)
		{
			precache_model(VipWeapons[i][WeaponModels]);
		}

		for(new i; i < sizeof(VipPistols); i++)
		{
			precache_model(VipPistols[i][WeaponModels]);
		}
	}
}

public plugin_init( )
{
	register_plugin( PLUGIN, VERSION, AUTHOR);
	
	register_clcmd( "say /vm", "ShowVIPMenu" );
	register_clcmd( "say /vip", "ShowVIPMotd" );
	register_clcmd( "say /vips", "ShowVIPs" );
	register_clcmd( "say /rsd", "check_vip" );
	register_clcmd( "say_team /vm", "ShowVIPMenu" );
	register_clcmd( "say_team /vm", "ShowVIPMotd" );
	register_clcmd( "say_team /vips", "ShowVIPs" );
	register_clcmd( "say_team /rsd", "check_vip" );
	
	#if defined VIP_CHAT
	register_clcmd( "say ", "hook_say" );
	//register_clcmd( "say_team ", "hook_sayteam" );
	pCvars [ VipChatPrefix ] = register_cvar( "vip_chat_prefix", "[VIP]" );
	#endif
	
	RegisterHam( Ham_Spawn, "player", "ham_PlayerSpawnPost", 1);
	RegisterHam( Ham_Killed, "player", "ham_PlayerKilledPost", 1);
	for(new i; i < sizeof(g_szWeaponEntName); i++)
	{
		RegisterHam( Ham_Item_Deploy, g_szWeaponEntName[i], "ham_ItemDeployPost", 1 );
	}

	RegisterHam( Ham_Touch, "weaponbox", "ham_TouchPre" );
	register_event( "HLTV", "ev_NewRound", "a", "1=0", "2=0" ); 
	register_logevent( "logev_Restart", 2, "1&Restart_Round", "1&Game_Commencing" );
	register_message(get_user_msgid("ScoreAttrib"), "OnScoreAttrib");
	
	get_pcvar_string( pCvars[ VipPrefix ], Tag, charsmax( Tag ) );

	new path[ 64 ];
	get_localinfo( "amxx_configsdir", path, charsmax( path ) );
	formatex( path, charsmax( path ), "%s/VIP/vip_maps.ini", path);
	
	new file = fopen( path, "r+" );
	
	if( !file_exists( path ) )
	{
		write_file( path, "; VIP-UL ESTE DEZACTIVAT PE URMATOARELE HARTI: ");
		write_file( path, "; Exemplu de adaugare HARTA:^n; ^"harta^"^n^nfy_snow^nawp_bycastor" );
		write_file( path, "; NOTA:^n Pentru a ignora anumite harti, adaugati ^";^" in fata hartii" );
	}
	
	new mapname[ 32 ];
	get_mapname( mapname, charsmax( mapname ) );
	
	new text[ 121 ], maptext[ 32 ];
	while( !feof( file ) )
	{
		fgets( file, text, charsmax( text ) );
		trim( text );
		
		if( text[ 0 ] == ';' || !strlen( text ) ) 
		{
			continue; 
		}
		
		parse( text, maptext, charsmax( maptext ) );
		
		if( equal( maptext, mapname) )
		{
			//********* AICI STERGETI "//" DIN FATA PENTRU DEBUG. *********//
			//log_amx("Am dezactivat pluginul 'VIP' pe harta %s.", maptext ); 
			g_bMapBanned = 1;
			break;
		}
	}
	fclose( file );

	g_iMaxPlayers = get_maxplayers();
}

RegisterCvars()
{
	register_cvar( "lgcs_vip_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY | FCVAR_UNLOGGED );

	pCvars [ VipHP ] = register_cvar( "vip_kill_hp", "10" );
	pCvars [ VipAP ] = register_cvar( "vip_kill_ap", "10" );
	pCvars [ VipHsHP ] = register_cvar( "vip_killhs_hp", "15" );
	pCvars [ VipHsAP ] = register_cvar( "vip_killhs_ap", "15" );
	pCvars [ VipMaxHP ] = register_cvar( "vip_max_hp", "110" );
	pCvars [ VipMaxAP ] = register_cvar( "vip_max_ap", "110" );
	pCvars [ VipPrefix ] = register_cvar( "vip_msg_prefix", "[VIP]" );
	pCvars [ VipSpawnHP ] = register_cvar("vip_spawn_hp", "150");
	pCvars [ VipSpawnAP ] = register_cvar("vip_spawn_ap", "120");
	pCvars [ VipJumps ] = register_cvar( "vip_multi_jumps", "3" );
	pCvars [ VipPrices ] = register_cvar( "vip_prices_motd", "vip_info.html" );
	pCvars [ VipMenuRounds ] = register_cvar( "vip_rounds_showmenu", "3" );
	pCvars [ VipFree ] = register_cvar( "vip_free_on", "1" );
	pCvars [ VipFreeStart ] = register_cvar( "vip_free_start", "22" );
	pCvars [ VipFreeEnd ] = register_cvar( "vip_free_end", "10" );
	pCvars [ VipMaxResets ] = register_cvar( "vip_max_reset_deaths", "3" );
	pCvars [ VipModels ] = register_cvar( "vip_weapon_models", "0" );
	pCvars [ VipOnlyAWP ] = register_cvar( "vip_awp_only", "0" );
}

public client_putinserver( id )
{
	if( is_user_vip( id ) )
	{
		new szName[32];
		get_user_name( id, szName, charsmax( szName ) );
		color_chat(0, "!g%s !yVIP-ul !g%s !ytocmai s-a conectat pe server!", Tag, szName);
	}
	jumpnum[ id ] = 0;
	dojump[ id ] = false;
}

#if AMXX_VERSION_NUM < 183
public client_disconnect( id )
#else
public client_disconnected( id )
#endif
{
	jumpnum[ id ] = 0;
	dojump[ id ] = false;
}

public ev_NewRound( )
{
	g_iRound++;

	if( IsVipHour( get_pcvar_num( pCvars [ VipFreeStart ] ), get_pcvar_num( pCvars [ VipFreeEnd ] ) ) )
		set_pcvar_string( pCvars [ VipFree ], "1" );
	else
		set_pcvar_string( pCvars [ VipFree ], "0" );
}

public logev_Restart( )
{
	g_iRound = 0;
}

public CS_OnBuy(id, item)
{
	if(!get_pcvar_num(pCvars [ VipOnlyAWP ]))
		return PLUGIN_CONTINUE;

	if(!is_user_vip(id) && !get_pcvar_num(pCvars[ VipFree ]))
	{
		if(item == CSW_AWP)
		{
			return PLUGIN_HANDLED;
		}
	}
	return PLUGIN_CONTINUE;
}

public check_vip( id )
{
	if( is_user_vip( id ) )
	{
		vip_rs( id );
	}
	else
	{
		color_chat( id, "^3| ^4%s^3| ^1Aceasta comanda este doar pentru membrii ^4V.I.P. ^1!", Tag );
		return 1;
	}
	return 0;
}

public vip_rs(id)
{
	if(Limit [ id ] >= get_pcvar_num( pCvars[ VipMaxResets ] ) )
	{
		color_chat(id, "^3| ^4%s ^3| ^1Aceasta comanda poate fi folosita decat de ^4 3 ^1ori pe ^4harta ^1!", Tag );
		return 1;
	}
	else
	{
		cmd_rs(id);
		Limit[id]++;
	}
	return 0;
}

public cmd_rs(id)
{

	if(get_user_deaths(id) == 0)
	{
		color_chat(id, "^3| ^4%s ^3| ^1Death-urile tale sunt deja ^4 0^3!", Tag );
	}
	else 
	{
		cs_set_user_deaths(id,0);
		color_chat(id, "^3| ^4%s ^3| ^4Decesele tale ^1au fost ^4resetate^1!", Tag );
	}
	return PLUGIN_HANDLED;
}

public ShowVIPMenu( id )
{
	if(!is_user_connected(id) || !is_user_alive(id)) 
		return PLUGIN_HANDLED;
	
	if(is_user_vip( id ) || get_pcvar_num( pCvars[ VipFree ] ) )
	{
		if(g_bMapBanned)
		{
			color_chat(id, "!g%s !yVIP-ul este dezactivat pe aceasta harta!g!", Tag);
			return PLUGIN_HANDLED;
		}
		else
		{
			if( g_iRound >= get_pcvar_num( pCvars[ VipMenuRounds ] ) )
			{
				if(!WeaponSelected [ id ] )
				{
					new g_iMenu = menu_create("\wVIP Menu", "handle_vip_menu_weapons" );
					new szItem[32], CsTeams:iTeam;

					iTeam = cs_get_user_team(id);
					
					for ( new i; i < sizeof VipWeapons; i++ )
					{
						switch(iTeam)
						{
							case CS_TEAM_T:
							{
								switch(VipWeapons[i][Team])
								{
									case TERO, BOTH:
									{
										num_to_str(i, szItem, charsmax(szItem));
										menu_additem( g_iMenu, VipWeapons[ i ][ WeapName ], szItem );
									}
								}
							}
							case CS_TEAM_CT:
							{
								switch(VipWeapons[i][Team])
								{
									case CT, BOTH:
									{
										num_to_str(i, szItem, charsmax(szItem));
										menu_additem( g_iMenu, VipWeapons[ i ][ WeapName ], szItem );
									}
								}
							}
						}
					}
					
					menu_setprop(g_iMenu, MPROP_EXIT, MEXIT_ALL);
					menu_display( id, g_iMenu );
				}
				else 
				{
					color_chat( id, "!g%s!y: Asteapta runda viitoare pentru a-ti alege iar armele!", Tag );
					return PLUGIN_HANDLED;
				}
			}
			else
			{
				if(!WeaponSelected [ id ] )
				{
					new g_iMenu = menu_create("\wVIP Menu", "handle_vip_menu_pistols" );
					new szItem[32], CsTeams:iTeam;

					iTeam = cs_get_user_team(id);
					
					for ( new i; i < sizeof VipPistols; i++ )
					{
						switch(iTeam)
						{
							case CS_TEAM_T:
							{
								switch(VipPistols[i][Team])
								{
									case TERO, BOTH:
									{
										num_to_str(i, szItem, charsmax(szItem));
										menu_additem( g_iMenu, VipPistols[ i ][ WeapName ], szItem );
									}
								}
							}
							case CS_TEAM_CT:
							{
								switch(VipPistols[i][Team])
								{
									case CT, BOTH:
									{
										num_to_str(i, szItem, charsmax(szItem));
										menu_additem( g_iMenu, VipPistols[ i ][ WeapName ], szItem );
									}
								}
							}
						}
					}
					
					menu_setprop(g_iMenu, MPROP_EXIT, MEXIT_ALL);
					menu_display( id, g_iMenu );
				}
				else 
				{
					color_chat( id, "!g%s!y: Asteapta runda viitoare pentru a-ti alege iar armele!", Tag );
					return PLUGIN_HANDLED;
				}
			}
		}
	}
	else 
	{
		color_chat( id, "!g%s!y: Acest meniu este doar pentru jucatorii !gVIP!y!", Tag );
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}

public handle_vip_menu_weapons( id, menu, item )
{
	if( item == MENU_EXIT || !is_user_alive( id ))
	{
		menu_destroy( menu );
		return PLUGIN_HANDLED;
	}
	
	new itemdata[3];
	new data[6][32];
	new index[32];
	menu_item_getinfo(menu, item, itemdata[0], data[0], charsmax(data), data[1], charsmax(data), itemdata[1]);
	parse(data[0], index, 31);
	item = str_to_num(index);
	if( is_user_vip( id ) || get_pcvar_num( pCvars[ VipFree ] ) )
	{
		drop_weapons( id, 1);
		drop_weapons( id, 2);
		give_item( id, "weapon_knife" );
		give_item( id, "weapon_hegrenade" );
		give_item( id, "weapon_flashbang" );
		cs_set_user_bpammo( id, CSW_FLASHBANG, 2 );
		WeaponSelected [ id ] = true;
		give_item( id, VipWeapons[ item ][ WeaponID ] );
		cs_set_user_bpammo( id, get_weaponid( VipWeapons[ item ][ WeaponID ] ), VipWeapons[ item ][ BpAmmo ] );
		give_item( id, "weapon_deagle" );
		cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
	}
	return PLUGIN_HANDLED;
}

public handle_vip_menu_pistols( id, menu, item )	
{	
	if( item == MENU_EXIT || !is_user_alive( id ) || !is_user_connected(id))
	{
		menu_destroy( menu );
		return PLUGIN_HANDLED;
	}
	
	new itemdata[3];
	new data[6][32];
	new index[32];
	menu_item_getinfo(menu, item, itemdata[0], data[0], charsmax(data), data[1], charsmax(data), itemdata[1]);
	parse(data[0], index, 31);
	item = str_to_num(index);
	
	if( is_user_vip( id ) || get_pcvar_num( pCvars[ VipFree ] ) )	
	{	
		drop_weapons( id, 2 );	
		give_item( id, "weapon_knife" );	
		give_item( id, "weapon_hegrenade" );	
		give_item( id, "weapon_flashbang" );	
		cs_set_user_bpammo( id, CSW_FLASHBANG, 2 );	
		WeaponSelected [ id ] = true;	
		give_item( id, VipPistols[ item ][ WeaponID ] );	
		cs_set_user_bpammo( id, get_weaponid( VipPistols[ item ][ WeaponID ] ), VipPistols[ item ][ BpAmmo ] );	
	}	
	return PLUGIN_HANDLED;	
}	


public ham_PlayerSpawnPost( id )
{
	if(!is_user_alive( id ) )
		return HAM_IGNORED;
	
	if( is_user_vip( id ) || get_pcvar_num( pCvars[ VipFree ] ) )
	{
		WeaponSelected [ id ] = false;
		
		ShowVIPMenu( id );
		
		cs_set_user_armor( id, 100, CS_ARMOR_VESTHELM );
		
		if( get_user_team( id ) == 2 )
			give_item( id, "item_thighpack" );

		cs_set_user_armor(id, get_pcvar_num(pCvars [ VipSpawnAP ]), CS_ARMOR_VESTHELM);
		set_user_health(id, get_pcvar_num(pCvars [ VipSpawnHP ]));
	}
	return PLUGIN_HANDLED;
}

public ham_PlayerKilledPost( iVictim, iAttacker )
{
	if( !iVictim || !iAttacker || !is_user_alive( iAttacker ) )
		return HAM_IGNORED;
		
	if( is_user_vip( iAttacker ) || get_pcvar_num( pCvars[ VipFree ] ) )
	{
		new g_iIsHeadshot = read_data( 3 );
		new g_iHealth = get_user_health( iAttacker );
		new g_iArmor = get_user_armor( iAttacker );
		new g_iHealthAdd = get_pcvar_num( pCvars[ VipHP ] );
		new g_iHealthHSAdd = get_pcvar_num( pCvars[ VipHsHP ] );
		new g_iArmorAdd = get_pcvar_num( pCvars[ VipAP ] );
		new g_iArmorHSAdd = get_pcvar_num( pCvars[ VipHsAP ] );
		new g_iMaxHP = get_pcvar_num( pCvars[ VipMaxHP ] );
		new g_iMaxAP = get_pcvar_num( pCvars[ VipMaxAP ] );
		
		if( g_iIsHeadshot )
		{
			if( g_iHealth >= g_iMaxHP || g_iArmor >= g_iMaxAP )
			{
				set_user_health( iAttacker, g_iMaxHP );
				set_user_armor( iAttacker, g_iMaxAP );
			}
			else
			{
				set_user_health( iAttacker, g_iHealth + g_iHealthHSAdd );
				set_user_armor( iAttacker, g_iHealth + g_iArmorHSAdd );
			}
		}
		else
		{
			if( g_iHealth >= g_iMaxHP || g_iArmor >= g_iMaxAP )
			{
				set_user_health( iAttacker, g_iMaxHP );
				set_user_armor( iAttacker, g_iMaxAP );
			}
			else
			{
				set_user_health( iAttacker, g_iHealth + g_iHealthAdd );
				set_user_armor( iAttacker, g_iHealth + g_iArmorAdd );
			}
		}
	}
	return PLUGIN_HANDLED;
}

public ham_ItemDeployPost(iEnt)
{
	if(pev_valid(iEnt) != 2 || !get_pcvar_num(pCvars[ VipModels ]))
		return;
	
	new iPlayer = get_pdata_cbase(iEnt, OFFSET_WEAPONOWNER, OFFSET_WEAPON);

	if(!pev_valid(iPlayer))
		return;

	if(!is_user_vip(iPlayer))
		return;

	new szWeaponName[38], bool:bHasWeapon, iTemp = -1;
	get_weaponname(get_pdata_int(iEnt, OFFSET_ID, OFFSET_WEAPON), szWeaponName, charsmax(szWeaponName));

	for(new i; i < sizeof(VipWeapons); i++)
	{
		if(equali(szWeaponName, VipWeapons[i][WeaponID]))
		{
			bHasWeapon = true;
			iTemp = i + OFFSET_DIFF;
			break;
		}
	}

	for(new i; i < sizeof(VipPistols); i++)
	{
		if(equali(szWeaponName, VipPistols[i][WeaponID]))
		{
			bHasWeapon = true;
			iTemp = i;
			break;
		}
	}

	if(bHasWeapon)
	{
		new bool:bSomeBool;
		if(iTemp - OFFSET_DIFF > -1)
		{
			iTemp -= OFFSET_DIFF;
			bSomeBool = true;
		}

		if(bSomeBool)
		{
			set_pev(iPlayer, pev_viewmodel2, VipWeapons[iTemp][WeaponModels]);
		}
		else 
		{
			set_pev(iPlayer, pev_viewmodel2, VipPistols[iTemp][WeaponModels]);
		}
	}
}

public ham_TouchPre(iEnt, id)
{
	if(!get_pcvar_num( pCvars [ VipOnlyAWP ]))
	{
		return HAM_IGNORED;
	}

	if((0 <= id <= g_iMaxPlayers ) && is_user_alive(id) && IsEntOnGround(iEnt))
	{
		new iWeaponEntity = get_pdata_cbase(iEnt, m_rgpPlayerItems_CWeaponBox[1], XO_WEAPON);

		if(iWeaponEntity <= 0)
		{
			return HAM_IGNORED;
		}

		new iWeapon = get_pdata_int(iWeaponEntity, OFFSET_ID, XO_WEAPON);
		if(!is_user_vip(id) && !get_pcvar_num( pCvars [ VipFree ]))
		{
			if(iWeapon == CSW_AWP)
			{
				return HAM_SUPERCEDE;
			}
		}
	}

	return HAM_IGNORED;
}

public client_PreThink(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE;
	
	new nbut = get_user_button(id);
	new obut = get_user_oldbutton(id);
	if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
	{
		if( is_user_vip( id ) || get_pcvar_num( pCvars[ VipFree ] ) )
		{
			if(jumpnum[id] < get_pcvar_num( pCvars[ VipJumps ] ))
			{
				dojump[id] = true;
				jumpnum[id]++;
				return PLUGIN_CONTINUE;
			}
		}
	}
	if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
	{
		jumpnum[id] = 0;
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}

public client_PostThink(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE;
	if( is_user_vip( id ) || get_pcvar_num( pCvars[ VipFree ] ) )
	{
		if(dojump[id] == true)
		{
			new Float:velocity[3]	;
			entity_get_vector(id,EV_VEC_velocity,velocity);
			velocity[2] = random_float(265.0,285.0);
			entity_set_vector(id,EV_VEC_velocity,velocity);
			dojump[id] = false;
			return PLUGIN_CONTINUE;
		}
	}
	return PLUGIN_CONTINUE;
}

#if defined VIP_CHAT
public hook_say( id )
{
	if( is_user_vip( id ) || get_pcvar_num( pCvars[ VipFree ] ) )
	{
		new szName[ 32 ], szMessage[ 192 ], szPrefix[ 32 ];
		get_user_name( id, szName, charsmax( szName ) );
		get_pcvar_string( pCvars[ VipChatPrefix ], szPrefix, charsmax( szPrefix ) );
		
		read_args( szMessage, charsmax( szMessage ) );
		remove_quotes( szMessage );
		
		if( is_user_alive( id ) )
			color_chat( 0, "!g%s!team %s!y: %s", szPrefix, szName, szMessage );
			
		else if(!is_user_alive( id ) )
			color_chat( 0, "!y*DEAD* !g%s!team %s!y: %s", szPrefix, szName, szMessage );
	}
	else 
	{
		new szName[ 32 ], szMessage[ 192 ];
		get_user_name( id, szName, charsmax( szName ) );

		read_args( szMessage, charsmax( szMessage ) );
		remove_quotes( szMessage );
		
		if( is_user_alive( id ) )
			color_chat( 0, "!team %s!y: %s", szName, szMessage );
			
		else if(!is_user_alive( id ) )
			color_chat( 0, "!y*DEAD* %s!team %s!y: %s", szName, szMessage );
	}
	return PLUGIN_HANDLED;
}

/*public hook_sayteam( id )
{
	if( is_user_vip( id ) || get_pcvar_num( pCvars[ VipFree ] ) )
	{
		new szName[ 32 ], szMessage[ 192 ], szPrefix[ 32 ];
		get_user_name( id, szName, charsmax( szName ) );
		get_pcvar_string( pCvars[ VipChatPrefix ], szPrefix, charsmax( szPrefix ) );
		
		read_args( szMessage, charsmax( szMessage ) );
		remove_quotes( szMessage );
		if(get_user_team( id ) == 1 )
		{
			if( is_user_alive( id ) )
				color_chat( 0, "!y(Terrorist) !g%s!team %s!y: %s", szPrefix, szName, szMessage );
				
			else if( !is_user_alive( id ) )
				color_chat( 0, "!y*DEAD* (Terrorist) !g%s!team %s!y: %s", szPrefix, szName, szMessage );
		}
		if(get_user_team( id ) == 2 )
		{
			if( is_user_alive( id ) )
				color_chat( 0, "!y(Counter-Terrorist) !g%s!team %s!y: %s", szPrefix, szName, szMessage );
				
			else if( !is_user_alive( id ) )
				color_chat( 0, "!y*DEAD* (Counter-Terrorist) !g%s!team %s!y: %s", szPrefix, szName, szMessage );
		}
	}
	else
	{
		new szName[ 32 ], szMessage[ 192 ];
		get_user_name( id, szName, charsmax( szName ) );
		
		read_args( szMessage, charsmax( szMessage ) );
		remove_quotes( szMessage );
		if(get_user_team( id ) == 1 )
		{
			if( is_user_alive( id ) )
				color_chat( 0, "!y(Terrorist)!team %s!y: %s", szName, szMessage );
				
			else if( !is_user_alive( id ) )
				color_chat( 0, "!y*DEAD* (Terrorist)!team %s!y: %s", szName, szMessage );
		}
		if(get_user_team( id ) == 2 )
		{
			if( is_user_alive( id ) )
				color_chat( 0, "!y(Counter-Terrorist)!team %s!y: %s", szName, szMessage );
				
			else if( !is_user_alive( id ) )
				color_chat( 0, "!y*DEAD* (Counter-Terrorist)!team %s!y: %s", szName, szMessage );
		}
	}
	
	return PLUGIN_HANDLED;
}*/
#endif

public ShowVIPMotd(id)
{
	if( !is_user_connected( id ) )
		return PLUGIN_HANDLED;

	new szString[ 64 ], Temp[ 64 ], Tag[32];
	get_pcvar_string( pCvars[ VipPrices ], szString, charsmax( szString ) );
	get_pcvar_string( pCvars[ VipPrefix ], Tag, charsmax( Tag ) );
	
	formatex( Temp, charsmax( Temp ), "addons/amxmodx/configs/%s", szString );
	
	show_motd( id, Temp, "Avantajele VIP-ului" );
	color_chat(0, "!g%n !yCiteste despre avantajele !gVIP!y-ului!y!", id);
	return PLUGIN_HANDLED;
}

public OnScoreAttrib( iMsgId, iMsgDest, iMsgEnt )
{
	new id = get_msg_arg_int(1);

	if(!is_user_connected(id))
		return;

	if( is_user_vip(id) || get_pcvar_num( pCvars[ VipFree ] ) )
	{
		set_msg_arg_int( 2, ARG_BYTE, is_user_alive(id) ? ( 1<<2 ) : ( 1 << 0) );
	}
}

public ShowVIPs( id )
{
	if(!is_user_connected( id ) )
		return PLUGIN_HANDLED;
		
	new vip_name[33];
	new message[190];
	new contor, len;

	if( is_user_vip( id ) )
	{
		get_user_name( id, vip_name[ contor++ ], charsmax( vip_name ) );
	}

	len = format( message, charsmax( message ), "!g%s !yVIP's Online!team: ");
	if( contor > 0 ) 
	{
		for( new i = 0 ; i < contor ; i++)
		{
			len += format( message[ len ], charsmax( message ) - len, "!y%s%s ", vip_name[ i ], i < ( contor - 1 ) ? ", " : "");
			if(len > 96 )
			{
				color_chat( id, message );
				len = format( message, charsmax( message ), "%s ");
			}
		}
		color_chat( id, message);
	}
	else 
	{
		len += format( message[ len ], charsmax( message ) - len, "No VIP online.");
		color_chat( id, message );
	}
	return PLUGIN_CONTINUE;
}

bool:IsVipHour( iStart, iEnd ) //Credits OciXCrom
{
    new iHour; time( iHour );
    return bool:( iStart < iEnd ? ( iStart <= iHour < iEnd ) : ( iStart <= iHour || iHour < iEnd ) );
} 

bool:IsEntOnGround(iEnt)
{
	if(pev(iEnt, pev_flags) & FL_ONGROUND)
	{
		return true;
	}
	return false;
}

stock drop_weapons(id, dropwhat)
{
    // Get user weapons
    new weapons[32], num_weapons, index, weaponid;
    get_user_weapons(id, weapons, num_weapons);
    
    // Loop through them and drop primaries or secondaries
    for (index = 0; index < num_weapons; index++)
    {
        // Prevent re-indexing the array
        weaponid = weapons[index];
        
        if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) 
        || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM))
        || (dropwhat == 3) && (((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM) || ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
        {
            // Get weapon entity
            new wname[32];
            get_weaponname(weaponid, wname, charsmax(wname));
            
            // Player drops the weapon
            engclient_cmd(id, "drop", wname);
        }
    }
} 

// Stock: ChatColor!
stock color_chat(const id, const input[], any:...)
{
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
    
	replace_all(msg, 190, "!g", "^4"); // Green Color
	replace_all(msg, 190, "!y", "^1"); // Default Color
	replace_all(msg, 190, "!team", "^3"); // Team Color
	replace_all(msg, 190, "!team2", "^0"); // Team2 Color
        
	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();
			}
		}
	}
}
User avatar
CyBer[N]eTicK
Membru, skill +1
Membru, skill +1
Posts: 190
Joined: 29 May 2020, 05:35
Detinator Steam: Da
CS Status: Strong & Original
Detinator server CS: BB.BLACKGAMES.RO
SteamID: /id/cybernetick_cbk/
Fond eXtream: 0
Location: Albania, tirana
Discord: cybernetick_cbk
Has thanked: 21 times
Been thanked: 18 times
Contact:

24 Feb 2023, 13:36

Asta nu e plugin bun, pentru respawn, este mai mult pentru modul clasic.
Pentru modul respawn ar merge. 20-30 HP si AP pe kill, x2 damage, poate si un meniu cu arme de aur la fiecare spawn, teleport, glow.
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 13 guests