Page 1 of 1

Cerere Modificare plugin furien

Posted: 16 May 2018, 15:41
by N.A.S.A.
saltu. ma puteti ajuta si pe mine ca fondatorii sa primeasca demegi facut de bombe.

sursa:
| Afiseaza codul
#include <amxmodx>

#include <cstrike>

#include <engine>

#include <fakemeta>

#include <fakemeta_util>

#include <hamsandwich>

#include <fun>



#define PLUGIN "Furien Clasic"

#define VERSION "2.0"

#define AUTHOR "Aragon*/DaNNe."



#define DMG_HEGRENADE (1<<24)



#define FURIEN_GRAVITY		0.4

#define FURIEN_SPEED		750.0

#define TEAM_FURIEN 1

#define TEAM_ANTIFURIEN 2



#define TASKID_CANPLANT			 10001

#define TASKID_C4COUNTDOWN		 453 



#define VIP_GOLD_LEVEL		ADMIN_LEVEL_H

#define VIP_SILVER_LEVEL	ADMIN_LEVEL_G

#define FOUNDER_LEVEL		ADMIN_IMMUNITY



#if cellbits == 32

#define OFFSET_BZ 235

#else

#define OFFSET_BZ 268

#endif



//Shop

new SuperKnifeModel_V[] = "models/shop/v_knife_furiengo.mdl"

new bool: HaveSuperKnife[33]



//Settings

new bool:MakeVisible[33], Float:Wallorigin[33][3]



//Parachute

#define PARACHUTE_CLASS		"Parachute"

new ParaENT[33];



new Menu;

new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info, 

MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health, MSGID_ScreenFade,

bool:CanPlant, C4_CountDownDelay;



public plugin_cfg() {

	server_cmd("amx_cvar mp_playerid 2")

	server_cmd("amx_cvar sv_maxspeed 999")

	server_cmd("amx_cvar sv_restart 5")

}





//===========================================================================================//

//===============================[Weapons Settings]=========================================//

//=========================================================================================//

new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];



//---|| Primary

#define M4A1_KEY		100

#define AK47_KEY		101

#define M3_KEY			102

#define AUG_KEY			103 

#define FAMAS_KEY		104

#define MP5_KEY			105

#define XM1014_KEY		106



//---|| Secondary

#define USP_KEY			107

#define DEAGLE_KEY		108

#define ELITE_KEY		109

#define FIVESEVEN_KEY	110



public plugin_init() {

	register_plugin(PLUGIN, VERSION, AUTHOR)

	

	cvar_gamedescription = register_cvar("furien_gamename", "FURIEN CLASSIC")

	antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")

	furienspawnhp = register_cvar("furien_spawnhp", "100")

	superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.2")

	cvar_autojoin_team = register_cvar("furien_team", "5")

	cvar_autojoin_class = register_cvar("furien_class", "5")

	cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")

	

	MSGID_SayText = get_user_msgid("SayText")

	MSGID_StatusIcon = get_user_msgid("StatusIcon")

	MSGID_TextMsg = get_user_msgid("TextMsg")

	MSGID_SendAudio = get_user_msgid("SendAudio")

	MSGID_ShowMenu = get_user_msgid("ShowMenu")

	MSGID_VGUIMenu = get_user_msgid("VGUIMenu")

	MSGID_ScreenFade = get_user_msgid("ScreenFade")



	//register_clcmd("say weapons", "CmdWeaponsMenu")

	//register_clcmd("say /weapons", "CmdWeaponsMenu")

	register_clcmd("jointeam", "CMD_BlockJoinTeam")

	register_clcmd("jointeam 1", "CMD_BlockJoinTeam")

	register_clcmd("jointeam 2", "CMD_BlockJoinTeam")

	register_clcmd("jointeam 3", "CMD_BlockJoinTeam")

	register_clcmd("chooseteam", "CMD_BlockChooseTeam")

	register_clcmd("say /beneficii", "CmdShowMotd")

	register_clcmd("say /rs", "CmdResetScore")

	register_clcmd("say_team /rs", "CmdResetScore")

	register_clcmd("say /resetscore", "CmdResetScore")

	register_clcmd("say_team /resetscore", "CmdResetScore")

	

	RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)

	RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon")

	RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon")

	RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon")

	RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage")

	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack"); 

	

	register_forward(FM_PlayerPreThink, "Player_PreThink");

	register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);	

	register_forward(FM_PlayerPreThink, "FWD_ParachutePreThink");

	register_forward(FM_GetGameDescription, "FWD_GameDescription")	

	

	register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1")

	register_event("DeathMsg", "EVENT_Death", "a");

	register_event("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");

	register_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");

	register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")

	register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")	

	

	

	register_message(MSGID_StatusIcon, "MSG_StatusIcon");

	register_message(MSGID_TextMsg, "MSG_TextMessage");

	register_message(MSGID_ShowMenu, "MSG_ShowMenu");

	register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");

	register_message(MSGID_SendAudio, "MSG_SendAudio");

	register_message(MSGID_Health, "MSG_Health")

	register_message(MSGID_ScreenFade, "MSG_ScreenFade")

}





public plugin_precache() {

	removebuyzone = register_cvar("furien_removebuyzone", "1")

	

	if(get_pcvar_num(removebuyzone)) {

		

		remove_entity_name("info_map_parameters");

		remove_entity_name("func_buyzone");

		

		new Entity = create_entity("info_map_parameters");

		

		DispatchKeyValue(Entity, "buying", "3");

		DispatchSpawn(Entity);

	}

	precache_model(SuperKnifeModel_V)

}



public client_connect(id) {

	client_cmd(id, "cl_forwardspeed 999.0")

	client_cmd(id, "cl_sidespeed 999.0")

	client_cmd(id, "cl_backspeed 999.0")

}



public client_putinserver(id) {

	client_cmd(id, "cl_forwardspeed 999.0")

	client_cmd(id, "cl_sidespeed 999.0")

	client_cmd(id, "cl_backspeed 999.0")

	PrimaryWeapon[id] = 0

	SecondaryWeapon[id] = 0

}

	



public Ham_Spawn_Post(id) {

	if(is_user_connected(id) && is_user_alive(id)) {

		strip_user_weapons(id)

		HavePrimaryWeapon[id] = false

		HaveSecondaryWeapon[id] = false

		switch(get_user_team(id)) {

			case TEAM_FURIEN: {

				fm_give_item(id, "weapon_hegrenade")

				fm_give_item(id, "weapon_knife")

				set_user_footsteps(id, 1)

				fm_set_user_health(id, get_pcvar_num(furienspawnhp))

			}

			case TEAM_ANTIFURIEN: {

				fm_give_item(id, "weapon_knife")

				set_user_footsteps(id, 0)

				fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))

				HaveSuperKnife[id] = false;

				Equipment(id)					

			}

		}

	}

}



public EVENT_NewRound() {

	CanPlant = false;

	new Float:FloatTime = get_cvar_num("mp_freezetime") + (get_cvar_num("mp_roundtime") * 60) - 60.0

	set_task(FloatTime, "TASK_CanPlant", TASKID_CANPLANT)

	remove_task(TASKID_C4COUNTDOWN)

}



public EVENT_FireINTheHole() 

	return PLUGIN_HANDLED



public HAM_Touch_Weapon(ent, id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN && !(get_pdata_cbase(ent, 39, 4) > 0))

		return HAM_SUPERCEDE

	

	return HAM_IGNORED

}



public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {

	if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {

		if(get_user_weapon(Attacker) == CSW_KNIFE) {

			if(HaveSuperKnife[Attacker])

				SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))

		}

		if(get_user_flags(Victim) & VIP_GOLD_LEVEL) {

			if(DamageType & DMG_HEGRENADE)

				return HAM_SUPERCEDE

		}

	}

	return HAM_IGNORED

}



///////////////////////////////////////////////////////////////////////////////////////////////



public C4_PrimaryAttack(Ent) {

	if(!CanPlant) 

		return HAM_SUPERCEDE

		

	return HAM_IGNORED

}



public CmdResetScore(id) {

	if(get_user_frags(id) == 0 && get_user_deaths(id) == 0) 

		ColorChat(id, "!g[FURIEN] !ySCORUL TAU ESTE DEJA !g0-0 !")

	else {

		for(new i = 0; i < 2; i++) {

			cs_set_user_deaths(id, 0);

			set_user_frags(id, 0);

		}

		ColorChat(id, "!g[FURIEN] !yTI-AI RESETAT !tSCORUL !yCU SUCCES. !")

	}
}



public CmdShopMenu(id) {

	if(!is_user_alive(id))

		return PLUGIN_HANDLED

	switch(get_user_team(id)) {

		case TEAM_FURIEN: CmdFurienShop(id)

		case TEAM_ANTIFURIEN: CmdAntiFurienShop(id)

	}

	return PLUGIN_HANDLED

}



public CmdFurienShop(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {

		Menu = menu_create("\yFurien Shop", "CmdFurienHandler")

		

		new SuperKnife[256];

		formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \y10000$")   

		menu_additem(Menu, SuperKnife, "1", 0)

		

		new Health[256];

		formatex(Health, sizeof(Health)-1, "50 HP	- \y3000$")

		menu_additem(Menu, Health, "2", 0)

		

		new Armor[256];

		formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")

		menu_additem(Menu, Armor, "3", 0)

		

		new Grenade[256];

		formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")

		menu_additem(Menu, Grenade, "4", 0)

		

		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdAntiFurienShop(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		Menu = menu_create("\yAnti-Furien Shop", "CmdAntiFurienHandler")	



		new Defuse[256];

		formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \y500$")

		menu_additem(Menu, Defuse, "1", 0)

		

		new Health[256];

		formatex(Health, sizeof(Health)-1, "50 HP	- \y3000$")

		menu_additem(Menu, Health, "2", 0)

		

		new Armor[256];

		formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")

		menu_additem(Menu, Armor, "3", 0)

		

		new Grenade[256];

		formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")

		menu_additem(Menu, Grenade, "4", 0)



		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdFurienHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			if(HaveSuperKnife[id])

				client_print(id, print_center, "You already have SuperKnife!")

			else {

				new Money = cs_get_user_money(id) - 10000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					HaveSuperKnife[id] = true;

					EVENT_CurWeapon(id)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 2: {

			if(get_user_health(id) >= 250) 

				client_print(id, print_center, "You already have 250 HP!")

			else {

				new Money = cs_get_user_money(id) - 3000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_health(id) + 50 > 250)

						fm_set_user_health(id, 250)

					else 

						fm_set_user_health(id, get_user_health(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 3: {

			if(get_user_armor(id) >= 250) 

				client_print(id, print_center, "You already have 250 AP!")

			else {

				new Money = cs_get_user_money(id) - 500

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_armor(id) + 50 > 250) 

						fm_set_user_armor(id, 250)

					else 

						fm_set_user_armor(id, get_user_armor(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 4: {

			if(user_has_weapon(id, CSW_HEGRENADE))

				client_print(id, print_center, "You already have HE GRENADE!")

			else {

				new Money = cs_get_user_money(id) - 4000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {	

					fm_give_item(id, "weapon_hegrenade")

					cs_set_user_money(id, Money)

				}

			}

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



public CmdAntiFurienHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			if(cs_get_user_defuse(id))

				client_print(id, print_center, "You already have Defuse KIT!")

			else {

				new Money = cs_get_user_money(id) - 500

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					cs_set_user_defuse(id, 1)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 2: {

			if(get_user_health(id) >= 250) 

				client_print(id, print_center, "You already have 250 HP!")

			else {

				new Money = cs_get_user_money(id) - 3000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_health(id) + 50 > 250)

						fm_set_user_health(id, 250)

					else 

						fm_set_user_health(id, get_user_health(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 3: {

			if(get_user_armor(id) >= 250) 

				client_print(id, print_center, "You already have 250 AP!")

			else {

				new Money = cs_get_user_money(id) - 500

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_armor(id) + 50 > 250) 

						fm_set_user_armor(id, 250)

					else 

						fm_set_user_armor(id, get_user_armor(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 4: {

			if(user_has_weapon(id, CSW_HEGRENADE))

				client_print(id, print_center, "You already have HE GRENADE!")

			else {

				new Money = cs_get_user_money(id) - 4000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {	

					fm_give_item(id, "weapon_hegrenade")

					cs_set_user_money(id, Money)

				}

			}

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



//=========================================================================//

//=======================[Weapons Settings]===============================//

//=======================================================================//



public Equipment(id) {

	if(is_user_alive(id) && get_user_team(id) == 2) {

		Menu = menu_create("\rWeapons Menu", "EquipmentCmd");

		menu_additem(Menu, "\wNew Weapons", "1", 0);

		if(PrimaryWeapon[id] && SecondaryWeapon[id])

			menu_additem(Menu, "\wPrevious Setup", "2", 0);

		else 

			menu_additem(Menu, "\dPrevious Setup", "2", 0);

		menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)

		menu_display(id, Menu, 0);

	}

}



public EquipmentCmd(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			if(!HavePrimaryWeapon[id])

				Primary(id)

			else if(!HaveSecondaryWeapon[id])

				Secondary(id)

		}

		case 2: {

			if(PrimaryWeapon[id] && SecondaryWeapon[id])

				GiveLastWeapons(id)

			else Equipment(id)

		}

		default: return PLUGIN_HANDLED;

	}

	menu_destroy(menu);

	return PLUGIN_HANDLED;

}



public Primary(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		Menu = menu_create("\yAnti-Furien Weapons^n\rPrimary:", "CmdWeaponsHandler")

		

		menu_additem(Menu, "M4A1", "1", 0)

		menu_additem(Menu, "AK47", "2", 0)

		menu_additem(Menu, "M3", "3", 0)

		menu_additem(Menu, "Aug", "4", 0)

		menu_additem(Menu, "Famas", "5", 0)

		menu_additem(Menu, "MP5 Navy", "6", 0)

		menu_additem(Menu, "XM1014", "7", 0)

		

		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdWeaponsHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			fm_give_item(id, "weapon_m4a1")

			cs_set_user_bpammo(id, CSW_M4A1, 254)

			PrimaryWeapon[id] = M4A1_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 2: {

			fm_give_item(id, "weapon_ak47")

			cs_set_user_bpammo(id, CSW_AK47, 254)

			PrimaryWeapon[id] = AK47_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 3: {

			fm_give_item(id, "weapon_m3")

			cs_set_user_bpammo(id, CSW_M3, 254)

			PrimaryWeapon[id] = M3_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 4: {

			fm_give_item(id, "weapon_aug")

			cs_set_user_bpammo(id, CSW_AUG, 254)

			PrimaryWeapon[id] = AUG_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 5: {

			fm_give_item(id, "weapon_famas")

			cs_set_user_bpammo(id, CSW_FAMAS, 254)

			PrimaryWeapon[id] = FAMAS_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 6: {

			fm_give_item(id, "weapon_mp5navy")

			cs_set_user_bpammo(id, CSW_MP5NAVY, 254)

			PrimaryWeapon[id] = MP5_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 7: {

			fm_give_item(id, "weapon_xm1014")

			cs_set_user_bpammo(id, CSW_XM1014, 254)

			PrimaryWeapon[id] = XM1014_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



public Secondary(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		Menu = menu_create("\yAnti-Furien Weapons^n\rSecondary:", "CmdSecondaryHandler")

		

		menu_additem(Menu, "USP", "1", 0)

		menu_additem(Menu, "Deagle", "2", 0)

		menu_additem(Menu, "Elite", "3", 0)

		menu_additem(Menu, "Five Seven", "4", 0)

		

		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdSecondaryHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {		

		case 1: {

			fm_give_item(id, "weapon_usp")

			cs_set_user_bpammo(id, CSW_USP, 256)

			SecondaryWeapon[id] = USP_KEY

			HaveSecondaryWeapon[id] = true;

		}

		case 2: {

			fm_give_item(id, "weapon_deagle")

			cs_set_user_bpammo(id, CSW_DEAGLE, 256)

			SecondaryWeapon[id] = DEAGLE_KEY 

			HaveSecondaryWeapon[id] = true;

		}

		case 3: {

			fm_give_item(id, "weapon_elite")

			cs_set_user_bpammo(id, CSW_ELITE, 256)

			SecondaryWeapon[id] = ELITE_KEY

			HaveSecondaryWeapon[id] = true;

		}

		case 4: {

			fm_give_item(id, "weapon_fiveseven")

			cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)

			SecondaryWeapon[id] = FIVESEVEN_KEY

			HaveSecondaryWeapon[id] = true;

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



public GiveLastWeapons(id) {

	if(!HavePrimaryWeapon[id]) {

		switch(PrimaryWeapon[id]) {

			case M4A1_KEY: {

				fm_give_item(id, "weapon_m4a1")

				cs_set_user_bpammo(id, CSW_M4A1, 256)

				HavePrimaryWeapon[id] = true;

			}

			case AK47_KEY: {

				fm_give_item(id, "weapon_ak47")

				cs_set_user_bpammo(id, CSW_AK47, 256)

				HavePrimaryWeapon[id] = true;

			}

			case M3_KEY: {

				fm_give_item(id, "weapon_m3")

				cs_set_user_bpammo(id, CSW_M3, 256)

				HavePrimaryWeapon[id] = true;

			}

			case AUG_KEY: {

				fm_give_item(id, "weapon_aug")

				cs_set_user_bpammo(id, CSW_AUG, 256)

				HavePrimaryWeapon[id] = true;

			}

			case FAMAS_KEY: {

				fm_give_item(id, "weapon_famas")

				cs_set_user_bpammo(id, CSW_FAMAS, 256)

				HavePrimaryWeapon[id] = true;

			}

			case MP5_KEY: {

				fm_give_item(id, "weapon_mp5navy")

				cs_set_user_bpammo(id, CSW_MP5NAVY, 256)

				HavePrimaryWeapon[id] = true;

			}

			case XM1014_KEY: {

				fm_give_item(id, "weapon_xm1014")

				cs_set_user_bpammo(id, CSW_XM1014, 256)

				HavePrimaryWeapon[id] = true;

			}

		}

	}

	if(!HaveSecondaryWeapon[id]) {

		switch(SecondaryWeapon[id]) {

			case USP_KEY: {

				fm_give_item(id, "weapon_usp")

				cs_set_user_bpammo(id, CSW_USP, 256)

				HaveSecondaryWeapon[id] = true;

			}

			case DEAGLE_KEY: {

				fm_give_item(id, "weapon_deagle")

				cs_set_user_bpammo(id, CSW_DEAGLE, 256)

				HaveSecondaryWeapon[id] = true;

			}

			case ELITE_KEY: {

				fm_give_item(id, "weapon_elite")

				cs_set_user_bpammo(id, CSW_ELITE, 256)

				HaveSecondaryWeapon[id] = true;

			}

			case FIVESEVEN_KEY: {

				fm_give_item(id, "weapon_fiveseven")

				cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)

				HaveSecondaryWeapon[id] = true;

			}

		}

	}

}

public CMD_BlockJoinTeam(id) {

	console_print(id, "[FURIEN] Nu ai voie sa foloseti JoinTeam ! ***")

	return 1;

}



public CMD_BlockChooseTeam(id) {

	console_print(id, "[FURIEN] Nu ai voie sa foloseti ChooseTeam ! ***")

	return 1;

}



public CmdShowMotd(id)

	show_motd(id, "addons/amxmodx/configs/beneficii.html")



/////////////////////////////////////////////////////////////////////////



public EVENT_CurWeapon(id) {

	if(is_user_connected(id)) {

		if(get_user_weapon(id) == CSW_KNIFE) {

			if(HaveSuperKnife[id]) 

				set_pev(id, pev_viewmodel2, SuperKnifeModel_V)

		}

		new PlayerHealth;

		PlayerHealth = get_user_health(id)

		if(PlayerHealth == 256)

			fm_set_user_health(id, 255)

	}



}



public EVENT_Death() {

	static Attacker, Victim;

	Attacker = read_data(1)

	Victim = read_data(2)

	HaveSuperKnife[Victim] = false;

	if(Victim == Attacker) 

		return 1;

	



	return 1;

}



public MSG_StatusIcon(msg_id, msg_dest, id) {

	static Attrib 

	Attrib = get_msg_arg_int(2)

	

	if(Attrib == (1<<1))

		set_msg_arg_int(2, ARG_BYTE, 0)

	

	new Icon[8];

	get_msg_arg_string(2, Icon, 7);

	if(get_pcvar_num(removebuyzone)) {

		static const BuyZone[] = "buyzone";

		

		if(equal(Icon, BuyZone)) {

			set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5);

			

			return PLUGIN_HANDLED;

		}

	}

	return PLUGIN_CONTINUE;

}



public MSG_TextMessage() {

	static TextMsg[22];

	get_msg_arg_string(2, TextMsg, charsmax(TextMsg))

	if(equal(TextMsg, "#Terrorists_Win")) {

		client_print(0, print_center, "The Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#CTs_Win")) {

		client_print(0, print_center, "The Anti-Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Bomb_Defused")) {

		client_print(0, print_center, "The Anti-Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Target_Bombed")) {

		client_print(0, print_center, "The Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Target_Saved")) {

		client_print(0, print_center, "The Anti-Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Fire_in_the_hole"))

		return PLUGIN_HANDLED

	else if(equal(TextMsg, "#C4_Plant_At_Bomb_Spot")) {

		if(!CanPlant)

			return PLUGIN_HANDLED

	}

	return PLUGIN_CONTINUE;

}



public MSG_ShowMenu(msgid, dest, id) {

	if(!Should_AutoJoin(id))

		return PLUGIN_CONTINUE

	

	static team_select[] = "#Team_Select"

	static menu_text_code[sizeof team_select]

	get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)

	if(!equal(menu_text_code, team_select))

		return PLUGIN_CONTINUE

	

	JoinTeam_Task(id, msgid)

	

	return PLUGIN_HANDLED

}



public MSG_VGUIMenu(msgid, dest, id) {

	if(get_msg_arg_int(1) != 2 || !Should_AutoJoin(id))

		return PLUGIN_CONTINUE

	

	JoinTeam_Task(id, msgid)

	

	return PLUGIN_HANDLED

}



public MSG_SendAudio() {

	static Sound[17]

	get_msg_arg_string(2, Sound, sizeof Sound - 1)

	

	if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw") || equal(Sound, "bombpl") || equal(Sound, "bombdef"))

		return PLUGIN_HANDLED;

	

	return PLUGIN_CONTINUE;

}



public MSG_Health(msgid, dest, id) {

	static Health;

	Health = get_msg_arg_int(1)

	if(Health > 255)

		set_msg_arg_int(1, ARG_BYTE, 255);

	else if(Health == 256) 

		set_msg_arg_int(1, ARG_BYTE, get_user_health(id) + 10)

}



public MSG_ScreenFade(msgid, dest, id) {

	if(is_user_connected(id)) {

		if(get_user_flags(id) & VIP_GOLD_LEVEL) {

			static data[4]

			data[0] = get_msg_arg_int(4)

			data[1] = get_msg_arg_int(5)

			data[2] = get_msg_arg_int(6)

			data[3] = get_msg_arg_int(7)

		

			if(data[0] == 255 && data[1] == 255 && data[2] == 255 && data[3] > 199)

				return PLUGIN_HANDLED

		}

	}

	return PLUGIN_CONTINUE

}



bool:Should_AutoJoin(id) {

	return(get_pcvar_num(cvar_autojoin_team) && !get_user_team(id) && !task_exists(id))

}



JoinTeam_Task(id, menu_msgid) {

	static param_menu_msgid[2]

	param_menu_msgid[0] = menu_msgid

	

	set_task(0.1, "Force_JoinTeam", id, param_menu_msgid, sizeof param_menu_msgid)

}



public Force_JoinTeam(menu_msgid[], id) {

	if(get_user_team(id))

		return

	

	static team[2], class[2]

	get_pcvar_string(cvar_autojoin_team, team, sizeof team - 1)

	get_pcvar_string(cvar_autojoin_class, class, sizeof class - 1)

	Force_Team_Join(id, menu_msgid[0], team, class)

}



stock Force_Team_Join(id, menu_msgid,  team[] = "5", class[] = "0") {

	static jointeam[] = "jointeam"

	if(class[0] == '0') {

		engclient_cmd(id, jointeam, team)

		return

	}

	

	static msg_block, joinclass[] = "joinclass"

	msg_block = get_msg_block(menu_msgid)

	set_msg_block(menu_msgid, BLOCK_SET)

	engclient_cmd(id, jointeam, team)

	engclient_cmd(id, joinclass, class)

	set_msg_block(menu_msgid, msg_block)

}



public bomb_planted(planter) {

	C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1

	TASK_C4_CountDown();

	set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)



}



public EVENT_SwitchTeam() {

	new Players[32], PlayersNum, id;

	get_players(Players, PlayersNum)

	if(PlayersNum) {

		for(new i; i < PlayersNum; i++) {

			id = Players

			BeginDelay(id)

		}

	}

}



public BeginDelay(id) {

	if(is_user_connected(id)) {

		switch(id) {

			case 1..7: set_task(0.1, "BeginTeamSwap", id)

			case 8..15: set_task(0.2, "BeginTeamSwap", id)

			case 16..23: set_task(0.3, "BeginTeamSwap", id)

			case 24..32: set_task(0.4, "BeginTeamSwap", id)

		}

	}

}



public BeginTeamSwap(id) {

	if(is_user_connected(id)) {

		switch(get_user_team(id)) {

			case TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)

			case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)

		}

	}

}	



///////////////////////////////////////////////////////////////////////////////////////////////



public Player_PreThink(id) {

	if(is_user_connected(id)) {

		if(get_user_team(id) == TEAM_FURIEN) {

			if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)

				set_pev(id, pev_gravity, FURIEN_GRAVITY)

		

			if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {

				set_pev(id, pev_maxspeed, FURIEN_SPEED)

				set_user_footsteps(id, 1)

			}

		}

		if(get_pcvar_num(cvar_aim_info)) {

			new Target, Body;

			get_user_aiming(id, Target, Body);

			if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {

				new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;

				TargetTeam = get_user_team(Target)

				PlayerTeam = get_user_team(id)

				get_user_name(Target, TargetName, 31)

				TargetHealth = get_user_health(Target)

				TargetArmor = get_user_armor(Target)

				if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {

					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)

					RED = 20

					GREEN = 200

					BLUE = 50

				}

				else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {

					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)

					RED = 200

					GREEN = 20 

					BLUE = 20 

				}

				else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {

					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)

					RED = 200

					GREEN = 20 

					BLUE = 20 

				}

				else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)

					return 

				set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);

				show_hudmessage(id, "%s", Message)

			}

		}

	}

}



public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) {

	if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) {

		if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1 

		|| !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent

		|| get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) {

			set_es(es, ES_RenderFx, kRenderFxNone);

			set_es(es, ES_RenderMode, kRenderTransTexture);

			set_es(es, ES_RenderAmt, 255);

		}

		else if(get_user_team(ent) == 1) {

			set_es(es, ES_RenderFx, kRenderFxNone);

			set_es(es, ES_RenderMode, kRenderTransTexture);

			static Float:Origin[3]

			pev(ent, pev_origin, Origin)

			

			if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2])

				set_es(es, ES_RenderAmt, 0);

			else

				set_es(es, ES_RenderAmt, 255);

		}

	}

}



public FWD_ParachutePreThink(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		new Float:FallSpeed = -50.0;

		new Float:Frame;

		

		new Button = pev(id, pev_button);

		new OldButton = pev(id, pev_oldbuttons);
		new Flags = pev(id, pev_flags);

		

		if(ParaENT[id] > 0 &&(Flags & FL_ONGROUND)) {

			

			if(pev(ParaENT[id],pev_sequence) != 2) {

				set_pev(ParaENT[id], pev_sequence, 2);

				set_pev(ParaENT[id], pev_gaitsequence, 1);

				set_pev(ParaENT[id], pev_frame, 0.0);

				set_pev(ParaENT[id], pev_fuser1, 0.0);

				set_pev(ParaENT[id], pev_animtime, 0.0);

				return;

			}

			

			pev(ParaENT[id],pev_fuser1, Frame);

			Frame += 2.0;

			set_pev(ParaENT[id],pev_fuser1,Frame);

			set_pev(ParaENT[id],pev_frame,Frame);

			

			if(Frame > 254.0) {

				engfunc(EngFunc_RemoveEntity, ParaENT[id]);

				ParaENT[id] = 0;

			}

			else {

				engfunc(EngFunc_RemoveEntity, ParaENT[id]);

				ParaENT[id] = 0;

			}

			return;

		}

		

		if(Button & IN_USE) {

			new Float:Velocity[3];

			pev(id, pev_velocity, Velocity);

			

			if(Velocity[2] < 0.0) {

				if(ParaENT[id] <= 0) {

					ParaENT[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

					

					if(ParaENT[id] > 0) {

						set_pev(ParaENT[id],pev_classname, PARACHUTE_CLASS);

						set_pev(ParaENT[id], pev_aiment, id);

						set_pev(ParaENT[id], pev_owner, id);

						set_pev(ParaENT[id], pev_movetype, MOVETYPE_FLY);

						set_pev(ParaENT[id], pev_sequence, 0);

						set_pev(ParaENT[id], pev_gaitsequence, 1);

						set_pev(ParaENT[id], pev_frame, 0.0);

						set_pev(ParaENT[id], pev_fuser1, 0.0);

					}

				}

				if(ParaENT[id] > 0) {

					set_pev(id, pev_sequence, 3);

					set_pev(id, pev_gaitsequence, 1);

					set_pev(id, pev_frame, 1.0);

					set_pev(id, pev_framerate, 1.0);

					

					Velocity[2] = (Velocity[2] + 40.0 < FallSpeed) ? Velocity[2] + 40.0 : FallSpeed;

					set_pev(id, pev_velocity, Velocity);

					

					if(pev(ParaENT[id],pev_sequence) == 0) {

						pev(ParaENT[id],pev_fuser1, Frame);

						Frame += 1.0;

						set_pev(ParaENT[id],pev_fuser1,Frame);

						set_pev(ParaENT[id],pev_frame,Frame);

						

						if(Frame > 100.0) {

							set_pev(ParaENT[id], pev_animtime, 0.0);

							set_pev(ParaENT[id], pev_framerate, 0.4);

							set_pev(ParaENT[id], pev_sequence, 1);

							set_pev(ParaENT[id], pev_gaitsequence, 1);

							set_pev(ParaENT[id], pev_frame, 0.0);

							set_pev(ParaENT[id], pev_fuser1, 0.0);

						}

					}

				}

			}

			

			else if(ParaENT[id] > 0) {

				engfunc(EngFunc_RemoveEntity, ParaENT[id]);

				ParaENT[id] = 0;

			}

		}

		

		else if((OldButton & IN_USE) && ParaENT[id] > 0) {

			engfunc(EngFunc_RemoveEntity, ParaENT[id]);

			ParaENT[id] = 0;

		}

	}

}



public FWD_GameDescription() { 

	static GameName[32]

	get_pcvar_string(cvar_gamedescription, GameName, 31)

	

	forward_return(FMV_STRING, GameName)

	

	return FMRES_SUPERCEDE

}



public TASK_CanPlant() {

	CanPlant = true;

	set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)



}



public TASK_C4_CountDown() {

	new Red, Green, Blue

	if(C4_CountDownDelay > 10)

		Red = 0, Green = 255, Blue = 0;

	else if(C4_CountDownDelay > 5)

		Red = 255, Green = 200, Blue = 0;

	else if(C4_CountDownDelay <= 5)

		Red = 255, Green = 0, Blue = 0;

	

	if(C4_CountDownDelay) {

		new Message[256];

		formatex(Message,sizeof(Message)-1,"----------^n| C4: %d |^n----------", C4_CountDownDelay);



		set_hudmessage(Red, Green, Blue, -1.0, 0.78, 0, 6.0, 1.0)

		show_hudmessage(0, "%s", Message)

		set_task(1.0, "TASK_C4_CountDown", TASKID_C4COUNTDOWN);

		C4_CountDownDelay--;

	}

	else if(!C4_CountDownDelay)

		C4_CountDownDelay = 0;

}



stock ColorChat(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, "!t", "^3");

	

	if(id) players[0] = id;

	else get_players(players, count, "ch"); {

		for(new i = 0; i < count; i++) {

			if(is_user_connected(players)) {

				message_begin(MSG_ONE_UNRELIABLE, MSGID_SayText, _, players);

				write_byte(players);

				write_string(msg);

				message_end();

			}

		}

	} 

}

doar eu daca arunc intr-un player fac DMG da el in mine daca aunca nu imi i-a din viata.

Re: Cerere Modificare plugin furien

Posted: 16 May 2018, 21:09
by Klips
N.A.S.A. wrote:saltu. ma puteti ajuta si pe mine ca fondatorii sa primeasca demegi facut de bombe.

sursa:
| Afiseaza codul
#include <amxmodx>

#include <cstrike>

#include <engine>

#include <fakemeta>

#include <fakemeta_util>

#include <hamsandwich>

#include <fun>



#define PLUGIN "Furien Clasic"

#define VERSION "2.0"

#define AUTHOR "Aragon*/DaNNe."



#define DMG_HEGRENADE (1<<24)



#define FURIEN_GRAVITY		0.4

#define FURIEN_SPEED		750.0

#define TEAM_FURIEN 1

#define TEAM_ANTIFURIEN 2



#define TASKID_CANPLANT			 10001

#define TASKID_C4COUNTDOWN		 453 



#define VIP_GOLD_LEVEL		ADMIN_LEVEL_H

#define VIP_SILVER_LEVEL	ADMIN_LEVEL_G

#define FOUNDER_LEVEL		ADMIN_IMMUNITY



#if cellbits == 32

#define OFFSET_BZ 235

#else

#define OFFSET_BZ 268

#endif



//Shop

new SuperKnifeModel_V[] = "models/shop/v_knife_furiengo.mdl"

new bool: HaveSuperKnife[33]



//Settings

new bool:MakeVisible[33], Float:Wallorigin[33][3]



//Parachute

#define PARACHUTE_CLASS		"Parachute"

new ParaENT[33];



new Menu;

new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info, 

MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health, MSGID_ScreenFade,

bool:CanPlant, C4_CountDownDelay;



public plugin_cfg() {

	server_cmd("amx_cvar mp_playerid 2")

	server_cmd("amx_cvar sv_maxspeed 999")

	server_cmd("amx_cvar sv_restart 5")

}





//===========================================================================================//

//===============================[Weapons Settings]=========================================//

//=========================================================================================//

new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];



//---|| Primary

#define M4A1_KEY		100

#define AK47_KEY		101

#define M3_KEY			102

#define AUG_KEY			103 

#define FAMAS_KEY		104

#define MP5_KEY			105

#define XM1014_KEY		106



//---|| Secondary

#define USP_KEY			107

#define DEAGLE_KEY		108

#define ELITE_KEY		109

#define FIVESEVEN_KEY	110



public plugin_init() {

	register_plugin(PLUGIN, VERSION, AUTHOR)

	

	cvar_gamedescription = register_cvar("furien_gamename", "FURIEN CLASSIC")

	antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")

	furienspawnhp = register_cvar("furien_spawnhp", "100")

	superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.2")

	cvar_autojoin_team = register_cvar("furien_team", "5")

	cvar_autojoin_class = register_cvar("furien_class", "5")

	cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")

	

	MSGID_SayText = get_user_msgid("SayText")

	MSGID_StatusIcon = get_user_msgid("StatusIcon")

	MSGID_TextMsg = get_user_msgid("TextMsg")

	MSGID_SendAudio = get_user_msgid("SendAudio")

	MSGID_ShowMenu = get_user_msgid("ShowMenu")

	MSGID_VGUIMenu = get_user_msgid("VGUIMenu")

	MSGID_ScreenFade = get_user_msgid("ScreenFade")



	//register_clcmd("say weapons", "CmdWeaponsMenu")

	//register_clcmd("say /weapons", "CmdWeaponsMenu")

	register_clcmd("jointeam", "CMD_BlockJoinTeam")

	register_clcmd("jointeam 1", "CMD_BlockJoinTeam")

	register_clcmd("jointeam 2", "CMD_BlockJoinTeam")

	register_clcmd("jointeam 3", "CMD_BlockJoinTeam")

	register_clcmd("chooseteam", "CMD_BlockChooseTeam")

	register_clcmd("say /beneficii", "CmdShowMotd")

	register_clcmd("say /rs", "CmdResetScore")

	register_clcmd("say_team /rs", "CmdResetScore")

	register_clcmd("say /resetscore", "CmdResetScore")

	register_clcmd("say_team /resetscore", "CmdResetScore")

	

	RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)

	RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon")

	RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon")

	RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon")

	RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage")

	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack"); 

	

	register_forward(FM_PlayerPreThink, "Player_PreThink");

	register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);	

	register_forward(FM_PlayerPreThink, "FWD_ParachutePreThink");

	register_forward(FM_GetGameDescription, "FWD_GameDescription")	

	

	register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1")

	register_event("DeathMsg", "EVENT_Death", "a");

	register_event("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");

	register_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");

	register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")

	register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")	

	

	

	register_message(MSGID_StatusIcon, "MSG_StatusIcon");

	register_message(MSGID_TextMsg, "MSG_TextMessage");

	register_message(MSGID_ShowMenu, "MSG_ShowMenu");

	register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");

	register_message(MSGID_SendAudio, "MSG_SendAudio");

	register_message(MSGID_Health, "MSG_Health")

	register_message(MSGID_ScreenFade, "MSG_ScreenFade")

}





public plugin_precache() {

	removebuyzone = register_cvar("furien_removebuyzone", "1")

	

	if(get_pcvar_num(removebuyzone)) {

		

		remove_entity_name("info_map_parameters");

		remove_entity_name("func_buyzone");

		

		new Entity = create_entity("info_map_parameters");

		

		DispatchKeyValue(Entity, "buying", "3");

		DispatchSpawn(Entity);

	}

	precache_model(SuperKnifeModel_V)

}



public client_connect(id) {

	client_cmd(id, "cl_forwardspeed 999.0")

	client_cmd(id, "cl_sidespeed 999.0")

	client_cmd(id, "cl_backspeed 999.0")

}



public client_putinserver(id) {

	client_cmd(id, "cl_forwardspeed 999.0")

	client_cmd(id, "cl_sidespeed 999.0")

	client_cmd(id, "cl_backspeed 999.0")

	PrimaryWeapon[id] = 0

	SecondaryWeapon[id] = 0

}

	



public Ham_Spawn_Post(id) {

	if(is_user_connected(id) && is_user_alive(id)) {

		strip_user_weapons(id)

		HavePrimaryWeapon[id] = false

		HaveSecondaryWeapon[id] = false

		switch(get_user_team(id)) {

			case TEAM_FURIEN: {

				fm_give_item(id, "weapon_hegrenade")

				fm_give_item(id, "weapon_knife")

				set_user_footsteps(id, 1)

				fm_set_user_health(id, get_pcvar_num(furienspawnhp))

			}

			case TEAM_ANTIFURIEN: {

				fm_give_item(id, "weapon_knife")

				set_user_footsteps(id, 0)

				fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))

				HaveSuperKnife[id] = false;

				Equipment(id)					

			}

		}

	}

}



public EVENT_NewRound() {

	CanPlant = false;

	new Float:FloatTime = get_cvar_num("mp_freezetime") + (get_cvar_num("mp_roundtime") * 60) - 60.0

	set_task(FloatTime, "TASK_CanPlant", TASKID_CANPLANT)

	remove_task(TASKID_C4COUNTDOWN)

}



public EVENT_FireINTheHole() 

	return PLUGIN_HANDLED



public HAM_Touch_Weapon(ent, id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN && !(get_pdata_cbase(ent, 39, 4) > 0))

		return HAM_SUPERCEDE

	

	return HAM_IGNORED

}



public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {

	if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {

		if(get_user_weapon(Attacker) == CSW_KNIFE) {

			if(HaveSuperKnife[Attacker])

				SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))

		}

		if(get_user_flags(Victim) & VIP_GOLD_LEVEL) {

			if(DamageType & DMG_HEGRENADE)

				return HAM_SUPERCEDE

		}

	}

	return HAM_IGNORED

}



///////////////////////////////////////////////////////////////////////////////////////////////



public C4_PrimaryAttack(Ent) {

	if(!CanPlant) 

		return HAM_SUPERCEDE

		

	return HAM_IGNORED

}



public CmdResetScore(id) {

	if(get_user_frags(id) == 0 && get_user_deaths(id) == 0) 

		ColorChat(id, "!g[FURIEN] !ySCORUL TAU ESTE DEJA !g0-0 !")

	else {

		for(new i = 0; i < 2; i++) {

			cs_set_user_deaths(id, 0);

			set_user_frags(id, 0);

		}

		ColorChat(id, "!g[FURIEN] !yTI-AI RESETAT !tSCORUL !yCU SUCCES. !")

	}
}



public CmdShopMenu(id) {

	if(!is_user_alive(id))

		return PLUGIN_HANDLED

	switch(get_user_team(id)) {

		case TEAM_FURIEN: CmdFurienShop(id)

		case TEAM_ANTIFURIEN: CmdAntiFurienShop(id)

	}

	return PLUGIN_HANDLED

}



public CmdFurienShop(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {

		Menu = menu_create("\yFurien Shop", "CmdFurienHandler")

		

		new SuperKnife[256];

		formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \y10000$")   

		menu_additem(Menu, SuperKnife, "1", 0)

		

		new Health[256];

		formatex(Health, sizeof(Health)-1, "50 HP	- \y3000$")

		menu_additem(Menu, Health, "2", 0)

		

		new Armor[256];

		formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")

		menu_additem(Menu, Armor, "3", 0)

		

		new Grenade[256];

		formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")

		menu_additem(Menu, Grenade, "4", 0)

		

		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdAntiFurienShop(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		Menu = menu_create("\yAnti-Furien Shop", "CmdAntiFurienHandler")	



		new Defuse[256];

		formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \y500$")

		menu_additem(Menu, Defuse, "1", 0)

		

		new Health[256];

		formatex(Health, sizeof(Health)-1, "50 HP	- \y3000$")

		menu_additem(Menu, Health, "2", 0)

		

		new Armor[256];

		formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")

		menu_additem(Menu, Armor, "3", 0)

		

		new Grenade[256];

		formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")

		menu_additem(Menu, Grenade, "4", 0)



		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdFurienHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			if(HaveSuperKnife[id])

				client_print(id, print_center, "You already have SuperKnife!")

			else {

				new Money = cs_get_user_money(id) - 10000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					HaveSuperKnife[id] = true;

					EVENT_CurWeapon(id)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 2: {

			if(get_user_health(id) >= 250) 

				client_print(id, print_center, "You already have 250 HP!")

			else {

				new Money = cs_get_user_money(id) - 3000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_health(id) + 50 > 250)

						fm_set_user_health(id, 250)

					else 

						fm_set_user_health(id, get_user_health(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 3: {

			if(get_user_armor(id) >= 250) 

				client_print(id, print_center, "You already have 250 AP!")

			else {

				new Money = cs_get_user_money(id) - 500

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_armor(id) + 50 > 250) 

						fm_set_user_armor(id, 250)

					else 

						fm_set_user_armor(id, get_user_armor(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 4: {

			if(user_has_weapon(id, CSW_HEGRENADE))

				client_print(id, print_center, "You already have HE GRENADE!")

			else {

				new Money = cs_get_user_money(id) - 4000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {	

					fm_give_item(id, "weapon_hegrenade")

					cs_set_user_money(id, Money)

				}

			}

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



public CmdAntiFurienHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			if(cs_get_user_defuse(id))

				client_print(id, print_center, "You already have Defuse KIT!")

			else {

				new Money = cs_get_user_money(id) - 500

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					cs_set_user_defuse(id, 1)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 2: {

			if(get_user_health(id) >= 250) 

				client_print(id, print_center, "You already have 250 HP!")

			else {

				new Money = cs_get_user_money(id) - 3000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_health(id) + 50 > 250)

						fm_set_user_health(id, 250)

					else 

						fm_set_user_health(id, get_user_health(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 3: {

			if(get_user_armor(id) >= 250) 

				client_print(id, print_center, "You already have 250 AP!")

			else {

				new Money = cs_get_user_money(id) - 500

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_armor(id) + 50 > 250) 

						fm_set_user_armor(id, 250)

					else 

						fm_set_user_armor(id, get_user_armor(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 4: {

			if(user_has_weapon(id, CSW_HEGRENADE))

				client_print(id, print_center, "You already have HE GRENADE!")

			else {

				new Money = cs_get_user_money(id) - 4000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {	

					fm_give_item(id, "weapon_hegrenade")

					cs_set_user_money(id, Money)

				}

			}

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



//=========================================================================//

//=======================[Weapons Settings]===============================//

//=======================================================================//



public Equipment(id) {

	if(is_user_alive(id) && get_user_team(id) == 2) {

		Menu = menu_create("\rWeapons Menu", "EquipmentCmd");

		menu_additem(Menu, "\wNew Weapons", "1", 0);

		if(PrimaryWeapon[id] && SecondaryWeapon[id])

			menu_additem(Menu, "\wPrevious Setup", "2", 0);

		else 

			menu_additem(Menu, "\dPrevious Setup", "2", 0);

		menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)

		menu_display(id, Menu, 0);

	}

}



public EquipmentCmd(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			if(!HavePrimaryWeapon[id])

				Primary(id)

			else if(!HaveSecondaryWeapon[id])

				Secondary(id)

		}

		case 2: {

			if(PrimaryWeapon[id] && SecondaryWeapon[id])

				GiveLastWeapons(id)

			else Equipment(id)

		}

		default: return PLUGIN_HANDLED;

	}

	menu_destroy(menu);

	return PLUGIN_HANDLED;

}



public Primary(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		Menu = menu_create("\yAnti-Furien Weapons^n\rPrimary:", "CmdWeaponsHandler")

		

		menu_additem(Menu, "M4A1", "1", 0)

		menu_additem(Menu, "AK47", "2", 0)

		menu_additem(Menu, "M3", "3", 0)

		menu_additem(Menu, "Aug", "4", 0)

		menu_additem(Menu, "Famas", "5", 0)

		menu_additem(Menu, "MP5 Navy", "6", 0)

		menu_additem(Menu, "XM1014", "7", 0)

		

		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdWeaponsHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			fm_give_item(id, "weapon_m4a1")

			cs_set_user_bpammo(id, CSW_M4A1, 254)

			PrimaryWeapon[id] = M4A1_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 2: {

			fm_give_item(id, "weapon_ak47")

			cs_set_user_bpammo(id, CSW_AK47, 254)

			PrimaryWeapon[id] = AK47_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 3: {

			fm_give_item(id, "weapon_m3")

			cs_set_user_bpammo(id, CSW_M3, 254)

			PrimaryWeapon[id] = M3_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 4: {

			fm_give_item(id, "weapon_aug")

			cs_set_user_bpammo(id, CSW_AUG, 254)

			PrimaryWeapon[id] = AUG_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 5: {

			fm_give_item(id, "weapon_famas")

			cs_set_user_bpammo(id, CSW_FAMAS, 254)

			PrimaryWeapon[id] = FAMAS_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 6: {

			fm_give_item(id, "weapon_mp5navy")

			cs_set_user_bpammo(id, CSW_MP5NAVY, 254)

			PrimaryWeapon[id] = MP5_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 7: {

			fm_give_item(id, "weapon_xm1014")

			cs_set_user_bpammo(id, CSW_XM1014, 254)

			PrimaryWeapon[id] = XM1014_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



public Secondary(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		Menu = menu_create("\yAnti-Furien Weapons^n\rSecondary:", "CmdSecondaryHandler")

		

		menu_additem(Menu, "USP", "1", 0)

		menu_additem(Menu, "Deagle", "2", 0)

		menu_additem(Menu, "Elite", "3", 0)

		menu_additem(Menu, "Five Seven", "4", 0)

		

		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdSecondaryHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {		

		case 1: {

			fm_give_item(id, "weapon_usp")

			cs_set_user_bpammo(id, CSW_USP, 256)

			SecondaryWeapon[id] = USP_KEY

			HaveSecondaryWeapon[id] = true;

		}

		case 2: {

			fm_give_item(id, "weapon_deagle")

			cs_set_user_bpammo(id, CSW_DEAGLE, 256)

			SecondaryWeapon[id] = DEAGLE_KEY 

			HaveSecondaryWeapon[id] = true;

		}

		case 3: {

			fm_give_item(id, "weapon_elite")

			cs_set_user_bpammo(id, CSW_ELITE, 256)

			SecondaryWeapon[id] = ELITE_KEY

			HaveSecondaryWeapon[id] = true;

		}

		case 4: {

			fm_give_item(id, "weapon_fiveseven")

			cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)

			SecondaryWeapon[id] = FIVESEVEN_KEY

			HaveSecondaryWeapon[id] = true;

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



public GiveLastWeapons(id) {

	if(!HavePrimaryWeapon[id]) {

		switch(PrimaryWeapon[id]) {

			case M4A1_KEY: {

				fm_give_item(id, "weapon_m4a1")

				cs_set_user_bpammo(id, CSW_M4A1, 256)

				HavePrimaryWeapon[id] = true;

			}

			case AK47_KEY: {

				fm_give_item(id, "weapon_ak47")

				cs_set_user_bpammo(id, CSW_AK47, 256)

				HavePrimaryWeapon[id] = true;

			}

			case M3_KEY: {

				fm_give_item(id, "weapon_m3")

				cs_set_user_bpammo(id, CSW_M3, 256)

				HavePrimaryWeapon[id] = true;

			}

			case AUG_KEY: {

				fm_give_item(id, "weapon_aug")

				cs_set_user_bpammo(id, CSW_AUG, 256)

				HavePrimaryWeapon[id] = true;

			}

			case FAMAS_KEY: {

				fm_give_item(id, "weapon_famas")

				cs_set_user_bpammo(id, CSW_FAMAS, 256)

				HavePrimaryWeapon[id] = true;

			}

			case MP5_KEY: {

				fm_give_item(id, "weapon_mp5navy")

				cs_set_user_bpammo(id, CSW_MP5NAVY, 256)

				HavePrimaryWeapon[id] = true;

			}

			case XM1014_KEY: {

				fm_give_item(id, "weapon_xm1014")

				cs_set_user_bpammo(id, CSW_XM1014, 256)

				HavePrimaryWeapon[id] = true;

			}

		}

	}

	if(!HaveSecondaryWeapon[id]) {

		switch(SecondaryWeapon[id]) {

			case USP_KEY: {

				fm_give_item(id, "weapon_usp")

				cs_set_user_bpammo(id, CSW_USP, 256)

				HaveSecondaryWeapon[id] = true;

			}

			case DEAGLE_KEY: {

				fm_give_item(id, "weapon_deagle")

				cs_set_user_bpammo(id, CSW_DEAGLE, 256)

				HaveSecondaryWeapon[id] = true;

			}

			case ELITE_KEY: {

				fm_give_item(id, "weapon_elite")

				cs_set_user_bpammo(id, CSW_ELITE, 256)

				HaveSecondaryWeapon[id] = true;

			}

			case FIVESEVEN_KEY: {

				fm_give_item(id, "weapon_fiveseven")

				cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)

				HaveSecondaryWeapon[id] = true;

			}

		}

	}

}

public CMD_BlockJoinTeam(id) {

	console_print(id, "[FURIEN] Nu ai voie sa foloseti JoinTeam ! ***")

	return 1;

}



public CMD_BlockChooseTeam(id) {

	console_print(id, "[FURIEN] Nu ai voie sa foloseti ChooseTeam ! ***")

	return 1;

}



public CmdShowMotd(id)

	show_motd(id, "addons/amxmodx/configs/beneficii.html")



/////////////////////////////////////////////////////////////////////////



public EVENT_CurWeapon(id) {

	if(is_user_connected(id)) {

		if(get_user_weapon(id) == CSW_KNIFE) {

			if(HaveSuperKnife[id]) 

				set_pev(id, pev_viewmodel2, SuperKnifeModel_V)

		}

		new PlayerHealth;

		PlayerHealth = get_user_health(id)

		if(PlayerHealth == 256)

			fm_set_user_health(id, 255)

	}



}



public EVENT_Death() {

	static Attacker, Victim;

	Attacker = read_data(1)

	Victim = read_data(2)

	HaveSuperKnife[Victim] = false;

	if(Victim == Attacker) 

		return 1;

	



	return 1;

}



public MSG_StatusIcon(msg_id, msg_dest, id) {

	static Attrib 

	Attrib = get_msg_arg_int(2)

	

	if(Attrib == (1<<1))

		set_msg_arg_int(2, ARG_BYTE, 0)

	

	new Icon[8];

	get_msg_arg_string(2, Icon, 7);

	if(get_pcvar_num(removebuyzone)) {

		static const BuyZone[] = "buyzone";

		

		if(equal(Icon, BuyZone)) {

			set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5);

			

			return PLUGIN_HANDLED;

		}

	}

	return PLUGIN_CONTINUE;

}



public MSG_TextMessage() {

	static TextMsg[22];

	get_msg_arg_string(2, TextMsg, charsmax(TextMsg))

	if(equal(TextMsg, "#Terrorists_Win")) {

		client_print(0, print_center, "The Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#CTs_Win")) {

		client_print(0, print_center, "The Anti-Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Bomb_Defused")) {

		client_print(0, print_center, "The Anti-Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Target_Bombed")) {

		client_print(0, print_center, "The Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Target_Saved")) {

		client_print(0, print_center, "The Anti-Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Fire_in_the_hole"))

		return PLUGIN_HANDLED

	else if(equal(TextMsg, "#C4_Plant_At_Bomb_Spot")) {

		if(!CanPlant)

			return PLUGIN_HANDLED

	}

	return PLUGIN_CONTINUE;

}



public MSG_ShowMenu(msgid, dest, id) {

	if(!Should_AutoJoin(id))

		return PLUGIN_CONTINUE

	

	static team_select[] = "#Team_Select"

	static menu_text_code[sizeof team_select]

	get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)

	if(!equal(menu_text_code, team_select))

		return PLUGIN_CONTINUE

	

	JoinTeam_Task(id, msgid)

	

	return PLUGIN_HANDLED

}



public MSG_VGUIMenu(msgid, dest, id) {

	if(get_msg_arg_int(1) != 2 || !Should_AutoJoin(id))

		return PLUGIN_CONTINUE

	

	JoinTeam_Task(id, msgid)

	

	return PLUGIN_HANDLED

}



public MSG_SendAudio() {

	static Sound[17]

	get_msg_arg_string(2, Sound, sizeof Sound - 1)

	

	if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw") || equal(Sound, "bombpl") || equal(Sound, "bombdef"))

		return PLUGIN_HANDLED;

	

	return PLUGIN_CONTINUE;

}



public MSG_Health(msgid, dest, id) {

	static Health;

	Health = get_msg_arg_int(1)

	if(Health > 255)

		set_msg_arg_int(1, ARG_BYTE, 255);

	else if(Health == 256) 

		set_msg_arg_int(1, ARG_BYTE, get_user_health(id) + 10)

}



public MSG_ScreenFade(msgid, dest, id) {

	if(is_user_connected(id)) {

		if(get_user_flags(id) & VIP_GOLD_LEVEL) {

			static data[4]

			data[0] = get_msg_arg_int(4)

			data[1] = get_msg_arg_int(5)

			data[2] = get_msg_arg_int(6)

			data[3] = get_msg_arg_int(7)

		

			if(data[0] == 255 && data[1] == 255 && data[2] == 255 && data[3] > 199)

				return PLUGIN_HANDLED

		}

	}

	return PLUGIN_CONTINUE

}



bool:Should_AutoJoin(id) {

	return(get_pcvar_num(cvar_autojoin_team) && !get_user_team(id) && !task_exists(id))

}



JoinTeam_Task(id, menu_msgid) {

	static param_menu_msgid[2]

	param_menu_msgid[0] = menu_msgid

	

	set_task(0.1, "Force_JoinTeam", id, param_menu_msgid, sizeof param_menu_msgid)

}



public Force_JoinTeam(menu_msgid[], id) {

	if(get_user_team(id))

		return

	

	static team[2], class[2]

	get_pcvar_string(cvar_autojoin_team, team, sizeof team - 1)

	get_pcvar_string(cvar_autojoin_class, class, sizeof class - 1)

	Force_Team_Join(id, menu_msgid[0], team, class)

}



stock Force_Team_Join(id, menu_msgid,  team[] = "5", class[] = "0") {

	static jointeam[] = "jointeam"

	if(class[0] == '0') {

		engclient_cmd(id, jointeam, team)

		return

	}

	

	static msg_block, joinclass[] = "joinclass"

	msg_block = get_msg_block(menu_msgid)

	set_msg_block(menu_msgid, BLOCK_SET)

	engclient_cmd(id, jointeam, team)

	engclient_cmd(id, joinclass, class)

	set_msg_block(menu_msgid, msg_block)

}



public bomb_planted(planter) {

	C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1

	TASK_C4_CountDown();

	set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)



}



public EVENT_SwitchTeam() {

	new Players[32], PlayersNum, id;

	get_players(Players, PlayersNum)

	if(PlayersNum) {

		for(new i; i < PlayersNum; i++) {

			id = Players

			BeginDelay(id)

		}

	}

}



public BeginDelay(id) {

	if(is_user_connected(id)) {

		switch(id) {

			case 1..7: set_task(0.1, "BeginTeamSwap", id)

			case 8..15: set_task(0.2, "BeginTeamSwap", id)

			case 16..23: set_task(0.3, "BeginTeamSwap", id)

			case 24..32: set_task(0.4, "BeginTeamSwap", id)

		}

	}

}



public BeginTeamSwap(id) {

	if(is_user_connected(id)) {

		switch(get_user_team(id)) {

			case TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)

			case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)

		}

	}

}	



///////////////////////////////////////////////////////////////////////////////////////////////



public Player_PreThink(id) {

	if(is_user_connected(id)) {

		if(get_user_team(id) == TEAM_FURIEN) {

			if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)

				set_pev(id, pev_gravity, FURIEN_GRAVITY)

		

			if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {

				set_pev(id, pev_maxspeed, FURIEN_SPEED)

				set_user_footsteps(id, 1)

			}

		}

		if(get_pcvar_num(cvar_aim_info)) {

			new Target, Body;

			get_user_aiming(id, Target, Body);

			if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {

				new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;

				TargetTeam = get_user_team(Target)

				PlayerTeam = get_user_team(id)

				get_user_name(Target, TargetName, 31)

				TargetHealth = get_user_health(Target)

				TargetArmor = get_user_armor(Target)

				if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {

					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)

					RED = 20

					GREEN = 200

					BLUE = 50

				}

				else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {

					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)

					RED = 200

					GREEN = 20 

					BLUE = 20 

				}

				else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {

					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)

					RED = 200

					GREEN = 20 

					BLUE = 20 

				}

				else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)

					return 

				set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);

				show_hudmessage(id, "%s", Message)

			}

		}

	}

}



public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) {

	if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) {

		if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1 

		|| !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent

		|| get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) {

			set_es(es, ES_RenderFx, kRenderFxNone);

			set_es(es, ES_RenderMode, kRenderTransTexture);

			set_es(es, ES_RenderAmt, 255);

		}

		else if(get_user_team(ent) == 1) {

			set_es(es, ES_RenderFx, kRenderFxNone);

			set_es(es, ES_RenderMode, kRenderTransTexture);

			static Float:Origin[3]

			pev(ent, pev_origin, Origin)

			

			if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2])

				set_es(es, ES_RenderAmt, 0);

			else

				set_es(es, ES_RenderAmt, 255);

		}

	}

}



public FWD_ParachutePreThink(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		new Float:FallSpeed = -50.0;

		new Float:Frame;

		

		new Button = pev(id, pev_button);

		new OldButton = pev(id, pev_oldbuttons);
		new Flags = pev(id, pev_flags);

		

		if(ParaENT[id] > 0 &&(Flags & FL_ONGROUND)) {

			

			if(pev(ParaENT[id],pev_sequence) != 2) {

				set_pev(ParaENT[id], pev_sequence, 2);

				set_pev(ParaENT[id], pev_gaitsequence, 1);

				set_pev(ParaENT[id], pev_frame, 0.0);

				set_pev(ParaENT[id], pev_fuser1, 0.0);

				set_pev(ParaENT[id], pev_animtime, 0.0);

				return;

			}

			

			pev(ParaENT[id],pev_fuser1, Frame);

			Frame += 2.0;

			set_pev(ParaENT[id],pev_fuser1,Frame);

			set_pev(ParaENT[id],pev_frame,Frame);

			

			if(Frame > 254.0) {

				engfunc(EngFunc_RemoveEntity, ParaENT[id]);

				ParaENT[id] = 0;

			}

			else {

				engfunc(EngFunc_RemoveEntity, ParaENT[id]);

				ParaENT[id] = 0;

			}

			return;

		}

		

		if(Button & IN_USE) {

			new Float:Velocity[3];

			pev(id, pev_velocity, Velocity);

			

			if(Velocity[2] < 0.0) {

				if(ParaENT[id] <= 0) {

					ParaENT[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

					

					if(ParaENT[id] > 0) {

						set_pev(ParaENT[id],pev_classname, PARACHUTE_CLASS);

						set_pev(ParaENT[id], pev_aiment, id);

						set_pev(ParaENT[id], pev_owner, id);

						set_pev(ParaENT[id], pev_movetype, MOVETYPE_FLY);

						set_pev(ParaENT[id], pev_sequence, 0);

						set_pev(ParaENT[id], pev_gaitsequence, 1);

						set_pev(ParaENT[id], pev_frame, 0.0);

						set_pev(ParaENT[id], pev_fuser1, 0.0);

					}

				}

				if(ParaENT[id] > 0) {

					set_pev(id, pev_sequence, 3);

					set_pev(id, pev_gaitsequence, 1);

					set_pev(id, pev_frame, 1.0);

					set_pev(id, pev_framerate, 1.0);

					

					Velocity[2] = (Velocity[2] + 40.0 < FallSpeed) ? Velocity[2] + 40.0 : FallSpeed;

					set_pev(id, pev_velocity, Velocity);

					

					if(pev(ParaENT[id],pev_sequence) == 0) {

						pev(ParaENT[id],pev_fuser1, Frame);

						Frame += 1.0;

						set_pev(ParaENT[id],pev_fuser1,Frame);

						set_pev(ParaENT[id],pev_frame,Frame);

						

						if(Frame > 100.0) {

							set_pev(ParaENT[id], pev_animtime, 0.0);

							set_pev(ParaENT[id], pev_framerate, 0.4);

							set_pev(ParaENT[id], pev_sequence, 1);

							set_pev(ParaENT[id], pev_gaitsequence, 1);

							set_pev(ParaENT[id], pev_frame, 0.0);

							set_pev(ParaENT[id], pev_fuser1, 0.0);

						}

					}

				}

			}

			

			else if(ParaENT[id] > 0) {

				engfunc(EngFunc_RemoveEntity, ParaENT[id]);

				ParaENT[id] = 0;

			}

		}

		

		else if((OldButton & IN_USE) && ParaENT[id] > 0) {

			engfunc(EngFunc_RemoveEntity, ParaENT[id]);

			ParaENT[id] = 0;

		}

	}

}



public FWD_GameDescription() { 

	static GameName[32]

	get_pcvar_string(cvar_gamedescription, GameName, 31)

	

	forward_return(FMV_STRING, GameName)

	

	return FMRES_SUPERCEDE

}



public TASK_CanPlant() {

	CanPlant = true;

	set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)



}



public TASK_C4_CountDown() {

	new Red, Green, Blue

	if(C4_CountDownDelay > 10)

		Red = 0, Green = 255, Blue = 0;

	else if(C4_CountDownDelay > 5)

		Red = 255, Green = 200, Blue = 0;

	else if(C4_CountDownDelay <= 5)

		Red = 255, Green = 0, Blue = 0;

	

	if(C4_CountDownDelay) {

		new Message[256];

		formatex(Message,sizeof(Message)-1,"----------^n| C4: %d |^n----------", C4_CountDownDelay);



		set_hudmessage(Red, Green, Blue, -1.0, 0.78, 0, 6.0, 1.0)

		show_hudmessage(0, "%s", Message)

		set_task(1.0, "TASK_C4_CountDown", TASKID_C4COUNTDOWN);

		C4_CountDownDelay--;

	}

	else if(!C4_CountDownDelay)

		C4_CountDownDelay = 0;

}



stock ColorChat(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, "!t", "^3");

	

	if(id) players[0] = id;

	else get_players(players, count, "ch"); {

		for(new i = 0; i < count; i++) {

			if(is_user_connected(players)) {

				message_begin(MSG_ONE_UNRELIABLE, MSGID_SayText, _, players);

				write_byte(players);

				write_string(msg);

				message_end();

			}

		}

	} 

}

doar eu daca arunc intr-un player fac DMG da el in mine daca aunca nu imi i-a din viata.

Salut, ia vezi :
| Afiseaza codul
#include <amxmodx>

#include <cstrike>

#include <engine>

#include <fakemeta>

#include <fakemeta_util>

#include <hamsandwich>

#include <fun>



#define PLUGIN "Furien Clasic"

#define VERSION "2.0"

#define AUTHOR "Aragon*/DaNNe."



#define DMG_HEGRENADE (1<<24)



#define FURIEN_GRAVITY		0.4

#define FURIEN_SPEED		750.0

#define TEAM_FURIEN 1

#define TEAM_ANTIFURIEN 2



#define TASKID_CANPLANT			 10001

#define TASKID_C4COUNTDOWN		 453 



#define VIP_GOLD_LEVEL		ADMIN_LEVEL_H

#define VIP_SILVER_LEVEL	ADMIN_LEVEL_G

#define FOUNDER_LEVEL		ADMIN_IMMUNITY



#if cellbits == 32

#define OFFSET_BZ 235

#else

#define OFFSET_BZ 268

#endif



//Shop

new SuperKnifeModel_V[] = "models/shop/v_knife_furiengo.mdl"

new bool: HaveSuperKnife[33]



//Settings

new bool:MakeVisible[33], Float:Wallorigin[33][3]



//Parachute

#define PARACHUTE_CLASS		"Parachute"

new ParaENT[33];



new Menu;

new cvar_gamedescription, furienspawnhp, antifurienspawnhp, removebuyzone, superknife_damage_multiplier, cvar_autojoin_class, cvar_autojoin_team, cvar_aim_info, 

MSGID_SayText, MSGID_StatusIcon, MSGID_TextMsg, MSGID_SendAudio, MSGID_ShowMenu, MSGID_VGUIMenu, MSGID_Health, MSGID_ScreenFade,

bool:CanPlant, C4_CountDownDelay;



public plugin_cfg() {

	server_cmd("amx_cvar mp_playerid 2")

	server_cmd("amx_cvar sv_maxspeed 999")

	server_cmd("amx_cvar sv_restart 5")

}





//===========================================================================================//

//===============================[Weapons Settings]=========================================//

//=========================================================================================//

new bool:HavePrimaryWeapon[33], bool:HaveSecondaryWeapon[33], PrimaryWeapon[33], SecondaryWeapon[33];



//---|| Primary

#define M4A1_KEY		100

#define AK47_KEY		101

#define M3_KEY			102

#define AUG_KEY			103 

#define FAMAS_KEY		104

#define MP5_KEY			105

#define XM1014_KEY		106



//---|| Secondary

#define USP_KEY			107

#define DEAGLE_KEY		108

#define ELITE_KEY		109

#define FIVESEVEN_KEY	110



public plugin_init() {

	register_plugin(PLUGIN, VERSION, AUTHOR)

	

	cvar_gamedescription = register_cvar("furien_gamename", "FURIEN CLASSIC")

	antifurienspawnhp = register_cvar("antifurien_spawnhp", "100")

	furienspawnhp = register_cvar("furien_spawnhp", "100")

	superknife_damage_multiplier = register_cvar("superknife_damage_multiplier", "2.2")

	cvar_autojoin_team = register_cvar("furien_team", "5")

	cvar_autojoin_class = register_cvar("furien_class", "5")

	cvar_aim_info = register_cvar("furien_enable_aiminfo", "1")

	

	MSGID_SayText = get_user_msgid("SayText")

	MSGID_StatusIcon = get_user_msgid("StatusIcon")

	MSGID_TextMsg = get_user_msgid("TextMsg")

	MSGID_SendAudio = get_user_msgid("SendAudio")

	MSGID_ShowMenu = get_user_msgid("ShowMenu")

	MSGID_VGUIMenu = get_user_msgid("VGUIMenu")

	MSGID_ScreenFade = get_user_msgid("ScreenFade")



	//register_clcmd("say weapons", "CmdWeaponsMenu")

	//register_clcmd("say /weapons", "CmdWeaponsMenu")

	register_clcmd("jointeam", "CMD_BlockJoinTeam")

	register_clcmd("jointeam 1", "CMD_BlockJoinTeam")

	register_clcmd("jointeam 2", "CMD_BlockJoinTeam")

	register_clcmd("jointeam 3", "CMD_BlockJoinTeam")

	register_clcmd("chooseteam", "CMD_BlockChooseTeam")

	register_clcmd("say /beneficii", "CmdShowMotd")

	register_clcmd("say /rs", "CmdResetScore")

	register_clcmd("say_team /rs", "CmdResetScore")

	register_clcmd("say /resetscore", "CmdResetScore")

	register_clcmd("say_team /resetscore", "CmdResetScore")

	

	RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)

	RegisterHam(Ham_Touch, "weaponbox", "HAM_Touch_Weapon")

	RegisterHam(Ham_Touch, "armoury_entity", "HAM_Touch_Weapon")

	RegisterHam(Ham_Touch, "weapon_shield", "HAM_Touch_Weapon")

	RegisterHam(Ham_TakeDamage, "player", "SuperKnife_TakeDamage")

	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_c4", "C4_PrimaryAttack"); 

	

	register_forward(FM_PlayerPreThink, "Player_PreThink");

	register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1);	

	register_forward(FM_PlayerPreThink, "FWD_ParachutePreThink");

	register_forward(FM_GetGameDescription, "FWD_GameDescription")	

	

	register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1")

	register_event("DeathMsg", "EVENT_Death", "a");

	register_event("SendAudio", "EVENT_SwitchTeam", "a", "1=0", "2=%!MRAD_ctwin");

	register_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0");

	register_event("TextMsg", "EVENT_FireINTheHole", "b", "2&#Game_radio", "4&#Fire_in_the_hole")

	register_event("TextMsg", "EVENT_FireINTheHole", "b", "3&#Game_radio", "5&#Fire_in_the_hole")	

	

	

	register_message(MSGID_StatusIcon, "MSG_StatusIcon");

	register_message(MSGID_TextMsg, "MSG_TextMessage");

	register_message(MSGID_ShowMenu, "MSG_ShowMenu");

	register_message(MSGID_VGUIMenu, "MSG_VGUIMenu");

	register_message(MSGID_SendAudio, "MSG_SendAudio");

	register_message(MSGID_Health, "MSG_Health")

	register_message(MSGID_ScreenFade, "MSG_ScreenFade")

}





public plugin_precache() {

	removebuyzone = register_cvar("furien_removebuyzone", "1")

	

	if(get_pcvar_num(removebuyzone)) {

		

		remove_entity_name("info_map_parameters");

		remove_entity_name("func_buyzone");

		

		new Entity = create_entity("info_map_parameters");

		

		DispatchKeyValue(Entity, "buying", "3");

		DispatchSpawn(Entity);

	}

	precache_model(SuperKnifeModel_V)

}



public client_connect(id) {

	client_cmd(id, "cl_forwardspeed 999.0")

	client_cmd(id, "cl_sidespeed 999.0")

	client_cmd(id, "cl_backspeed 999.0")

}



public client_putinserver(id) {

	client_cmd(id, "cl_forwardspeed 999.0")

	client_cmd(id, "cl_sidespeed 999.0")

	client_cmd(id, "cl_backspeed 999.0")

	PrimaryWeapon[id] = 0

	SecondaryWeapon[id] = 0

}

	



public Ham_Spawn_Post(id) {

	if(is_user_connected(id) && is_user_alive(id)) {

		strip_user_weapons(id)

		HavePrimaryWeapon[id] = false

		HaveSecondaryWeapon[id] = false

		switch(get_user_team(id)) {

			case TEAM_FURIEN: {

				fm_give_item(id, "weapon_hegrenade")

				fm_give_item(id, "weapon_knife")

				set_user_footsteps(id, 1)

				fm_set_user_health(id, get_pcvar_num(furienspawnhp))

			}

			case TEAM_ANTIFURIEN: {

				fm_give_item(id, "weapon_knife")

				set_user_footsteps(id, 0)

				fm_set_user_health(id, get_pcvar_num(antifurienspawnhp))

				HaveSuperKnife[id] = false;

				Equipment(id)					

			}

		}

	}

}



public EVENT_NewRound() {

	CanPlant = false;

	new Float:FloatTime = get_cvar_num("mp_freezetime") + (get_cvar_num("mp_roundtime") * 60) - 60.0

	set_task(FloatTime, "TASK_CanPlant", TASKID_CANPLANT)

	remove_task(TASKID_C4COUNTDOWN)

}



public EVENT_FireINTheHole() 

	return PLUGIN_HANDLED



public HAM_Touch_Weapon(ent, id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN && !(get_pdata_cbase(ent, 39, 4) > 0))

		return HAM_SUPERCEDE

	

	return HAM_IGNORED

}



public SuperKnife_TakeDamage(Victim, Inflictor, Attacker, Float:Damage, DamageType) {

	if(is_user_connected(Attacker) && is_user_alive(Attacker) && is_user_connected(Victim)) {

		if(get_user_weapon(Attacker) == CSW_KNIFE) {

			if(HaveSuperKnife[Attacker])

				SetHamParamFloat(4, Damage * get_pcvar_float(superknife_damage_multiplier))

		}

		if(DamageType & DMG_HEGRENADE)
			return HAM_SUPERCEDE

	}

	return HAM_IGNORED

}



///////////////////////////////////////////////////////////////////////////////////////////////



public C4_PrimaryAttack(Ent) {

	if(!CanPlant) 

		return HAM_SUPERCEDE

		

	return HAM_IGNORED

}



public CmdResetScore(id) {

	if(get_user_frags(id) == 0 && get_user_deaths(id) == 0) 

		ColorChat(id, "!g[FURIEN] !ySCORUL TAU ESTE DEJA !g0-0 !")

	else {

		for(new i = 0; i < 2; i++) {

			cs_set_user_deaths(id, 0);

			set_user_frags(id, 0);

		}

		ColorChat(id, "!g[FURIEN] !yTI-AI RESETAT !tSCORUL !yCU SUCCES. !")

	}
}



public CmdShopMenu(id) {

	if(!is_user_alive(id))

		return PLUGIN_HANDLED

	switch(get_user_team(id)) {

		case TEAM_FURIEN: CmdFurienShop(id)

		case TEAM_ANTIFURIEN: CmdAntiFurienShop(id)

	}

	return PLUGIN_HANDLED

}



public CmdFurienShop(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_FURIEN) {

		Menu = menu_create("\yFurien Shop", "CmdFurienHandler")

		

		new SuperKnife[256];

		formatex(SuperKnife, sizeof(SuperKnife)-1, "Super knife - \y10000$")   

		menu_additem(Menu, SuperKnife, "1", 0)

		

		new Health[256];

		formatex(Health, sizeof(Health)-1, "50 HP	- \y3000$")

		menu_additem(Menu, Health, "2", 0)

		

		new Armor[256];

		formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")

		menu_additem(Menu, Armor, "3", 0)

		

		new Grenade[256];

		formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")

		menu_additem(Menu, Grenade, "4", 0)

		

		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdAntiFurienShop(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		Menu = menu_create("\yAnti-Furien Shop", "CmdAntiFurienHandler")	



		new Defuse[256];

		formatex(Defuse, sizeof(Defuse)-1, "Defuse kit - \y500$")

		menu_additem(Menu, Defuse, "1", 0)

		

		new Health[256];

		formatex(Health, sizeof(Health)-1, "50 HP	- \y3000$")

		menu_additem(Menu, Health, "2", 0)

		

		new Armor[256];

		formatex(Armor, sizeof(Armor)-1, "50 AP + Helmet - \y500$")

		menu_additem(Menu, Armor, "3", 0)

		

		new Grenade[256];

		formatex(Grenade, sizeof(Grenade)-1, "He grenade - \y4000$")

		menu_additem(Menu, Grenade, "4", 0)



		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdFurienHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			if(HaveSuperKnife[id])

				client_print(id, print_center, "You already have SuperKnife!")

			else {

				new Money = cs_get_user_money(id) - 10000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					HaveSuperKnife[id] = true;

					EVENT_CurWeapon(id)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 2: {

			if(get_user_health(id) >= 250) 

				client_print(id, print_center, "You already have 250 HP!")

			else {

				new Money = cs_get_user_money(id) - 3000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_health(id) + 50 > 250)

						fm_set_user_health(id, 250)

					else 

						fm_set_user_health(id, get_user_health(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 3: {

			if(get_user_armor(id) >= 250) 

				client_print(id, print_center, "You already have 250 AP!")

			else {

				new Money = cs_get_user_money(id) - 500

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_armor(id) + 50 > 250) 

						fm_set_user_armor(id, 250)

					else 

						fm_set_user_armor(id, get_user_armor(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 4: {

			if(user_has_weapon(id, CSW_HEGRENADE))

				client_print(id, print_center, "You already have HE GRENADE!")

			else {

				new Money = cs_get_user_money(id) - 4000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {	

					fm_give_item(id, "weapon_hegrenade")

					cs_set_user_money(id, Money)

				}

			}

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



public CmdAntiFurienHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			if(cs_get_user_defuse(id))

				client_print(id, print_center, "You already have Defuse KIT!")

			else {

				new Money = cs_get_user_money(id) - 500

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					cs_set_user_defuse(id, 1)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 2: {

			if(get_user_health(id) >= 250) 

				client_print(id, print_center, "You already have 250 HP!")

			else {

				new Money = cs_get_user_money(id) - 3000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_health(id) + 50 > 250)

						fm_set_user_health(id, 250)

					else 

						fm_set_user_health(id, get_user_health(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 3: {

			if(get_user_armor(id) >= 250) 

				client_print(id, print_center, "You already have 250 AP!")

			else {

				new Money = cs_get_user_money(id) - 500

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {

					if(get_user_armor(id) + 50 > 250) 

						fm_set_user_armor(id, 250)

					else 

						fm_set_user_armor(id, get_user_armor(id) + 50)

					cs_set_user_money(id, Money)

				}

			}

		}

		case 4: {

			if(user_has_weapon(id, CSW_HEGRENADE))

				client_print(id, print_center, "You already have HE GRENADE!")

			else {

				new Money = cs_get_user_money(id) - 4000

				if(Money < 0) 

					client_print(id, print_center, "You have  insufficient founds!")

				else {	

					fm_give_item(id, "weapon_hegrenade")

					cs_set_user_money(id, Money)

				}

			}

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



//=========================================================================//

//=======================[Weapons Settings]===============================//

//=======================================================================//



public Equipment(id) {

	if(is_user_alive(id) && get_user_team(id) == 2) {

		Menu = menu_create("\rWeapons Menu", "EquipmentCmd");

		menu_additem(Menu, "\wNew Weapons", "1", 0);

		if(PrimaryWeapon[id] && SecondaryWeapon[id])

			menu_additem(Menu, "\wPrevious Setup", "2", 0);

		else 

			menu_additem(Menu, "\dPrevious Setup", "2", 0);

		menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)

		menu_display(id, Menu, 0);

	}

}



public EquipmentCmd(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			if(!HavePrimaryWeapon[id])

				Primary(id)

			else if(!HaveSecondaryWeapon[id])

				Secondary(id)

		}

		case 2: {

			if(PrimaryWeapon[id] && SecondaryWeapon[id])

				GiveLastWeapons(id)

			else Equipment(id)

		}

		default: return PLUGIN_HANDLED;

	}

	menu_destroy(menu);

	return PLUGIN_HANDLED;

}



public Primary(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		Menu = menu_create("\yAnti-Furien Weapons^n\rPrimary:", "CmdWeaponsHandler")

		

		menu_additem(Menu, "M4A1", "1", 0)

		menu_additem(Menu, "AK47", "2", 0)

		menu_additem(Menu, "M3", "3", 0)

		menu_additem(Menu, "Aug", "4", 0)

		menu_additem(Menu, "Famas", "5", 0)

		menu_additem(Menu, "MP5 Navy", "6", 0)

		menu_additem(Menu, "XM1014", "7", 0)

		

		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdWeaponsHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {

		case 1: {

			fm_give_item(id, "weapon_m4a1")

			cs_set_user_bpammo(id, CSW_M4A1, 254)

			PrimaryWeapon[id] = M4A1_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 2: {

			fm_give_item(id, "weapon_ak47")

			cs_set_user_bpammo(id, CSW_AK47, 254)

			PrimaryWeapon[id] = AK47_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 3: {

			fm_give_item(id, "weapon_m3")

			cs_set_user_bpammo(id, CSW_M3, 254)

			PrimaryWeapon[id] = M3_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 4: {

			fm_give_item(id, "weapon_aug")

			cs_set_user_bpammo(id, CSW_AUG, 254)

			PrimaryWeapon[id] = AUG_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 5: {

			fm_give_item(id, "weapon_famas")

			cs_set_user_bpammo(id, CSW_FAMAS, 254)

			PrimaryWeapon[id] = FAMAS_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 6: {

			fm_give_item(id, "weapon_mp5navy")

			cs_set_user_bpammo(id, CSW_MP5NAVY, 254)

			PrimaryWeapon[id] = MP5_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

		case 7: {

			fm_give_item(id, "weapon_xm1014")

			cs_set_user_bpammo(id, CSW_XM1014, 254)

			PrimaryWeapon[id] = XM1014_KEY

			HavePrimaryWeapon[id] = true;

			Secondary(id)

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



public Secondary(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		Menu = menu_create("\yAnti-Furien Weapons^n\rSecondary:", "CmdSecondaryHandler")

		

		menu_additem(Menu, "USP", "1", 0)

		menu_additem(Menu, "Deagle", "2", 0)

		menu_additem(Menu, "Elite", "3", 0)

		menu_additem(Menu, "Five Seven", "4", 0)

		

		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

		menu_display(id, Menu, 0);

	}

}



public CmdSecondaryHandler(id, menu, item) {

	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {

		menu_destroy(menu);

		return PLUGIN_HANDLED;

	}

	new Data[6], Name[64];

	new Access, CallBack;

	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);

	new Key = str_to_num(Data);

	switch(Key) {		

		case 1: {

			fm_give_item(id, "weapon_usp")

			cs_set_user_bpammo(id, CSW_USP, 256)

			SecondaryWeapon[id] = USP_KEY

			HaveSecondaryWeapon[id] = true;

		}

		case 2: {

			fm_give_item(id, "weapon_deagle")

			cs_set_user_bpammo(id, CSW_DEAGLE, 256)

			SecondaryWeapon[id] = DEAGLE_KEY 

			HaveSecondaryWeapon[id] = true;

		}

		case 3: {

			fm_give_item(id, "weapon_elite")

			cs_set_user_bpammo(id, CSW_ELITE, 256)

			SecondaryWeapon[id] = ELITE_KEY

			HaveSecondaryWeapon[id] = true;

		}

		case 4: {

			fm_give_item(id, "weapon_fiveseven")

			cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)

			SecondaryWeapon[id] = FIVESEVEN_KEY

			HaveSecondaryWeapon[id] = true;

		}

	}

	menu_destroy(menu)

	return PLUGIN_HANDLED

}



public GiveLastWeapons(id) {

	if(!HavePrimaryWeapon[id]) {

		switch(PrimaryWeapon[id]) {

			case M4A1_KEY: {

				fm_give_item(id, "weapon_m4a1")

				cs_set_user_bpammo(id, CSW_M4A1, 256)

				HavePrimaryWeapon[id] = true;

			}

			case AK47_KEY: {

				fm_give_item(id, "weapon_ak47")

				cs_set_user_bpammo(id, CSW_AK47, 256)

				HavePrimaryWeapon[id] = true;

			}

			case M3_KEY: {

				fm_give_item(id, "weapon_m3")

				cs_set_user_bpammo(id, CSW_M3, 256)

				HavePrimaryWeapon[id] = true;

			}

			case AUG_KEY: {

				fm_give_item(id, "weapon_aug")

				cs_set_user_bpammo(id, CSW_AUG, 256)

				HavePrimaryWeapon[id] = true;

			}

			case FAMAS_KEY: {

				fm_give_item(id, "weapon_famas")

				cs_set_user_bpammo(id, CSW_FAMAS, 256)

				HavePrimaryWeapon[id] = true;

			}

			case MP5_KEY: {

				fm_give_item(id, "weapon_mp5navy")

				cs_set_user_bpammo(id, CSW_MP5NAVY, 256)

				HavePrimaryWeapon[id] = true;

			}

			case XM1014_KEY: {

				fm_give_item(id, "weapon_xm1014")

				cs_set_user_bpammo(id, CSW_XM1014, 256)

				HavePrimaryWeapon[id] = true;

			}

		}

	}

	if(!HaveSecondaryWeapon[id]) {

		switch(SecondaryWeapon[id]) {

			case USP_KEY: {

				fm_give_item(id, "weapon_usp")

				cs_set_user_bpammo(id, CSW_USP, 256)

				HaveSecondaryWeapon[id] = true;

			}

			case DEAGLE_KEY: {

				fm_give_item(id, "weapon_deagle")

				cs_set_user_bpammo(id, CSW_DEAGLE, 256)

				HaveSecondaryWeapon[id] = true;

			}

			case ELITE_KEY: {

				fm_give_item(id, "weapon_elite")

				cs_set_user_bpammo(id, CSW_ELITE, 256)

				HaveSecondaryWeapon[id] = true;

			}

			case FIVESEVEN_KEY: {

				fm_give_item(id, "weapon_fiveseven")

				cs_set_user_bpammo(id, CSW_FIVESEVEN, 256)

				HaveSecondaryWeapon[id] = true;

			}

		}

	}

}

public CMD_BlockJoinTeam(id) {

	console_print(id, "[FURIEN] Nu ai voie sa foloseti JoinTeam ! ***")

	return 1;

}



public CMD_BlockChooseTeam(id) {

	console_print(id, "[FURIEN] Nu ai voie sa foloseti ChooseTeam ! ***")

	return 1;

}



public CmdShowMotd(id)

	show_motd(id, "addons/amxmodx/configs/beneficii.html")



/////////////////////////////////////////////////////////////////////////



public EVENT_CurWeapon(id) {

	if(is_user_connected(id)) {

		if(get_user_weapon(id) == CSW_KNIFE) {

			if(HaveSuperKnife[id]) 

				set_pev(id, pev_viewmodel2, SuperKnifeModel_V)

		}

		new PlayerHealth;

		PlayerHealth = get_user_health(id)

		if(PlayerHealth == 256)

			fm_set_user_health(id, 255)

	}



}



public EVENT_Death() {

	static Attacker, Victim;

	Attacker = read_data(1)

	Victim = read_data(2)

	HaveSuperKnife[Victim] = false;

	if(Victim == Attacker) 

		return 1;

	



	return 1;

}



public MSG_StatusIcon(msg_id, msg_dest, id) {

	static Attrib 

	Attrib = get_msg_arg_int(2)

	

	if(Attrib == (1<<1))

		set_msg_arg_int(2, ARG_BYTE, 0)

	

	new Icon[8];

	get_msg_arg_string(2, Icon, 7);

	if(get_pcvar_num(removebuyzone)) {

		static const BuyZone[] = "buyzone";

		

		if(equal(Icon, BuyZone)) {

			set_pdata_int(id, OFFSET_BZ, get_pdata_int(id, OFFSET_BZ, 5) & ~(1 << 0), 5);

			

			return PLUGIN_HANDLED;

		}

	}

	return PLUGIN_CONTINUE;

}



public MSG_TextMessage() {

	static TextMsg[22];

	get_msg_arg_string(2, TextMsg, charsmax(TextMsg))

	if(equal(TextMsg, "#Terrorists_Win")) {

		client_print(0, print_center, "The Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#CTs_Win")) {

		client_print(0, print_center, "The Anti-Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Bomb_Defused")) {

		client_print(0, print_center, "The Anti-Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Target_Bombed")) {

		client_print(0, print_center, "The Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Target_Saved")) {

		client_print(0, print_center, "The Anti-Furiens have won this round!")

		return PLUGIN_HANDLED;

	}

	else if(equal(TextMsg, "#Fire_in_the_hole"))

		return PLUGIN_HANDLED

	else if(equal(TextMsg, "#C4_Plant_At_Bomb_Spot")) {

		if(!CanPlant)

			return PLUGIN_HANDLED

	}

	return PLUGIN_CONTINUE;

}



public MSG_ShowMenu(msgid, dest, id) {

	if(!Should_AutoJoin(id))

		return PLUGIN_CONTINUE

	

	static team_select[] = "#Team_Select"

	static menu_text_code[sizeof team_select]

	get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)

	if(!equal(menu_text_code, team_select))

		return PLUGIN_CONTINUE

	

	JoinTeam_Task(id, msgid)

	

	return PLUGIN_HANDLED

}



public MSG_VGUIMenu(msgid, dest, id) {

	if(get_msg_arg_int(1) != 2 || !Should_AutoJoin(id))

		return PLUGIN_CONTINUE

	

	JoinTeam_Task(id, msgid)

	

	return PLUGIN_HANDLED

}



public MSG_SendAudio() {

	static Sound[17]

	get_msg_arg_string(2, Sound, sizeof Sound - 1)

	

	if(equal(Sound, "terwin") || equal(Sound, "ctwin") || equal(Sound, "rounddraw") || equal(Sound, "bombpl") || equal(Sound, "bombdef"))

		return PLUGIN_HANDLED;

	

	return PLUGIN_CONTINUE;

}



public MSG_Health(msgid, dest, id) {

	static Health;

	Health = get_msg_arg_int(1)

	if(Health > 255)

		set_msg_arg_int(1, ARG_BYTE, 255);

	else if(Health == 256) 

		set_msg_arg_int(1, ARG_BYTE, get_user_health(id) + 10)

}



public MSG_ScreenFade(msgid, dest, id) {

	if(is_user_connected(id)) {

		if(get_user_flags(id) & VIP_GOLD_LEVEL) {

			static data[4]

			data[0] = get_msg_arg_int(4)

			data[1] = get_msg_arg_int(5)

			data[2] = get_msg_arg_int(6)

			data[3] = get_msg_arg_int(7)

		

			if(data[0] == 255 && data[1] == 255 && data[2] == 255 && data[3] > 199)

				return PLUGIN_HANDLED

		}

	}

	return PLUGIN_CONTINUE

}



bool:Should_AutoJoin(id) {

	return(get_pcvar_num(cvar_autojoin_team) && !get_user_team(id) && !task_exists(id))

}



JoinTeam_Task(id, menu_msgid) {

	static param_menu_msgid[2]

	param_menu_msgid[0] = menu_msgid

	

	set_task(0.1, "Force_JoinTeam", id, param_menu_msgid, sizeof param_menu_msgid)

}



public Force_JoinTeam(menu_msgid[], id) {

	if(get_user_team(id))

		return

	

	static team[2], class[2]

	get_pcvar_string(cvar_autojoin_team, team, sizeof team - 1)

	get_pcvar_string(cvar_autojoin_class, class, sizeof class - 1)

	Force_Team_Join(id, menu_msgid[0], team, class)

}



stock Force_Team_Join(id, menu_msgid,  team[] = "5", class[] = "0") {

	static jointeam[] = "jointeam"

	if(class[0] == '0') {

		engclient_cmd(id, jointeam, team)

		return

	}

	

	static msg_block, joinclass[] = "joinclass"

	msg_block = get_msg_block(menu_msgid)

	set_msg_block(menu_msgid, BLOCK_SET)

	engclient_cmd(id, jointeam, team)

	engclient_cmd(id, joinclass, class)

	set_msg_block(menu_msgid, msg_block)

}



public bomb_planted(planter) {

	C4_CountDownDelay = get_cvar_num("mp_c4timer") - 1

	TASK_C4_CountDown();

	set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)



}



public EVENT_SwitchTeam() {

	new Players[32], PlayersNum, id;

	get_players(Players, PlayersNum)

	if(PlayersNum) {

		for(new i; i < PlayersNum; i++) {

			id = Players

			BeginDelay(id)

		}

	}

}



public BeginDelay(id) {

	if(is_user_connected(id)) {

		switch(id) {

			case 1..7: set_task(0.1, "BeginTeamSwap", id)

			case 8..15: set_task(0.2, "BeginTeamSwap", id)

			case 16..23: set_task(0.3, "BeginTeamSwap", id)

			case 24..32: set_task(0.4, "BeginTeamSwap", id)

		}

	}

}



public BeginTeamSwap(id) {

	if(is_user_connected(id)) {

		switch(get_user_team(id)) {

			case TEAM_FURIEN: cs_set_user_team(id, CS_TEAM_CT)

			case TEAM_ANTIFURIEN: cs_set_user_team(id, CS_TEAM_T)

		}

	}

}	



///////////////////////////////////////////////////////////////////////////////////////////////



public Player_PreThink(id) {

	if(is_user_connected(id)) {

		if(get_user_team(id) == TEAM_FURIEN) {

			if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1)

				set_pev(id, pev_gravity, FURIEN_GRAVITY)

		

			if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) {

				set_pev(id, pev_maxspeed, FURIEN_SPEED)

				set_user_footsteps(id, 1)

			}

		}

		if(get_pcvar_num(cvar_aim_info)) {

			new Target, Body;

			get_user_aiming(id, Target, Body);

			if(is_user_alive(id) && is_user_connected(Target) && is_user_alive(Target)) {

				new TargetTeam, PlayerTeam, TargetName[32], Message[128], TargetHealth, TargetArmor, RED, GREEN, BLUE;

				TargetTeam = get_user_team(Target)

				PlayerTeam = get_user_team(id)

				get_user_name(Target, TargetName, 31)

				TargetHealth = get_user_health(Target)

				TargetArmor = get_user_armor(Target)

				if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_ANTIFURIEN) {

					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)

					RED = 20

					GREEN = 200

					BLUE = 50

				}

				else if(PlayerTeam == TEAM_FURIEN && TargetTeam == TEAM_FURIEN) {

					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)

					RED = 200

					GREEN = 20 

					BLUE = 20 

				}

				else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_ANTIFURIEN) {

					formatex(Message, sizeof(Message)-1, "%s^nHP: %i | AP: %i", TargetName, TargetHealth, TargetArmor)

					RED = 200

					GREEN = 20 

					BLUE = 20 

				}

				else if(PlayerTeam == TEAM_ANTIFURIEN && TargetTeam == TEAM_FURIEN)

					return 

				set_hudmessage(RED, GREEN, BLUE, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);

				show_hudmessage(id, "%s", Message)

			}

		}

	}

}



public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) {

	if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) {

		if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1 

		|| !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent

		|| get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) {

			set_es(es, ES_RenderFx, kRenderFxNone);

			set_es(es, ES_RenderMode, kRenderTransTexture);

			set_es(es, ES_RenderAmt, 255);

		}

		else if(get_user_team(ent) == 1) {

			set_es(es, ES_RenderFx, kRenderFxNone);

			set_es(es, ES_RenderMode, kRenderTransTexture);

			static Float:Origin[3]

			pev(ent, pev_origin, Origin)

			

			if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2])

				set_es(es, ES_RenderAmt, 0);

			else

				set_es(es, ES_RenderAmt, 255);

		}

	}

}



public FWD_ParachutePreThink(id) {

	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {

		new Float:FallSpeed = -50.0;

		new Float:Frame;

		

		new Button = pev(id, pev_button);

		new OldButton = pev(id, pev_oldbuttons);
		new Flags = pev(id, pev_flags);

		

		if(ParaENT[id] > 0 &&(Flags & FL_ONGROUND)) {

			

			if(pev(ParaENT[id],pev_sequence) != 2) {

				set_pev(ParaENT[id], pev_sequence, 2);

				set_pev(ParaENT[id], pev_gaitsequence, 1);

				set_pev(ParaENT[id], pev_frame, 0.0);

				set_pev(ParaENT[id], pev_fuser1, 0.0);

				set_pev(ParaENT[id], pev_animtime, 0.0);

				return;

			}

			

			pev(ParaENT[id],pev_fuser1, Frame);

			Frame += 2.0;

			set_pev(ParaENT[id],pev_fuser1,Frame);

			set_pev(ParaENT[id],pev_frame,Frame);

			

			if(Frame > 254.0) {

				engfunc(EngFunc_RemoveEntity, ParaENT[id]);

				ParaENT[id] = 0;

			}

			else {

				engfunc(EngFunc_RemoveEntity, ParaENT[id]);

				ParaENT[id] = 0;

			}

			return;

		}

		

		if(Button & IN_USE) {

			new Float:Velocity[3];

			pev(id, pev_velocity, Velocity);

			

			if(Velocity[2] < 0.0) {

				if(ParaENT[id] <= 0) {

					ParaENT[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

					

					if(ParaENT[id] > 0) {

						set_pev(ParaENT[id],pev_classname, PARACHUTE_CLASS);

						set_pev(ParaENT[id], pev_aiment, id);

						set_pev(ParaENT[id], pev_owner, id);

						set_pev(ParaENT[id], pev_movetype, MOVETYPE_FLY);

						set_pev(ParaENT[id], pev_sequence, 0);

						set_pev(ParaENT[id], pev_gaitsequence, 1);

						set_pev(ParaENT[id], pev_frame, 0.0);

						set_pev(ParaENT[id], pev_fuser1, 0.0);

					}

				}

				if(ParaENT[id] > 0) {

					set_pev(id, pev_sequence, 3);

					set_pev(id, pev_gaitsequence, 1);

					set_pev(id, pev_frame, 1.0);

					set_pev(id, pev_framerate, 1.0);

					

					Velocity[2] = (Velocity[2] + 40.0 < FallSpeed) ? Velocity[2] + 40.0 : FallSpeed;

					set_pev(id, pev_velocity, Velocity);

					

					if(pev(ParaENT[id],pev_sequence) == 0) {

						pev(ParaENT[id],pev_fuser1, Frame);

						Frame += 1.0;

						set_pev(ParaENT[id],pev_fuser1,Frame);

						set_pev(ParaENT[id],pev_frame,Frame);

						

						if(Frame > 100.0) {

							set_pev(ParaENT[id], pev_animtime, 0.0);

							set_pev(ParaENT[id], pev_framerate, 0.4);

							set_pev(ParaENT[id], pev_sequence, 1);

							set_pev(ParaENT[id], pev_gaitsequence, 1);

							set_pev(ParaENT[id], pev_frame, 0.0);

							set_pev(ParaENT[id], pev_fuser1, 0.0);

						}

					}

				}

			}

			

			else if(ParaENT[id] > 0) {

				engfunc(EngFunc_RemoveEntity, ParaENT[id]);

				ParaENT[id] = 0;

			}

		}

		

		else if((OldButton & IN_USE) && ParaENT[id] > 0) {

			engfunc(EngFunc_RemoveEntity, ParaENT[id]);

			ParaENT[id] = 0;

		}

	}

}



public FWD_GameDescription() { 

	static GameName[32]

	get_pcvar_string(cvar_gamedescription, GameName, 31)

	

	forward_return(FMV_STRING, GameName)

	

	return FMRES_SUPERCEDE

}



public TASK_CanPlant() {

	CanPlant = true;

	set_hudmessage(random(255), random(255), random(255), -1.0, -1.0, 1, 3.1, 3.0)



}



public TASK_C4_CountDown() {

	new Red, Green, Blue

	if(C4_CountDownDelay > 10)

		Red = 0, Green = 255, Blue = 0;

	else if(C4_CountDownDelay > 5)

		Red = 255, Green = 200, Blue = 0;

	else if(C4_CountDownDelay <= 5)

		Red = 255, Green = 0, Blue = 0;

	

	if(C4_CountDownDelay) {

		new Message[256];

		formatex(Message,sizeof(Message)-1,"----------^n| C4: %d |^n----------", C4_CountDownDelay);



		set_hudmessage(Red, Green, Blue, -1.0, 0.78, 0, 6.0, 1.0)

		show_hudmessage(0, "%s", Message)

		set_task(1.0, "TASK_C4_CountDown", TASKID_C4COUNTDOWN);

		C4_CountDownDelay--;

	}

	else if(!C4_CountDownDelay)

		C4_CountDownDelay = 0;

}



stock ColorChat(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, "!t", "^3");

	

	if(id) players[0] = id;

	else get_players(players, count, "ch"); {

		for(new i = 0; i < count; i++) {

			if(is_user_connected(players)) {

				message_begin(MSG_ONE_UNRELIABLE, MSGID_SayText, _, players);

				write_byte(players);

				write_string(msg);

				message_end();

			}

		}

	} 

}

Re: Cerere Modificare plugin furien

Posted: 17 May 2018, 07:37
by N.A.S.A.
Not Work
UP.

EDIT: am bagat pluginul acuma nu i-a nimanui din viata..