Problema

Discutii despre problemele aparute in jocul Counter-Strike.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
Hopsin
Membru, skill 0
Membru, skill 0
Posts: 3
Joined: 11 Sep 2018, 09:46
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

11 Sep 2018, 09:54

Salutare, Am o problema la un plugin deci am un shop de furien si cand vreau sa aleg gen katana imi da skinu asta cam la toate cutitele
Sursa:http://www.girlshare.ro/3490174349.2

https://imgur.com/a/ZF8IYxw Acest skin imi da la toate cutitele deci va rog sa ma ajutati daca se poate.
RoyalServer 2
User avatar
Ionut Ghita
Membru, skill 0
Membru, skill 0
Posts: 40
Joined: 08 Sep 2018, 21:10
Detinator Steam: Da
CS Status: CS1.6 will always remain in my heart <3
Detinator server CS: ZP.LALEAGANE.RO
SteamID: Private
Fond eXtream: 0
Location: Bucureşti
Discord: Ionut#2518
Contact:

11 Sep 2018, 10:44

Esti sigur ca ai adaugat modelele unde trebuie si pe cele bune.
Fa-mi o poza cu meniul cutite.
Daca poti arata-mi si ce modele ai adaugat.
User avatar
Laurentiu P.
Fost moderator
Fost moderator
Posts: 2549
Joined: 10 Jul 2013, 21:26
Detinator Steam: Da
Reputatie: Fost super moderator
Fond eXtream: 100
Has thanked: 26 times
Been thanked: 62 times
Contact:

11 Sep 2018, 15:19

posteaza sursa pluginului in

Code: Select all

[Sursa=]text[/Sursa]
no...
Hopsin
Membru, skill 0
Membru, skill 0
Posts: 3
Joined: 11 Sep 2018, 09:46
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

11 Sep 2018, 17:43

| Afiseaza codul
/////////////////////////////////////////////////////////////////////////////////////////////////////////////

//---------------------------------------| Furien Shop |-----------------------------------------------------

//======================================= sDs|Aragon* =======================================================

#include <amxmodx>

#include <amxmisc>

#include <cstrike>

#include <csx>

#include <engine>

#include <fakemeta>

#include <fakemeta_util>

#include <furien30>

#include <hamsandwich>



#define PLUGIN "Shop"

#define VERSION "3.0"

#define AUTHOR "Aragon*"



#define GOLD_SISTEM



#if defined GOLD_SISTEM

#define VIP_GOLD_MULTIPLIER	2.0



// Objective Modifiers

#define DEFUSING_BOMB		400.0			// Gold awarded when the user starts to defuse the bomb

#define DEFUSED_BOMB		800.0			// Gold awarded when the user defuses the bomb

#define PLANTING_BOMB		400.0			// Gold awarded when the user starts planting the bomb

#define PLANT_BOMB		800.0			// Gold awarded when the user plants the bomb

#define BOMB_PICKUP		400.0			// Gold awarded when the user picks up the bomb

#define TOUCH_HOSTAGE		400.0			// Gold awarded when the user touches a hostage

#define RESCUE_HOSTAGE		800.0			// Gold awarded when the user rescues the hostage

#define KILL_HOSTAGE		400.0			// Gold lost when killing a hostage

#define SPAWN_VIP		400.0			// Gold awarded for spawning as the VIP

#define ESCAPE_VIP		800.0			// Gold awarded for escaping as the VIP



// Kill modifiers

#define KILL			200.0			// Gold awarded for getting a headshot

#define KILL_HEADSHOT		400.0			// Gold awarded for getting a headshot

#define KILL_HOSTAGE_SAVER	400.0			// Gold awarded for killing the hostage saver

#define	KILL_DEFUSER		400.0			// Gold awarded for killing the defuser

#define KILL_PLANTER		400.0			// Gold awarded for killing the planter

#define KILL_BOMB_CARRIER	400.0			// Gold awarded for killing the bomb carrier

#define KILL_VIP		800.0			// Gold awarded for killing the VIP



#define WIN_ROUND		2500.0			// Gold awarded for winning the round



enum {

	PLR_BOMB_DEFUSER = 1,

	PLR_BOMB_PLANTER,

	PLR_HOSTAGE_RESCUER,

	PLR_VIP,

	PLR_BOMB_CARRIER,

};



new bool:HasBegunPlantingOrDefusing[33], PlayerRole[33], EndRound;

#endif



/* Activate or Dezactivate Item's, put // to dezactivate */

#define BOW

#define SUPERCLAWS

#define DUALKATANA

#define AXE

#define HEALTH

#define ARMOR

#define DEFUSE



#define HE

#define FLASH

//#define SMOKE



//--| Sounds |--//

/*#define BUY_SND		"furien30_shop/Buy.wav"

#define SELL_SND		"furien30_shop/Sell.wav"

#define ERROR_SND		"furien30_shop/Error.wav"

*/

// VIP

#define OWNER_LEVEL		ADMIN_IMMUNITY

#define ADMIN_LEVEL		ADMIN_LEVEL_H

#define VIP_LEVEL		ADMIN_LEVEL_G



new Menu;

new Prefix[] = "[Furien]";

new Mesaj, vip;



#if defined GOLD_SISTEM

new PlayerGold[33]

new GoldFile[128];

#endif



//------| Furien Shop Menu |------//

new const Knife_Sound[][] = {

	"weapons/knife_deploy1.wav",

	"weapons/knife_hit1.wav",

	"weapons/knife_hit2.wav",

	"weapons/knife_hit3.wav",

	"weapons/knife_hit4.wav",

	"weapons/knife_hitwall1.wav",

	"weapons/knife_slash1.wav",

	"weapons/knife_slash2.wav",

	"weapons/knife_stab.wav"

};

new BloodSpray, BloodDrop;

new PRIMARY_WEAPONS_BITSUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90);



#if defined BOW

//#define BOW_WEAPONKEY		425757

#define weapon_bow		"weapon_galil"

#define CSW_BOW			CSW_GALIL

#define BOW_CLASS		"bow_bolt"

#define bow_shotdelay		0.6 // Refire rate

new BowModel_V[] = "models/furien30_shop/Primary/v_bow2.mdl";

new BowModel_P[] = "models/furien30_shop/Primary/p_bow.mdl";

//new BowModel_W[] = "models/furien30_shop/Primary/w_bow.mdl";

new BowModel_S[] = "models/furien30_shop/Primary/s_bowbolt.mdl";

new Bow_Sound[][] = {

	"weapons/bow_shoot1.wav",

	"weapons/bow_draw.wav",

	"weapons/bow_charge_start1.wav",

	"weapons/bow_charge_start2.wav",

	"weapons/bow_charge_finish1.wav",

	"weapons/bow_charge_shoot1_empty.wav",

	"weapons/bow_charge_shoot2.wav"

};

new Bow_Generic[][] = {

	"sprites/furien30_bow.txt",

	"sprites/furien30_shop/Bow.spr",

	"sprites/furien30_shop/640hud12.spr"

};



new bool:HaveBow[33], bool:Bow_CanAttack[33], bool:Bow_SecondaryAttack[33], Float:Bow_SecondaryAttackIdle[33], Float:Bow_PrepareAttack[33], bow_clip[33], bow_reload[33], bow_event, bow_trail;

new acces_bow, bowdamage, bowknockback, bowreloadtime, bowcost, vip_bowcost; 

#endif



#if defined SUPERCLAWS

new SuperClawsModel_V[] = "models/furien_knife/v_ignes.mdl";

new SuperClawsModel_P[] = "models/furien_knife/p_ignes.mdl";

new bool:HaveSuperClaws[33];

new acces_superclaws, superclawsdamage, superclawscost, vip_superclawscost; 

#endif





#if defined DUALKATANA

new DualKatanaModel_V[] = "models/furien_knife/v_dual_katana.mdl";

new DualKatanaModel_P[] = "models/furien_knife/p_dual_katana.mdl";

new const DualKatana_Sound[][] = {

	"weapons/katanad_draw.wav",

	"weapons/katanad_hit1.wav",

	"weapons/katanad_hit2.wav",

	"weapons/katanad_hit1.wav",

	"weapons/katanad_hit2.wav",

	"weapons/katanad_hitwall.wav",

	"weapons/katanad_slash1.wav", 

	"weapons/katanad_slash2.wav",

	"weapons/katanad_stab_miss.wav"

};

new bool:HaveDualKatana[33];

new acces_dualkatana, dualkatanadamage, dualkatanacost, vip_dualkatanacost; 

#endif



#if defined AXE

new AXEModel_V[] = "models/furien_knife/v_katana.mdl";

new AXEModel_P[] = "models/furien_knife/p_katana.mdl";

new const AXE_Sound[][] = {

	"weapons/tomahawk_draw.wav",

	"weapons/tomahawk_slash1_hit.wav",

	"weapons/tomahawk_slash2_hit.wav",

	"weapons/tomahawk_slash1_hit.wav",

	"weapons/tomahawk_slash2_hit.wav",

	"weapons/tomahawk_wall.wav",

	"weapons/tomahawk_slash2.wav", 

	"weapons/tomahawk_slash2.wav",

	"weapons/tomahawk_stab_miss.wav"

};

new bool:HaveAXE[33];

new acces_axe, axedamage, axecost, vip_axecost; 

#endif



#if defined HEALTH

//#define HEALTH_SND		"furien30_shop/Health.wav"

#define CHECK_HEALTH	50



new acces_health, maxhealth, healthcost, vip_healthcost

#endif



#if defined ARMOR

//#define ARMOR_SND		"furien30_shop/Armor.wav"

#define CHECK_ARMOR	50



new acces_armor, maxarmor, armorcost, vip_armorcost

#endif



#if defined DEFUSE

new bool:MapHasBomb = false



new acces_defuse, defusecost, vip_defusecost

#endif



#if defined HE

new acces_he, hecost, vip_hecost; 

#endif



#if defined FLASH

new acces_flash, flashcost, vip_flashcost; 

#endif



#if defined SMOKE

new acces_smoke, smokecost, vip_smokecost; 

#endif



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

// Plugin Init |

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

public plugin_init() {

	register_clcmd("shop","CMD_Shop");

	register_clcmd("furienshop","CMD_Shop");

	register_clcmd("say /shop","CMD_Shop");

	register_clcmd("say /furienshop","CMD_Shop");

	register_clcmd("say_team /shop","CMD_Shop");

	register_clcmd("say_team /furienshop","CMD_Shop");

	register_clcmd("say shop","CMD_Shop");

	register_clcmd("say furienshop","CMD_Shop");

	register_clcmd("say_team shop","CMD_Shop");

	register_clcmd("say_team furienshop","CMD_Shop");

	

	register_event("TextMsg", "EVENT_Restart", "a", "2=#Game_will_restart_in");

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

	

	RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1);

	

	Mesaj = register_cvar("display_msgtime", "130");			//| Time interval to display the message |//

	vip = register_cvar("furien30_vip_enabled", "1");		//| VIP 0 Disable -> 1 Enable |//

	

	#if defined GOLD_SISTEM

	register_concmd("amx_give_gold", "GiveGold", ADMIN_CVAR, "Name/@All -> Amount");

	register_concmd("amx_reset_gold", "ResetGold", ADMIN_CVAR, "Name/@All -> Amount");

	

	register_logevent("LOGEVENT_RoundStart", 2, "1=Round_Start");

	register_logevent("LOGEVENT_RoundEnd", 2, "1=Round_End");

	register_logevent("LOGEVENT_PlayerAction", 3, "1=triggered");

	

	register_event("SendAudio","EVENT_FurienWin","a","2=%!MRAD_terwin");

	register_event("SendAudio","EVENT_AntiFurienWin","a","2=%!MRAD_ctwin");

	

	new DataDir[64]

	get_datadir(DataDir, 63)

	format(GoldFile, 127, "%s/Gold.dat", DataDir)

	

	set_task(0.5, "TASK_HudInfo", _, _, _, "b")

	#endif

	

	#if defined SUPERCLAWS

	SuperClaws_Init();

	#endif

	#if defined BOW

	Bow_Init();

	#endif

	#if defined DUALKATANA

	DualKatana_Init();

	#endif

	#if defined AXE

	AXE_Init();

	#endif

	#if defined HEALTH

	Health_Init();

	#endif

	#if defined ARMOR

	Armor_Init();

	#endif

	#if defined DEFUSE

	new Bomb1 = engfunc(EngFunc_FindEntityByString,-1, "classname", "func_bomb_target");

	new Bomb2 = engfunc(EngFunc_FindEntityByString,-1, "classname", "info_bomb_target");

	

	if(is_valid_ent(Bomb1) || is_valid_ent(Bomb2))

		MapHasBomb = true

	

	if(MapHasBomb)

		Defuse_Init();

	#endif

	

	#if defined HE

	HE_Init();

	#endif

	#if defined FLASH

	Flash_Init();

	#endif

	#if defined SMOKE

	Smoke_Init();

	#endif

	

	set_task(get_pcvar_float(Mesaj), "MesajHud", 0, _, _, "b");	

}



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

// Plugin Precache |

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

//------| Parecache Sounds and Models |------//

public plugin_precache() {

	BloodSpray = precache_model("sprites/bloodspray.spr");

	BloodDrop  = precache_model("sprites/blood.spr");

	

	#if defined BOW

	Bow_Precache();

	#endif

	#if defined SUPERCLAWS

	SuperClaws_Precache();

	#endif

	#if defined DUALKATANA

	DualKatana_Precache();

	#endif

	#if defined AXE

	AXE_Precache();

	#endif

	#if defined HEALTH

	Health_Precache();

	#endif

	#if defined ARMOR

	Armor_Precache();

	#endif

	/*

	precache_sound(BUY_SND);

	precache_sound(SELL_SND);

	precache_sound(ERROR_SND);*/

}



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

// Plugin Natives |

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

public plugin_natives() {

	#if defined GOLD_SISTEM

	register_native("set_user_gold", "set_user_gold", 1);

	register_native("get_user_gold", "get_user_gold", 1);

	#endif

	

	#if defined BOW

	Bow_Natives();

	#endif

	#if defined SUPERCLAWS

	SuperClaws_Natives();

	#endif

	#if defined DUALKATANA

	DualKatana_Natives();

	#endif

	#if defined AXE

	AXE_Natives();

	#endif

}



#if defined GOLD_SISTEM

public set_user_gold(id, gold) {

	if(is_user_connected(id)) {

		if(gold > PlayerGold[id]) {			

			new Message[64];

			formatex(Message,sizeof(Message)-1,"+ %d", gold - PlayerGold[id]);

			

			HudMessage(id, Message, 0, 200, 0, 0.86, 0.87, _, _, 0.3)

		}

		if(gold < PlayerGold[id]) {

			new Message[64];

			formatex(Message,sizeof(Message)-1,"- %d", PlayerGold[id] - gold);

			

			HudMessage(id, Message, 200, 0, 0, 0.86, 0.87, _, _, 0.3)

			

		}

		PlayerGold[id] = gold;

		

		SaveGold(id);

	}

}



public get_user_gold(id) {

	return is_user_connected(id) ? PlayerGold[id] : 0

}

#endif



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

// Plugin CFG |

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

public plugin_cfg() {

	new CfgDir[32], File[192];

	get_configsdir(CfgDir, charsmax(CfgDir));

	formatex(File, charsmax(File), "%s/Furien30_Shop.cfg", CfgDir);

	

	if(file_exists(File)) {		

		server_cmd("exec %s", File);

	}

}



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

// Message Hud |

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

public MesajHud(id) {

	ColorChat(0, "!g%s!t Pentru a utiliza Shop-ul scrie!g /shop!t in chat",Prefix);

}



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

// Furien Shop Menu |

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

public CMD_Shop(id) {

	if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) {

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		return PLUGIN_HANDLED;

	}	

	else {

		new Title[64];

		#if defined GOLD_SISTEM

		if(get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL)

			formatex(Title,sizeof(Title)-1,"\rShop \yVIP^n\rGold: \y%i \r", get_user_gold(id));

		else

			formatex(Title,sizeof(Title)-1,"\rShop^n\rGold: \y%i \r", get_user_gold(id));

		#else

		if(get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL)

			formatex(Title,sizeof(Title)-1,"\rShop \yVIP^n\rMoney: \y$%i", cs_get_user_money(id));

		else

			formatex(Title,sizeof(Title)-1,"\rShop^n\rMoney: \y$%i", cs_get_user_money(id));

		#endif

		Menu = menu_create(Title, "ShopCmd");

	}

	

	if(!is_user_alive(id)) {

	}

	else {

		#if defined BOW

		Bow_Menu(id, "1");

		#endif

		#if defined SUPERCLAWS

		SuperClaws_Menu(id, "2");

		#endif

		#if defined DUALKATANA

		DualKatana_Menu(id, "3");

		#endif

		#if defined AXE

		AXE_Menu(id, "4");

		#endif

		#if defined HEALTH

		Health_Menu(id, "5");

		#endif

		#if defined DEFUSE

		Armor_Menu(id, "6");

		#endif

		#if defined DEFUSE

		if(MapHasBomb)

			Defuse_Menu(id, "7");

		#endif

		

		menu_additem(Menu, "\wGrenades - \rSubMenu", "8", 0);

	}

	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

	menu_display(id, Menu, 0);

	return PLUGIN_HANDLED;

}



public ShopCmd(id, menu, item) {

	if(item == MENU_EXIT) {

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

		#if defined SUPERCLAWS

		case 1: Buy_Bow(id);

			#endif

		#if defined SUPERCLAWS

		case 2: Buy_SuperClaws(id);

			#endif

		#if defined DUALKATANA

		case 3: Buy_DualKatana(id);

			#endif

		#if defined AXE

		case 4: Buy_AXE(id);

			#endif

		#if defined HEALTH

		case 5: Buy_Health(id);

			#endif

		#if defined ARMOR

		case 6: Buy_Armor(id);

			#endif

		#if defined DEFUSE

		case 7: {

			if(MapHasBomb)

				Buy_Defuse(id);

		}

		#endif

		case 8: CMD_Grenades(id);

			

		default: return PLUGIN_HANDLED;

	}

	menu_destroy(menu);

	return PLUGIN_HANDLED;

}



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

// Grenades Menu |

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

public CMD_Grenades(id) {

	new Title[64];

	#if defined GOLD_SISTEM

	if(get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL)

		formatex(Title,sizeof(Title)-1,"\rGrenades Menu \yVIP^n\rGold: \y%i \r", get_user_gold(id)) ;

	else

		formatex(Title,sizeof(Title)-1,"\rGrenades Menu^n\rGold: \y%i \r", get_user_gold(id));

	#else

	if(get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL)

		formatex(Title,sizeof(Title)-1,"\rGrenades Menu \yVIP^n\rMoney: \y$%i", cs_get_user_money(id));

	else

		formatex(Title,sizeof(Title)-1,"\rGrenades Menu^n\rMoney: \y$%i", cs_get_user_money(id));

	#endif

	Menu = menu_create(Title, "GrenadesCmd");

	

	#if defined HE

	HE_Menu(id, "1");

	#endif

	#if defined FLASH

	Flash_Menu(id, "2");

	#endif

	#if defined SMOKE

	Smoke_Menu(id, "3");

	#endif

	

	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);

	menu_display(id, Menu, 0);

	return PLUGIN_HANDLED;

}

public GrenadesCmd(id, menu, item) {

	

	if(item == MENU_EXIT) {

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

		#if defined HE

		case 1: Buy_HE(id);

			#endif

		#if defined FLASH

		case 2: Buy_Flash(id);

			#endif

		#if defined SMOKE

		case 3: Buy_Smoke(id);

			#endif

		

		default: return PLUGIN_HANDLED;

	}

	menu_destroy(menu);

	return PLUGIN_HANDLED;

}





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

// Client |

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

public client_putinserver(id) {

	#if defined GOLD_SISTEM

	LoadGold(id);

	#endif

	

	#if defined BOW

	set_user_bow(id, false);

	#endif

	#if defined SUPERCLAWS

	HaveSuperClaws[id] = false;

	#endif

	#if defined DUALKATANA

	HaveDualKatana[id] = false;

	#endif

	#if defined AXE

	HaveAXE[id] = false;

	#endif

}



public EVENT_Restart() {

	static id;

	for(id = 1; id <= get_maxplayers(); id++) {

		if(is_user_connected(id)) {

			#if defined BOW

			set_user_bow(id, false);

			#endif

			#if defined SUPERCLAWS

			set_user_superclaws(id, false);

			#endif

			#if defined DUALKATANA

			set_user_dualkatana(id, false);

			#endif

			#if defined AXE

			set_user_axe(id, false);

			#endif

		}

	}

}



public EVENT_Death() {

	new Victim = read_data(2)

	#if defined GOLD_SISTEM

	new Attacker = read_data(1)

	new Headshot = read_data(4)

	

	if(is_user_connected(Attacker) && Attacker != Victim) {

		new Float:BonusGold

		(get_user_flags(Attacker) & VIP_LEVEL) ? (BonusGold = (KILL * VIP_GOLD_MULTIPLIER)) : (BonusGold = KILL)

		new Gold = floatround(BonusGold)

		set_user_gold(Attacker, get_user_gold(Attacker) + Gold)

		

		if(Headshot) {

			(get_user_flags(Attacker) & VIP_LEVEL) ? (BonusGold = (KILL_HEADSHOT * VIP_GOLD_MULTIPLIER)) : (BonusGold = KILL_HEADSHOT)

			

			Gold = floatround(BonusGold)

			set_user_gold(Attacker, get_user_gold(Attacker) + Gold)

		}

		if(PlayerRole[Victim] == PLR_HOSTAGE_RESCUER) {

			(get_user_flags(Attacker) & VIP_LEVEL) ? (BonusGold = (KILL_HOSTAGE_SAVER * VIP_GOLD_MULTIPLIER)) : (BonusGold = KILL_HOSTAGE_SAVER)

			

			Gold = floatround(BonusGold)

			set_user_gold(Attacker, get_user_gold(Attacker) + Gold)

		}

		else if(PlayerRole[Victim] == PLR_BOMB_DEFUSER) {

			(get_user_flags(Attacker) & VIP_LEVEL) ? (BonusGold = (KILL_DEFUSER * VIP_GOLD_MULTIPLIER)) : (BonusGold = KILL_DEFUSER)

			

			Gold = floatround(BonusGold)

			set_user_gold(Attacker, get_user_gold(Attacker) + Gold)

		}

		else if(PlayerRole[Victim] == PLR_BOMB_PLANTER) {

			(get_user_flags(Attacker) & VIP_LEVEL) ? (BonusGold = (KILL_PLANTER * VIP_GOLD_MULTIPLIER)) : (BonusGold = KILL_PLANTER)

			

			Gold = floatround(BonusGold)

			set_user_gold(Attacker, get_user_gold(Attacker) + Gold)

		}

		else if(PlayerRole[Victim] == PLR_BOMB_CARRIER) {

			(get_user_flags(Attacker) & VIP_LEVEL) ? (BonusGold = (KILL_BOMB_CARRIER * VIP_GOLD_MULTIPLIER)) : (BonusGold = KILL_BOMB_CARRIER)

			

			Gold = floatround(BonusGold)

			set_user_gold(Attacker, get_user_gold(Attacker) + Gold)

		}

		else if(PlayerRole[Victim] == PLR_VIP) {

			(get_user_flags(Attacker) & VIP_LEVEL) ? (BonusGold = (KILL_VIP * VIP_GOLD_MULTIPLIER)) : (BonusGold = KILL_VIP)

			

			Gold = floatround(BonusGold)

			set_user_gold(Attacker, get_user_gold(Attacker) + Gold)

		}

	}

	PlayerRole[Victim] = 0;

	#endif

	

	#if defined BOW

	set_user_bow(Victim, false);

	#endif

	#if defined SUPERCLAWS

	set_user_superclaws(Victim, false);

	#endif

	#if defined DUALKATANA

	set_user_dualkatana(Victim, false);

	#endif

	#if defined AXE

	set_user_axe(Victim, false);

	#endif

}



#if defined GOLD_SISTEM

public LOGEVENT_RoundStart() {

	EndRound = false

}



public LOGEVENT_RoundEnd() {

	EndRound = true

}



public LOGEVENT_PlayerAction() {

	new Arg[64], Action[64], Name[64];

	new UserId, id;

	

	read_logargv(0, Arg, 64);

	read_logargv(2, Action, 64);

	parse_loguser(Arg, Name, 64, UserId);

	id = find_player("k", UserId);

	

	if(is_user_connected(id) && !EndRound) {		

		if(equal(Action,"Dropped_The_Bomb")) {

			PlayerRole[id] = 0;

			

			new Float:BonusGold

			(get_user_flags(id) & VIP_LEVEL) ? (BonusGold = (BOMB_PICKUP * VIP_GOLD_MULTIPLIER)) : (BonusGold = BOMB_PICKUP)

			

			new Gold = floatround(BonusGold)

			set_user_gold(id, get_user_gold(id) - Gold)

		}

		else if(equal(Action,"Got_The_Bomb")) { 

			PlayerRole[id] = PLR_BOMB_CARRIER;

			

			new Float:BonusGold

			(get_user_flags(id) & VIP_LEVEL) ? (BonusGold = (BOMB_PICKUP * VIP_GOLD_MULTIPLIER)) : (BonusGold = BOMB_PICKUP)

			

			new Gold = floatround(BonusGold)

			set_user_gold(id, get_user_gold(id) + Gold)

		}

		else if(equal(Action,"Touched_A_Hostage")) {

			PlayerRole[id] = PLR_HOSTAGE_RESCUER;

			

			new Float:BonusGold

			(get_user_flags(id) & VIP_LEVEL) ? (BonusGold = (TOUCH_HOSTAGE * VIP_GOLD_MULTIPLIER)) : (BonusGold = TOUCH_HOSTAGE)

			

			new Gold = floatround(BonusGold)

			set_user_gold(id, get_user_gold(id) + Gold)

		}

		else if(equal(Action,"Rescued_A_Hostage")) {

			

			new Float:BonusGold

			(get_user_flags(id) & VIP_LEVEL) ? (BonusGold = (RESCUE_HOSTAGE * VIP_GOLD_MULTIPLIER)) : (BonusGold = RESCUE_HOSTAGE)

			

			new Gold = floatround(BonusGold)

			set_user_gold(id, get_user_gold(id) + Gold)

		}

		else if(equal(Action,"Killed_A_Hostage")) {

			new Float:BonusGold

			(get_user_flags(id) & VIP_LEVEL) ? (BonusGold = (KILL_HOSTAGE * VIP_GOLD_MULTIPLIER)) : (BonusGold = KILL_HOSTAGE)

			

			new Gold = floatround(BonusGold)

			set_user_gold(id, get_user_gold(id) - Gold)

		}

		else if(equal(Action,"Became_VIP")) { 

			PlayerRole[id] = PLR_VIP;

			new Float:BonusGold

			(get_user_flags(id) & VIP_LEVEL) ? (BonusGold = (SPAWN_VIP * VIP_GOLD_MULTIPLIER)) : (BonusGold = SPAWN_VIP)

			

			new Gold = floatround(BonusGold)

			set_user_gold(id, get_user_gold(id) + Gold)

		}

		else if(equal(Action,"Escaped_As_VIP")) {

			new Float:BonusGold

			(get_user_flags(id) & VIP_LEVEL) ? (BonusGold = (ESCAPE_VIP * VIP_GOLD_MULTIPLIER)) : (BonusGold = ESCAPE_VIP)

			

			new Gold = floatround(BonusGold)

			set_user_gold(id, get_user_gold(id) + Gold)

		}

	}

}



public EVENT_FurienWin() {

	Gold_WinRound(1)

}



public EVENT_AntiFurienWin() {	

	Gold_WinRound(2)

}



public bomb_defusing(defuser) {

	if(is_user_connected(defuser) && !HasBegunPlantingOrDefusing[defuser]) {

		new Float:BonusGold

		(get_user_flags(defuser) & VIP_LEVEL) ? (BonusGold = (DEFUSING_BOMB * VIP_GOLD_MULTIPLIER)) : (BonusGold = DEFUSING_BOMB)

		

		new Gold = floatround(BonusGold)

		set_user_gold(defuser, get_user_gold(defuser) + Gold)

		PlayerRole[defuser] = PLR_BOMB_DEFUSER;

		HasBegunPlantingOrDefusing[defuser] = true;

	}

}



public bomb_defused(defuser) {

	if(is_user_connected(defuser)) {

		new Float:BonusGold

		(get_user_flags(defuser) & VIP_LEVEL) ? (BonusGold = (DEFUSED_BOMB * VIP_GOLD_MULTIPLIER)) : (BonusGold = DEFUSED_BOMB)

		

		new Gold = floatround(BonusGold)

		set_user_gold(defuser, get_user_gold(defuser) + Gold)

		PlayerRole[defuser] = 0;

	}

}



public bomb_planting(planter) {

	if(is_user_connected(planter) && !HasBegunPlantingOrDefusing[planter]) {

		new Float:BonusGold

		(get_user_flags(planter) & VIP_LEVEL) ? (BonusGold = (PLANTING_BOMB * VIP_GOLD_MULTIPLIER)) : (BonusGold = PLANTING_BOMB)

		

		new Gold = floatround(BonusGold)

		set_user_gold(planter, get_user_gold(planter) + Gold)

		PlayerRole[planter] = PLR_BOMB_PLANTER;

		HasBegunPlantingOrDefusing[planter] = true;

	}

}



public bomb_planted(planter) {

	if(is_user_connected(planter)) {

		new Float:BonusGold

		(get_user_flags(planter) & VIP_LEVEL) ? (BonusGold = (PLANT_BOMB * VIP_GOLD_MULTIPLIER)) : (BonusGold = PLANT_BOMB)

		

		new Gold = floatround(BonusGold)

		set_user_gold(planter, get_user_gold(planter) + Gold)

		PlayerRole[planter] = 0;		

	}

}



public Gold_WinRound(Winner) {

	new Players[32], Num, i, id;

	get_players(Players, Num);

	

	for(i = 0; i < Num; i++) {

		id = Players;

		if(get_user_team(id) == Winner) {

			new Float:BonusGold

			(get_user_flags(id) & VIP_LEVEL) ? (BonusGold = (WIN_ROUND * VIP_GOLD_MULTIPLIER)) : (BonusGold = WIN_ROUND)

			

			new Gold = floatround(BonusGold)

			set_user_gold(id, get_user_gold(id) + Gold)

		}

	}

}



public TASK_HudInfo() {

	static id

	for(id = 1; id <= get_maxplayers(); id++) {

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

			new Message[64];

			formatex(Message,sizeof(Message)-1,"G: %d", get_user_gold(id));

			

			HudMessage(id, Message, 200, 100, 0, 0.85, 0.90, _, _, 0.5)

			set_pdata_int(id, 361, get_pdata_int(id, 361) | (1<<5));

		}

		new Players[32], Num, Spectator;

		get_players(Players, Num, "bch");

		for(new index = 0; index < Num; ++index) {

			Spectator = Players[index];		

			if(pev(Spectator, pev_iuser2) == id) {

				if(is_user_connected(id) && is_user_connected(Spectator) && is_user_alive(id) && id != Spectator) {

					new Message[64];

					formatex(Message,sizeof(Message)-1,"G: %d", get_user_gold(id));

					

					HudMessage(Spectator, Message, 200, 100, 0, 0.85, 0.90, _, _, 0.5)

				}

			}			

		}	

	}

}

#endif



public HAM_Spawn_Post(id) {

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

		#if defined BOW

		set_user_bow(id, false);

		#endif

		#if defined SUPERCLAWS

		if(get_user_team(id) != 1) 

			set_user_superclaws(id, false);

		#endif

		#if defined DUALKATANA

		if(get_user_team(id) != 1) 

			set_user_dualkatana(id, false);

		#endif

		#if defined AXE

		if(get_user_team(id) != 1) 

			set_user_axe(id, false);

		#endif

	}

}



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

//-----------------------------------------| Bow |-----------------------------------------------------------

//======================================= sDs|Aragon* =======================================================

#if defined BOW

Bow_Init() {

	register_clcmd("furien30_bow", "Hook_Bow");

	register_clcmd("drop", "Bow_Drop");

	register_clcmd("buy_bow", "Buy_Bow");

	register_clcmd("bow", "Buy_Bow");

	register_clcmd("say buy_bow", "Buy_Bow");

	register_clcmd("say /bow", "Buy_Bow");

	register_clcmd("say /buy_bow", "Buy_Bow");

	register_clcmd("say_team buy_bow", "Buy_Bow");

	register_clcmd("say_team /bow", "Buy_Bow");

	register_clcmd("say_team /buy_bow", "Buy_Bow");

	

	register_event("CurWeapon", "Bow_ViewModel", "be", "1=1");

	register_event("WeapPickup","Bow_ViewModel","b","1=19");

	

	//register_forward(FM_SetModel, "Bow_WorldModel");

	register_forward(FM_UpdateClientData, "Bow_UpdateClientData_Post", 1);

	register_forward(FM_PlaybackEvent, "Bow_PlaybackEvent");

	register_forward(FM_CmdStart, "Bow_CmdStart");	

	

	RegisterHam(Ham_Item_Deploy , weapon_bow, "Bow_Deploy_Post", 1);

	//RegisterHam(Ham_Item_AddToPlayer, weapon_bow, "Bow_AddToPlayer");

	RegisterHam(Ham_Weapon_Reload, weapon_bow, "Bow_Reload");

	RegisterHam(Ham_Weapon_Reload, weapon_bow, "Bow_Reload_Post", 1);

	RegisterHam(Ham_Item_PostFrame, weapon_bow, "Bow_PostFrame");

	

	register_think(BOW_CLASS, "Bow_Think");

	register_touch(BOW_CLASS, "*", "Bow_Touch");

	

	acces_bow  = register_cvar("furien30_acces_bow", "0");			//| Bow Only for 0 Admin -> 1 TS |//	

	bowdamage = register_cvar("furien30_bow_damage", "100");			//| Bow Damage |//

	bowreloadtime = register_cvar("furien30_bow_reload_time", "0.6");	//| Bow Reload Time |//

	bowknockback = register_cvar("furien30_bow_knockback", "1.0");		//| Bow Bolt Knockback |//

	bowcost = register_cvar("furien30_bow_cost", "16000");			//| Bow Cost |//

	vip_bowcost = register_cvar("vip_bow_cost", "14000");			//| Bow Cost VIP |//

}



Bow_Precache() {

	register_forward(FM_PrecacheEvent, "Bow_PrecacheEvent_Post", 1);

	

	bow_trail = precache_model("sprites/xbeam3.spr");

	

	precache_model(BowModel_V);

	precache_model(BowModel_P);

	//precache_model(BowModel_W);

	precache_model(BowModel_S);

	for(new i = 0; i < sizeof(Bow_Sound); i++)

		engfunc(EngFunc_PrecacheSound, Bow_Sound);	

	for(new i = 0; i < sizeof(Bow_Generic); i++)

		engfunc(EngFunc_PrecacheGeneric, Bow_Generic);

}



Bow_Natives() {

	register_native("get_user_bow", "get_user_bow", 1);

	register_native("set_user_bow", "set_user_bow", 1);

}



Bow_Menu(id, const Num[] = "1") {

	new bow_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_bowcost) : get_pcvar_num(bowcost));

	

	if(get_user_team(id) == 1) {

		new _Bow[64];

		if(!get_pcvar_num(acces_bow) && !(get_user_flags(id) & OWNER_LEVEL)) {

			formatex(_Bow,sizeof(_Bow)-1,"\dCompound Bow - \rOnly OWNER\w");

		}

		else if(!get_user_bow(id)) {

			if(!bow_cost)

				formatex(_Bow,sizeof(_Bow)-1,"\wCompound Bow - \rFree\w");

			else {

				#if defined GOLD_SISTEM

				formatex(_Bow,sizeof(_Bow)-1,"%sCompound Bow - \y%i Gold\w", (get_user_gold(id) >= bow_cost) ? "\w" : "\d", bow_cost);

				#else

				formatex(_Bow,sizeof(_Bow)-1,"%sCompound Bow - \y%i$\w",(cs_get_user_money(id) >= bow_cost) ? "\w" : "\d", bow_cost);

				#endif

			}

		}

		else if(get_user_bow(id)) {

			formatex(_Bow,sizeof(_Bow)-1,"\wCompound Bow - \rAlready Have\w");

		}

		menu_additem(Menu, _Bow, Num, 0);

	}

}

public Bow_Drop(id) {

	if(get_user_weapon(id) == CSW_BOW && get_user_bow(id))

		return PLUGIN_HANDLED;

	return PLUGIN_CONTINUE;

}



public Bow_ViewModel(id) {

	if(get_user_weapon(id) == CSW_BOW && get_user_bow(id)) {

		set_pev(id, pev_viewmodel2, BowModel_V);

		set_pev(id, pev_weaponmodel2, BowModel_P);

	}

}

/*

public Bow_WorldModel(entity, model[]) {

	if(!is_valid_ent(entity))

		return FMRES_IGNORED;

	

	static ClassName[33];

	entity_get_string(entity, EV_SZ_classname, ClassName, charsmax(ClassName));

	

	if(!equal(ClassName, "weaponbox"))

		return FMRES_IGNORED;

	

	new Owner = entity_get_edict(entity, EV_ENT_owner);	

	new _Bow = find_ent_by_owner(-1, weapon_bow, entity);

	

	if(get_user_bow(Owner) && is_valid_ent(_Bow) && equal(model, "models/w_galil.mdl")) {

		entity_set_int(_Bow, EV_INT_impulse, BOW_WEAPONKEY);

		HaveBow[Owner] = false;

		special_primary(Owner, false);

		entity_set_model(entity, BowModel_W);

		return FMRES_SUPERCEDE;

	}

	return FMRES_IGNORED;

}

*/

public Bow_UpdateClientData_Post(id, sendweapons, cd_handle) {

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

		if(get_user_weapon(id) == CSW_BOW && get_user_bow(id))	

			set_cd(cd_handle, CD_flNextAttack, halflife_time() + 0.001);

	}

}



public Bow_PlaybackEvent(flags, invoker, eventid, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2) {

	if(!is_user_connected(invoker))

		return FMRES_IGNORED;

	if(eventid != bow_event)

		return FMRES_IGNORED;

	

	playback_event(flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2);

	

	return FMRES_SUPERCEDE;

}



public Bow_PrecacheEvent_Post(type, const name[]) {

	if (equal("events/galil.sc", name)) {

		bow_event = get_orig_retval();

		return FMRES_HANDLED;

	}

	return FMRES_IGNORED;

}



public Bow_CmdStart(id, uc_handle, seed) {

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

		static CurButton;

		CurButton = get_uc(uc_handle, UC_Buttons);

		new Float:NextAttack = get_pdata_float(id, 83, 5);

		

		static _BOW;

		_BOW = fm_find_ent_by_owner(-1, weapon_bow, id);	

		

		if(!(CurButton & IN_ATTACK2) && (pev(id, pev_oldbuttons) & IN_ATTACK2)) {

			if(get_user_weapon(id) == CSW_BOW && get_user_bow(id)) {

				if(Bow_CanAttack[id]) {

					set_weapon_anim(id, 10);

					emit_sound(id, CHAN_WEAPON, Bow_Sound[0], 1.0, ATTN_NORM, 0, PITCH_NORM);

						

					Bow_Fire(id, 1);

						

					static Float:PunchAngles[3];

						

					PunchAngles[0] = random_float(-1.0, -3.0);

					PunchAngles[1] = 0.0;

					PunchAngles[2] = 0.0;

						

					set_pev(id, pev_punchangle, PunchAngles);

					cs_set_weapon_ammo(_BOW, cs_get_weapon_ammo(_BOW) - 1);

					if(cs_get_weapon_ammo(_BOW) > 0 && !bow_reload[id] && NextAttack <= 0.0)

						set_pdata_float(id, 83, 0.3, 5);

				}

				else {

					set_weapon_anim(id, 0);

					Bow_SecondaryAttack[id] = false

				}

			}

		}

		else if(CurButton & IN_ATTACK2) {

			if(get_user_weapon(id) == CSW_BOW && get_user_bow(id)) {

				if(Bow_SecondaryAttack[id] && Bow_SecondaryAttackIdle[id] <= get_gametime() && Bow_PrepareAttack[id] <= get_gametime() && !Bow_CanAttack[id]) {

					Bow_CanAttack[id] = true

					HudMessage(id, "SHOOT!", 200, 0, 0, -1.0, -1.0, 0, _, 0.5);

				}

				if(Bow_SecondaryAttack[id] && Bow_SecondaryAttackIdle[id] <= get_gametime()) {

					set_weapon_anim(id, 8);

					Bow_SecondaryAttackIdle[id] = get_gametime() + 0.43

					if(!Bow_CanAttack[id])

						Bow_PrepareAttack[id] = get_gametime() + 0.40

					if(cs_get_weapon_ammo(_BOW) > 0 && !bow_reload[id])

						set_pdata_float(id, 83, 0.44, 5);

					

				}

				else if(!Bow_SecondaryAttack[id] && cs_get_weapon_ammo(_BOW) > 0 && !bow_reload[id] && NextAttack <= 0.0) {

					set_weapon_anim(id, 6);

					Bow_CanAttack[id] = false;

					Bow_SecondaryAttack[id] = true

					Bow_SecondaryAttackIdle[id] = get_gametime() + 0.63

					if(cs_get_weapon_ammo(_BOW) > 0 && !bow_reload[id])

						set_pdata_float(id, 83, 0.64, 5);

				}

			}

		}

		else if(CurButton & IN_ATTACK) {

			if(get_user_weapon(id) == CSW_BOW && get_user_bow(id)) {

				if(cs_get_weapon_ammo(_BOW) > 0 && !bow_reload[id] && NextAttack <= 0.0) {

					set_weapon_anim(id, 2);

					emit_sound(id, CHAN_WEAPON, Bow_Sound[0], 1.0, ATTN_NORM, 0, PITCH_NORM);

					

					Bow_Fire(id, 0);

					cs_set_weapon_ammo(_BOW, cs_get_weapon_ammo(_BOW) - 1);

					if(cs_get_weapon_ammo(_BOW) > 0 && !bow_reload[id] && NextAttack <= 0.0)

						set_pdata_float(id, 83, bow_shotdelay, 5);

				}

				CurButton &= ~IN_ATTACK;

				set_uc(uc_handle, UC_Buttons, CurButton);

			}

		}

	}

}

/*

public Bow_AddToPlayer(Weapon, id) {

	if(is_valid_ent(Weapon) && is_user_connected(id) && entity_get_int(Weapon, EV_INT_impulse) == BOW_WEAPONKEY) {

		special_primary(id, true);

		HaveBow[id] = true;

		entity_set_int(Weapon, EV_INT_impulse, 0);

		message_begin(MSG_ONE, get_user_msgid("WeaponList"), _, id);

		write_string(HaveBow[id] ? "furien30_bow" : "weapon_galil");		// WeaponName

		write_byte(4);				// PrimaryAmmoID

		write_byte(90);				// PrimaryAmmoMaxAmount

		write_byte(-1);				// SecondaryAmmoID

		write_byte(-1);				// SecondaryAmmoMaxAmount

		write_byte(0);				// SlotID (0...N)

		write_byte(17);				// NumberInSlot (1...N)

		write_byte(CSW_BOW);			// WeaponID

		write_byte(0);				// Flags

		message_end();

	}

}

*/

public Bow_Deploy_Post(entity) {

	static Owner;

	Owner = get_pdata_cbase(entity, 41, 4);

	if(get_user_bow(Owner)) {

		set_pev(Owner, pev_viewmodel2, BowModel_V);

		set_pev(Owner, pev_weaponmodel2, BowModel_P);

		set_pdata_float(Owner, 83, 1.0, 5);

		set_weapon_anim(Owner, 5)

		static clip;

		clip = cs_get_weapon_ammo(entity);

		if(clip > 0)

			bow_reload[Owner] = 0;

		Bow_CanAttack[Owner] = false;

		Bow_SecondaryAttack[Owner] = false;

	}

}



public Bow_Reload(ent) {

	if(!pev_valid(ent))

		return HAM_IGNORED;

	

	new id;

	id = pev(ent, pev_owner);

	

	if(!is_user_alive(id) || !get_user_bow(id))

		return HAM_IGNORED;

	

	bow_clip[id] = -1;

	

	new Ammo = cs_get_user_bpammo(id, CSW_BOW);

	if(Ammo <= 0)

		return HAM_SUPERCEDE;

	

	new Clip = get_pdata_int(ent, 51, 4);

	if(Clip >= 1)

		return HAM_SUPERCEDE;

	

	bow_clip[id] = Clip;

	bow_reload[id] = 1;

	

	return HAM_IGNORED;

}



public Bow_Reload_Post(ent) {

	if(!pev_valid(ent))

		return HAM_IGNORED;

	

	new id;

	id = pev(ent, pev_owner);

	

	if(!is_user_alive(id) || !get_user_bow(id))

		return HAM_IGNORED;

	

	if(bow_clip[id] == -1)

		return HAM_IGNORED;

	

	new Float:reload_time = get_pcvar_float(bowreloadtime);

	

	set_pdata_int(ent, 51, bow_clip[id], 4);

	set_pdata_float(ent, 48, reload_time, 4);

	set_pdata_float(id, 83, reload_time, 5);

	set_pdata_int(ent, 54, 1, 4);	

	return HAM_IGNORED;

}



public Bow_PostFrame(ent) {

	if(!pev_valid(ent))

		return HAM_IGNORED;

	

	new id;

	id = pev(ent, pev_owner);

	

	if(!is_user_alive(id) || !get_user_bow(id))

		return HAM_IGNORED;

	

	new Float:NextAttack = get_pdata_float(id, 83, 5);

	new Ammo = cs_get_user_bpammo(id, CSW_BOW);

	

	new Clip = get_pdata_int(ent, 51, 4);

	new InReload = get_pdata_int(ent, 54, 4);

	

	if(InReload && NextAttack <= 0.0) {

		new Temp = min(1 - Clip, Ammo);

		

		set_pdata_int(ent, 51, Clip + Temp, 4);

		cs_set_user_bpammo(id, CSW_BOW, Ammo - Temp);		

		set_pdata_int(ent, 54, 0, 4);

		

		InReload = 0;

		bow_reload[id] = 0;

	}			

	

	return HAM_IGNORED;

}



public Bow_Fire(id, type) {

	Bow_CanAttack[id] = false;

	Bow_SecondaryAttack[id] = false;

	

	new ent, Float:Origin[3], Float:Angles[3], Float:Velocity[3];

	

	ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

	engfunc(EngFunc_GetAttachment, id, 0, Origin, Angles);

	pev(id, pev_angles, Angles);

	

	set_pev(ent, pev_origin, Origin);

	set_pev(ent, pev_angles, Angles);

	set_pev(ent, pev_solid, 2);

	set_pev(ent, pev_movetype, MOVETYPE_FLY);

	

	set_pev(ent, pev_classname, BOW_CLASS);		

	

	set_pev(ent, pev_owner, id);

	engfunc(EngFunc_SetModel, ent, BowModel_S);

	

	set_pev(ent, pev_mins, {-1.0, -1.0, -1.0});

	set_pev(ent, pev_maxs, {1.0, 1.0, 1.0});

	

	if(type) {

		velocity_by_aim(id, 2000, Velocity);

		set_pev(ent, pev_fuser1, 2.0);

	}

	else {

		velocity_by_aim(id, 1900, Velocity);

		set_pev(ent, pev_fuser1, 1.0);

	}

	set_pev(ent, pev_velocity, Velocity);

	

	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);

	write_byte(TE_BEAMFOLLOW); // TE id

	write_short(ent); // entity:attachment to follow

	write_short(bow_trail); // sprite index

	write_byte(1); // life in 0.1's

	write_byte(1); // line width in 0.1's

	write_byte(255); // r

	write_byte(255); // g

	write_byte(255); // b

	write_byte(200); // brightness

	message_end();

}



public Bow_Think(bolt) {

	if(pev_valid(bolt))

		engfunc(EngFunc_RemoveEntity, bolt);

}



public Bow_Touch(bolt, touch) {

	if(is_valid_ent(bolt)) {

		static ClassName[32];

		pev(touch, pev_classname, ClassName, charsmax(ClassName));



		static Float:BoltOrigin[3];

		pev(bolt, pev_origin, BoltOrigin);	

		new id = pev(bolt, pev_owner);

		

		if(is_user_connected(touch) && is_user_alive(touch) && !fm_get_user_godmode(touch) && get_user_team(touch) != get_user_team(id) && touch != id) {

			new DamageMulti = pev(bolt, pev_fuser1)

			new Float:Damage = float(get_pcvar_num(bowdamage) * DamageMulti);

			

			new Float:VictimOrigin[3]

			pev(touch, pev_origin, VictimOrigin);

			new BloodColor = ExecuteHam(Ham_BloodColor, touch);

			if(BloodColor != -1) {

				new Amount = floatround(Damage);

				

				Amount *= 2; //according to HLSDK

				

				message_begin(MSG_BROADCAST, SVC_TEMPENTITY);

				write_byte(TE_BLOODSPRITE);

				write_coord(floatround(VictimOrigin[0]));

				write_coord(floatround(VictimOrigin[1]));

				write_coord(floatround(VictimOrigin[2]));

				write_short(BloodSpray);

				write_short(BloodDrop);

				write_byte(BloodColor);

				write_byte(min(max(3, Amount/10), 16));

				message_end();

			}

			

			make_knockback(touch, BoltOrigin, get_pcvar_float(bowknockback) * Damage);	

			

			if(get_user_health(touch) - Damage >= 1) {

				ExecuteHam(Ham_TakeDamage, touch, id, id, Damage, DMG_BLAST);

				

				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("Damage"), _, touch);

				write_byte(0);

				write_byte(0);

				write_long(DMG_PARALYZE);

				write_coord(0) ;

				write_coord(0);

				write_coord(0);

				message_end();

				

				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), {0,0,0}, touch);

				write_short(1<<13);

				write_short(1<<14);

				write_short(0x0000);

				write_byte(255);

				write_byte(255);

				write_byte(255);

				write_byte(100) ;

				message_end();

				

				message_begin(MSG_ONE, get_user_msgid("ScreenShake"), {0,0,0}, touch);

				write_short(0xFFFF);

				write_short(1<<13);

				write_short(0xFFFF) ;

				message_end();

			}

			else {				

				death_message(id, touch, "BOW");

			}

			engfunc(EngFunc_RemoveEntity, bolt);

			

		}

		else {

			set_pev(bolt, pev_movetype, MOVETYPE_NONE);

			set_pev(bolt, pev_solid, SOLID_NOT);

			set_pev(bolt, pev_animtime, get_gametime());

			set_pev(bolt, pev_framerate, 1.0);

			set_pev(bolt, pev_nextthink, get_gametime() + 15,0);

		}

	}

}

		

public Hook_Bow(id) {

	engclient_cmd(id, weapon_bow);

	return PLUGIN_HANDLED;

}



public Buy_Bow(id) {

	new bow_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_bowcost) : get_pcvar_num(bowcost));

	

	if(get_user_team(id) != 1) {

		ColorChat(id, "!t%s!g Doar!t Furieni!g pot cumpara!t Compound Bow.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!get_pcvar_num(acces_bow) && !(get_user_flags(id) & OWNER_LEVEL)) {

		ColorChat(id, "!t%s!g Doar!t Co-Owner's!g pot cumpara!t Compound Bow.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!is_user_alive(id)) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t Compound Bow!g cat timp esti mort.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t Compound Bow!g cat timp esti Spectator.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(get_user_bow(id)) {

		ColorChat(id, "!t%s!g Ai deja!t Compound Bow.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);	

	}

	#if defined GOLD_SISTEM

	else if(get_user_gold(id) < bow_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Compound Bow!g. Necesar:!t %i Gold",Prefix, bow_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#else

	else if(cs_get_user_money(id) < bow_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Compound Bow!g. Necesar:!t %i$",Prefix, bow_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#endif

	

	else {

		#if defined GOLD_SISTEM

		set_user_gold(id, get_user_gold(id) - bow_cost);

		#else

		cs_set_user_money(id, cs_get_user_money(id) - bow_cost);

		#endif

		

		//emit_sound(id,CHAN_ITEM,BUY_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		ColorChat(id, "!t%s!g Ai cumparat!t Compound Bow.",Prefix);

		set_user_bow(id, true);

	}

	return PLUGIN_HANDLED;

}



public get_user_bow(id) {

	return HaveBow[id];

}



public set_user_bow(id, bow) {

	if(bow) {

		if(!HaveBow[id]) {

			drop_primary_weapons(id);

			special_primary(id, true);

			HaveBow[id] = true;

			bow_reload[id] = 0;

			message_begin(MSG_ONE, get_user_msgid("WeaponList"), _, id);

			write_string(HaveBow[id] ? "furien30_bow" : "weapon_galil");		// WeaponName

			write_byte(4);				// PrimaryAmmoID

			write_byte(90);				// PrimaryAmmoMaxAmount

			write_byte(-1);				// SecondaryAmmoID

			write_byte(-1);				// SecondaryAmmoMaxAmount

			write_byte(0);				// SlotID (0...N)

			write_byte(17);				// NumberInSlot (1...N)

			write_byte(CSW_BOW);			// WeaponID

			write_byte(0);				// Flags

			message_end();

			fm_give_item(id, weapon_bow);

			new Clip = fm_get_user_weapon_entity(id, CSW_BOW);

			cs_set_weapon_ammo(Clip, 1);

		}

	}

	else {

		if(HaveBow[id]) {

			special_primary(id, false);

			HaveBow[id] = false;

		}

	}

}

#endif



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

//-------------------------------------| Dragon Sword |-------------------------------------------------------

//======================================= sDs|Aragon* =======================================================

#if defined SUPERCLAWS

SuperClaws_Init() {

	register_clcmd("buy_superclaws", "Buy_SuperClaws");

	register_clcmd("superclaws", "Buy_SuperClaws");

	register_clcmd("say buy_superclaws", "Buy_SuperClaws");

	register_clcmd("say /superclaws", "Buy_SuperClaws");

	register_clcmd("say /buy_superclaws", "Buy_SuperClaws");

	register_clcmd("say_team buy_superclaws", "Buy_SuperClaws");

	register_clcmd("say_team /superclaws", "Buy_SuperClaws");

	register_clcmd("say_team /buy_superclaws", "Buy_SuperClaws");

	

	RegisterHam(Ham_TakeDamage, "player", "SuperClaws_TakeDamage");

	RegisterHam(Ham_Item_Deploy, "weapon_knife", "SuperClaws_Deploy_Post", 1);

	

	acces_superclaws = register_cvar("furien30_acces_superclaws", "0");		//| SuperClaws Only for 0 Admin -> 1 All |//	

	superclawsdamage = register_cvar("furien30_superclaws_damage", "3.5");		//| SuperClaws Damage |//

	superclawscost = register_cvar("furien30_superclaws_cost", "12000");		//| SuperClaws Cost |//

	vip_superclawscost = register_cvar("vip_superclaws_cost", "10000");		//| SuperClaws Cost VIP |//

}



SuperClaws_Precache() {	

	precache_model(SuperClawsModel_V);

	//precache_model(SuperClawsModel_P);

}



SuperClaws_Natives() {

	register_native("get_user_superclaws", "get_user_superclaws", 1);

	register_native("set_user_superclaws", "set_user_superclaws", 1);

}



SuperClaws_Menu(id, const Num[] = "1") {

	new superclaws_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_superclawscost) : get_pcvar_num(superclawscost));

	

	if(get_user_team(id) == 1) {

		new SuperClaws[64];

		if(!get_pcvar_num(acces_superclaws) && !(get_user_flags(id) & ADMIN_LEVEL)) {

			formatex(SuperClaws,sizeof(SuperClaws)-1,"\dSuper Claws - \rOnly VIP Gold\w");

		}

		else if(!get_user_superclaws(id)) {

			if(!superclaws_cost)

				formatex(SuperClaws,sizeof(SuperClaws)-1,"\wSuper Claws - \rFree\w");

			else {

				#if defined GOLD_SISTEM

				formatex(SuperClaws,sizeof(SuperClaws)-1,"%sSuper Claws - \y%i Gold\w", (get_user_gold(id) >= superclaws_cost) ? "\w" : "\d", superclaws_cost);

				#else

				formatex(SuperClaws,sizeof(SuperClaws)-1,"%sSuper Claws - \y%i$\w",(cs_get_user_money(id) >= superclaws_cost) ? "\w" : "\d", superclaws_cost);

				#endif

			}

		}

		else if(get_user_superclaws(id)) {

			formatex(SuperClaws,sizeof(SuperClaws)-1,"\wSuper Claws - \rAlready Have\w");

		}

		menu_additem(Menu, SuperClaws, Num, 0);

	}

}



public SuperClaws_TakeDamage(victim, inflictor, attacker, Float:damage, damagetype) {

	if(is_user_connected(attacker) && !(damagetype & (1<<24))) {

		if(get_user_weapon(attacker) == CSW_KNIFE && HaveSuperClaws[attacker])

			SetHamParamFloat(4, damage * get_pcvar_float(superclawsdamage));	

	}

}



public SuperClaws_Deploy_Post(entity) {

	static Owner;

	Owner = get_pdata_cbase(entity, 41, 4);

	

	if(HaveSuperClaws[Owner]) {

		set_pev(Owner, pev_viewmodel2, SuperClawsModel_V);

		set_pev(Owner, pev_weaponmodel2, "");

	}

}



public Buy_SuperClaws(id) {

	new superclaws_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_superclawscost) : get_pcvar_num(superclawscost));

	

	if(get_user_team(id) != 1) {

		ColorChat(id, "!t%s!g Doar!t Furieni!g pot cumpara!t Super Claws.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!get_pcvar_num(acces_superclaws) && !(get_user_flags(id) & ADMIN_LEVEL)) {

		ColorChat(id, "!t%s!g Doar!t Co-Owner's!g pot cumpara!t Super Claws.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!is_user_alive(id)) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t Super Claws!g cat timp esti mort.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t Super Claws!g cat timp esti Spectator.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(get_user_superclaws(id)) {

		ColorChat(id, "!t%s!g Ai deja!t Super Claws.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);	

	}

	#if defined GOLD_SISTEM

	else if(get_user_gold(id) < superclaws_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Super Claws!g. Necesar:!t %i Gold",Prefix, superclaws_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#else

	else if(cs_get_user_money(id) < superclaws_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Super Claws!g. Necesar:!t %i$",Prefix, superclaws_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#endif

	

	else {

		#if defined GOLD_SISTEM

		set_user_gold(id, get_user_gold(id) - superclaws_cost);

		#else

		cs_set_user_money(id, cs_get_user_money(id) - superclaws_cost);

		#endif

		

		//emit_sound(id,CHAN_ITEM,BUY_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		ColorChat(id, "!t%s!g Ai cumparat!t Super Claws.",Prefix);

		set_user_superclaws(id, true);

	}

	return PLUGIN_HANDLED;

}



public get_user_superclaws(id) {

	return HaveSuperClaws[id];

}



public set_user_superclaws(id, superclaws) {

	if(superclaws) {

		#if defined DUALKATANA

		HaveDualKatana[id] = false;

		#endif

		#if defined AXE

		HaveAXE[id] = false;

		#endif

		

		HaveSuperClaws[id] = true;

		if(is_user_connected(id) && is_user_alive(id) && get_user_weapon(id) == CSW_KNIFE) 

			ExecuteHamB(Ham_Item_Deploy, get_pdata_cbase(id, 373, 5));

	}

	else {

		HaveSuperClaws[id] = false;

		if(is_user_connected(id) && is_user_alive(id) && get_user_weapon(id) == CSW_KNIFE) 

			ExecuteHamB(Ham_Item_Deploy, get_pdata_cbase(id, 373, 5));

	}

}

#endif



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

//-------------------------------------| Dual Katana |-------------------------------------------------------

//======================================= sDs|Aragon* =======================================================

#if defined DUALKATANA

DualKatana_Init() {

	register_clcmd("buy_dualkatana", "Buy_DualKatana");

	register_clcmd("dualkatana", "Buy_DualKatana");

	register_clcmd("say buy_dualkatana", "Buy_DualKatana");

	register_clcmd("say /dualkatana", "Buy_DualKatana");

	register_clcmd("say /buy_dualkatana", "Buy_DualKatana");

	register_clcmd("say_team buy_dualkatana", "Buy_DualKatana");

	register_clcmd("say_team /dualkatana", "Buy_DualKatana");

	register_clcmd("say_team /buy_dualkatana", "Buy_DualKatana");

	

	register_forward(FM_EmitSound, "DualKatana_EmitSound");

	

	RegisterHam(Ham_TakeDamage, "player", "DualKatana_TakeDamage");

	RegisterHam(Ham_Item_Deploy, "weapon_knife", "DualKatana_Deploy_Post", 1);

	

	acces_dualkatana = register_cvar("furien30_acces_dualkatana", "1");		//| DualKatana Only for 0 Admin -> 1 All |//	

	dualkatanadamage = register_cvar("furien30_dualkatana_damage", "2.7");		//| DualKatana Damage |//

	dualkatanacost = register_cvar("furien30_dualkatana_cost", "10000");		//| DualKatana Cost |//

	vip_dualkatanacost = register_cvar("vip_dualkatana_cost", "8000");		//| DualKatana Cost VIP |//

}



DualKatana_Precache() {	

	precache_model(DualKatanaModel_V);

	precache_model(DualKatanaModel_P);

	

	for(new i;i<sizeof DualKatana_Sound;i++)

		precache_sound(DualKatana_Sound);

}



DualKatana_Natives() {

	register_native("get_user_dualkatana", "get_user_dualkatana", 1);

	register_native("set_user_dualkatana", "set_user_dualkatana", 1);

}



DualKatana_Menu(id, const Num[] = "1") {

	new dualkatana_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_dualkatanacost) : get_pcvar_num(dualkatanacost));

	

	if(get_user_team(id) == 1) {

		new DualKatana[64];

		if(!get_pcvar_num(acces_dualkatana) && !(get_user_flags(id) & VIP_LEVEL)) {

			formatex(DualKatana,sizeof(DualKatana)-1,"\dDual Katana - \rOnly VIP Silver\w");

		}

		else if(!get_user_dualkatana(id)) {

			if(!dualkatana_cost)

				formatex(DualKatana,sizeof(DualKatana)-1,"\wDual Katana - \rFree\w");

			else {

				#if defined GOLD_SISTEM

				formatex(DualKatana,sizeof(DualKatana)-1,"%sDual Katana - \y%i Gold\w", (get_user_gold(id) >= dualkatana_cost) ? "\w" : "\d", dualkatana_cost);

				#else

				formatex(DualKatana,sizeof(DualKatana)-1,"%sDual Katana - \y%i$\w",(cs_get_user_money(id) >= dualkatana_cost) ? "\w" : "\d", dualkatana_cost);

				#endif

			}

		}

		else if(get_user_dualkatana(id)) {

			formatex(DualKatana,sizeof(DualKatana)-1,"\wDual Katana - \rAlready Have\w");

		}

		menu_additem(Menu, DualKatana, Num, 0);

	}

}



public DualKatana_EmitSound(id, channel, const sound[]) {

	if(is_user_alive(id) && get_user_weapon(id) == CSW_KNIFE && HaveDualKatana[id]) {

		for(new i = 0; i < sizeof Knife_Sound; i++) {

			if(equal(sound, Knife_Sound)) {

				emit_sound(id, channel, DualKatana_Sound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);

				return FMRES_SUPERCEDE;

			}

		}

	}

	return FMRES_IGNORED;

}



public DualKatana_TakeDamage(victim, inflictor, attacker, Float:damage, damagetype) {

	if(is_user_connected(attacker) && !(damagetype & (1<<24))) {

		if(get_user_weapon(attacker) == CSW_KNIFE && HaveDualKatana[attacker])

			SetHamParamFloat(4, damage * get_pcvar_float(dualkatanadamage));	

	}

}



public DualKatana_Deploy_Post(entity) {

	static Owner;

	Owner = get_pdata_cbase(entity, 41, 4);

	

	if(HaveDualKatana[Owner]) {

		set_pev(Owner, pev_viewmodel2, DualKatanaModel_V);

		set_pev(Owner, pev_weaponmodel2, DualKatanaModel_P);

	}

}



public Buy_DualKatana(id) {

	new dualkatana_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_dualkatanacost) : get_pcvar_num(dualkatanacost));

	

	if(get_user_team(id) != 1) {

		ColorChat(id, "!t%s!g Doar!t Furieni!g pot cumpara!t DualKatana.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!get_pcvar_num(acces_dualkatana) && !(get_user_flags(id) & VIP_LEVEL)) {

		ColorChat(id, "!t%s!g Doar!t CO-Owner's!g pot cumpara!t DualKatana.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!is_user_alive(id)) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t DualKatana!g cat timp esti mort.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t DualKatana!g cat timp esti Spectator.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(get_user_dualkatana(id)) {

		ColorChat(id, "!t%s!g Ai deja!t DualKatana.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);	

	}

	#if defined GOLD_SISTEM

	else if(get_user_gold(id) < dualkatana_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t DualKatana!g. Necesar:!t %i Gold",Prefix, dualkatana_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#else

	else if(cs_get_user_money(id) < dualkatana_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t DualKatana!g. Necesar:!t %i$",Prefix, dualkatana_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#endif

	

	else {

		#if defined GOLD_SISTEM

		set_user_gold(id, get_user_gold(id) - dualkatana_cost);

		#else

		cs_set_user_money(id, cs_get_user_money(id) - dualkatana_cost);

		#endif

		

		//emit_sound(id,CHAN_ITEM,BUY_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		ColorChat(id, "!t%s!g Ai cumparat!t DualKatana.",Prefix);

		set_user_dualkatana(id, true);

	}

	return PLUGIN_HANDLED;

}



public get_user_dualkatana(id) {

	return HaveDualKatana[id];

}



public set_user_dualkatana(id, dualkatana) {

	if(dualkatana) {

		#if defined SUPERCLAWS

		HaveSuperClaws[id] = false;

		#endif

		#if defined AXE

		HaveAXE[id] = false;

		#endif

		

		HaveDualKatana[id] = true;

		if(is_user_connected(id) && is_user_alive(id) && get_user_weapon(id) == CSW_KNIFE) 

			ExecuteHamB(Ham_Item_Deploy, get_pdata_cbase(id, 373, 5));

	}

	else {

		HaveDualKatana[id] = false;

		if(is_user_connected(id) && is_user_alive(id) && get_user_weapon(id) == CSW_KNIFE) 

			ExecuteHamB(Ham_Item_Deploy, get_pdata_cbase(id, 373, 5));

	}

}

#endif



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

//-----------------------------------------| AXE |-----------------------------------------------------------

//======================================= sDs|Aragon* =======================================================

#if defined AXE

AXE_Init() {

	register_clcmd("buy_axe", "Buy_AXE");

	register_clcmd("axe", "Buy_AXE");

	register_clcmd("say buy_axe", "Buy_AXE");

	register_clcmd("say /axe", "Buy_AXE");

	register_clcmd("say /buy_axe", "Buy_AXE");

	register_clcmd("say_team buy_axe", "Buy_AXE");

	register_clcmd("say_team /axe", "Buy_AXE");

	register_clcmd("say_team /buy_axe", "Buy_AXE");

	

	register_forward(FM_EmitSound, "AXE_EmitSound");

	

	RegisterHam(Ham_TakeDamage, "player", "AXE_TakeDamage");

	RegisterHam(Ham_Item_Deploy, "weapon_knife", "AXE_Deploy_Post", 1);

	

	acces_axe = register_cvar("furien30_acces_axe", "1");		//| AXE Only for 0 Admin -> 1 All |//	

	axedamage = register_cvar("furien30_axe_damage", "2.0");		//| AXE Damage |//

	axecost = register_cvar("furien30_axe_cost", "6000");		//| AXE Cost |//

	vip_axecost = register_cvar("vip_axe_cost", "4000");		//| AXE Cost VIP |//

}



AXE_Precache() {	

	precache_model(AXEModel_V);

	precache_model(AXEModel_P);

	

	for(new i;i<sizeof AXE_Sound;i++)

		precache_sound(AXE_Sound);

}



AXE_Natives() {

	register_native("get_user_axe", "get_user_axe", 1);

	register_native("set_user_axe", "set_user_axe", 1);

}



AXE_Menu(id, const Num[] = "1") {

	new axe_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_axecost) : get_pcvar_num(axecost));

	

	if(get_user_team(id) == 1) {

		new _AXE[64];

		if(!get_pcvar_num(acces_axe) && !(get_user_flags(id) & VIP_LEVEL)) {

			formatex(_AXE,sizeof(_AXE)-1,"\dMini AXE - \rOnly VIP\w");

		}

		else if(!get_user_axe(id)) {

			if(!axe_cost)

				formatex(_AXE,sizeof(_AXE)-1,"\wMini AXE - \rFree\w");

			else {

				#if defined GOLD_SISTEM

				formatex(_AXE,sizeof(_AXE)-1,"%sMini AXE - \y%i Gold\w", (get_user_gold(id) >= axe_cost) ? "\w" : "\d", axe_cost);

				#else

				formatex(_AXE,sizeof(_AXE)-1,"%sMini AXE - \y%i$\w",(cs_get_user_money(id) >= axe_cost) ? "\w" : "\d", axe_cost);

				#endif

			}

		}

		else if(get_user_axe(id)) {

			formatex(_AXE,sizeof(_AXE)-1,"\wMini AXE - \rAlready Have\w");

		}

		menu_additem(Menu, _AXE, Num, 0);

	}

}



public AXE_EmitSound(id, channel, const sound[]) {

	if(is_user_alive(id) && get_user_weapon(id) == CSW_KNIFE && HaveAXE[id]) {

		for(new i = 0; i < sizeof Knife_Sound; i++) {

			if(equal(sound, Knife_Sound)) {

				emit_sound(id, channel, AXE_Sound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);

				

				return FMRES_SUPERCEDE;

			}

		}

	}

	return FMRES_IGNORED;

}



public AXE_TakeDamage(victim, inflictor, attacker, Float:damage, damagetype) {

	if(is_user_connected(attacker) && !(damagetype & (1<<24))) {

		if(get_user_weapon(attacker) == CSW_KNIFE && HaveAXE[attacker])

			SetHamParamFloat(4, damage * get_pcvar_float(axedamage));	

	}

}



public AXE_Deploy_Post(entity) {

	static Owner;

	Owner = get_pdata_cbase(entity, 41, 4);

	

	if(HaveAXE[Owner]) {

		set_pev(Owner, pev_viewmodel2, AXEModel_V);

		set_pev(Owner, pev_weaponmodel2, AXEModel_P);

	}

}



public Buy_AXE(id) {

	new axe_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_axecost) : get_pcvar_num(axecost));

	

	if(get_user_team(id) != 1) {

		ColorChat(id, "!t%s!g Doar!t Furieni!g pot cumpara!t AXE.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!get_pcvar_num(acces_axe) && !(get_user_flags(id) & VIP_LEVEL)) {

		ColorChat(id, "!t%s!g Doar!t VIP!g pot cumpara!t AXE.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!is_user_alive(id)) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t AXE!g cat timp esti mort.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t AXE!g cat timp esti Spectator.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(get_user_axe(id)) {

		ColorChat(id, "!t%s!g Ai deja!t AXE.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);	

	}

	#if defined GOLD_SISTEM

	else if(get_user_gold(id) < axe_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t AXE!g. Necesar:!t %i Gold",Prefix, axe_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#else

	else if(cs_get_user_money(id) < axe_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t AXE!g. Necesar:!t %i$",Prefix, axe_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#endif

	

	else {

		#if defined GOLD_SISTEM

		set_user_gold(id, get_user_gold(id) - axe_cost);

		#else

		cs_set_user_money(id, cs_get_user_money(id) - axe_cost);

		#endif

		

		//emit_sound(id,CHAN_ITEM,BUY_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		ColorChat(id, "!t%s!g Ai cumparat!t AXE.",Prefix);

		set_user_axe(id, true);

	}

	return PLUGIN_HANDLED;

}



public get_user_axe(id) {

	return HaveAXE[id];

}



public set_user_axe(id, axe) {

	if(axe) {

		#if defined SUPERCLAWS

		HaveSuperClaws[id] = false;

		#endif

		#if defined DUALKATANA

		HaveDualKatana[id] = false;

		#endif

		

		HaveAXE[id] = true;

		if(is_user_connected(id) && is_user_alive(id) && get_user_weapon(id) == CSW_KNIFE) 

			ExecuteHamB(Ham_Item_Deploy, get_pdata_cbase(id, 373, 5));

	}

	else {

		HaveAXE[id] = false;

		if(is_user_connected(id) && is_user_alive(id) && get_user_weapon(id) == CSW_KNIFE) 

			ExecuteHamB(Ham_Item_Deploy, get_pdata_cbase(id, 373, 5));

	}

}

#endif



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

//-----------------------------------------| Health |-------------------------------------------------------

//======================================= sDs|Aragon* =======================================================

#if defined HEALTH

Health_Init() {

	register_clcmd("buy_hp", "Buy_Health");

	register_clcmd("hp", "Buy_Health");

	register_clcmd("say buy_hp", "Buy_Health");

	register_clcmd("say /hp", "Buy_Health");

	register_clcmd("say /buy_hp", "Buy_Health");

	register_clcmd("say_team buy_hp", "Buy_Health");

	register_clcmd("say_team /hp", "Buy_Health");

	register_clcmd("say_team /buy_hp", "Buy_Health");

	register_clcmd("buy_health", "Buy_Health");

	register_clcmd("health", "Buy_Health");

	register_clcmd("say buy_health", "Buy_Health");

	register_clcmd("say /health", "Buy_Health");

	register_clcmd("say /buy_health", "Buy_Health");

	register_clcmd("say_team buy_health", "Buy_Health");

	register_clcmd("say_team /health", "Buy_Health");

	register_clcmd("say_team /buy_health", "Buy_Health");

	

	acces_health = register_cvar("furien30_acces_health", "1");			//| Health Only for 0 Admin -> 1 All |//	

	maxhealth = register_cvar("furien30_max_health", "250");				//| Max Health |//

	healthcost = register_cvar("furien30_health_cost", "30");			//| Health Cost |//

	vip_healthcost = register_cvar("vip_health_cost", "15");				//| Health Cost VIP |//

}



Health_Precache() {	

	//precache_sound(HEALTH_SND);

}



Health_Menu(id, const Num[] = "1") {

	new health_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_healthcost) : get_pcvar_num(healthcost));

	

	new _Health[64];

	if(!get_pcvar_num(acces_health) && !(get_user_flags(id) & VIP_LEVEL)) {

		formatex(_Health,sizeof(_Health)-1,"\dHealth - \rOnly VIP\w");

	}

	else if(get_user_health(id) < get_pcvar_num(maxhealth)) {

		new Health = CheckHealth(id)

		if(!health_cost)

			formatex(_Health,sizeof(_Health)-1,"\wHealth \r+%d\w - \rFree\w \y(Max Health: %d)\w", Health, get_pcvar_num(maxhealth));

		else {

			#if defined GOLD_SISTEM

			formatex(_Health,sizeof(_Health)-1,"%sHealth \r+%d\w - \y%i Gold\w \y(Max Health: %d)\w", (get_user_gold(id) >= health_cost) ? "\w" : "\d", Health, Health > 0 ? (health_cost * Health) : health_cost, get_pcvar_num(maxhealth));

			#else

			formatex(_Health,sizeof(_Health)-1,"%sHealth \r+%d\w - \y%i$\w \y(Max Health: %d)\w", (cs_get_user_money(id) >= health_cost ? "\w" : "\d"), Health, Health > 0 ? (health_cost * Health) : health_cost, get_pcvar_num(maxhealth));

			#endif

		}

	}

	else if(get_user_health(id) >= get_pcvar_num(maxhealth)) {

		formatex(_Health,sizeof(_Health)-1,"\dHealth - \rMax Health\w");

	}

	menu_additem(Menu, _Health, Num, 0);

}



public CheckHealth(id) {	

	#if defined GOLD_SISTEM

	new bani = get_user_gold(id)

	#else

	new bani = cs_get_user_money(id)

	#endif

	new health_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_healthcost) : get_pcvar_num(healthcost));



	new Health

	for(new HP = 1;HP <= CHECK_HEALTH; HP++) {

		if(bani >= health_cost * HP && get_user_health(id) <= get_pcvar_num(maxhealth) - HP)

			Health = HP

	}

	return Health

	

}



public Buy_Health(id) {

	new health_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_healthcost) : get_pcvar_num(healthcost));

	

	if(!get_pcvar_num(acces_health) && !(get_user_flags(id) & VIP_LEVEL)) {

		ColorChat(id, "!t%s!g Doar!t VIP!g pot cumpara!t Health.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!is_user_alive(id)) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t Health!g cat timp esti mort.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t Health!g cat timp esti Spectator.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(get_user_health(id) >= get_pcvar_num(maxhealth)) {

		ColorChat(id, "!t%s!g Ai deja!t %d Health.",Prefix, get_pcvar_num(maxhealth));

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#if defined GOLD_SISTEM

	else if(get_user_gold(id) < health_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Health!g. Necesar:!t %i Gold",Prefix, health_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#else

	else if(cs_get_user_money(id) < health_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Health!g. Necesar:!t %i$",Prefix, health_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#endif

	

	else {

		new Health = CheckHealth(id)

		#if defined GOLD_SISTEM

		set_user_gold(id, get_user_gold(id) - (health_cost * Health));

		#else

		cs_set_user_money(id, cs_get_user_money(id) - (health_cost * Health));

		#endif

		fm_set_user_health(id, get_user_health(id) + Health);

		//emit_sound(id,CHAN_ITEM,HEALTH_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		ColorChat(id, "!t%s!g Ai cumparat!t %d Health.",Prefix, Health);

		if(is_user_connected(id)) {

			message_begin(MSG_ONE, get_user_msgid("ItemPickup"), _, id);

			write_string("cross");

			write_byte(255);

			write_byte(0);

			write_byte(0);

			message_end();

		}

	}

	return PLUGIN_HANDLED;

}

#endif



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

//-----------------------------------------| Armor |-------------------------------------------------------

//======================================= sDs|Aragon* =======================================================

#if defined ARMOR

Armor_Init() {

	register_clcmd("buy_ap", "Buy_Armor");

	register_clcmd("ap", "Buy_Armor");

	register_clcmd("say buy_ap", "Buy_Armor");

	register_clcmd("say /ap", "Buy_Armor");

	register_clcmd("say /buy_ap", "Buy_Armor");

	register_clcmd("say_team buy_ap", "Buy_Armor");

	register_clcmd("say_team /ap", "Buy_Armor");

	register_clcmd("say_team /buy_ap", "Buy_Armor");

	register_clcmd("buy_armor", "Buy_Armor");

	register_clcmd("armor", "Buy_Armor");

	register_clcmd("say buy_armor", "Buy_Armor");

	register_clcmd("say /armor", "Buy_Armor");

	register_clcmd("say /buy_armor", "Buy_Armor");

	register_clcmd("say_team buy_armor", "Buy_Armor");

	register_clcmd("say_team /armor", "Buy_Armor");

	register_clcmd("say_team /buy_armor", "Buy_Armor");

	

	acces_armor = register_cvar("furien30_acces_armor", "1");			//| Armor Only for 0 Admin -> 1 All |//	

	maxarmor = register_cvar("furien30_max_armor", "250");				//| Max Armor |//

	armorcost = register_cvar("furien30_armor_cost", "20");				//| Armor Cost |//

	vip_armorcost = register_cvar("vip_armor_cost", "10");				//| Armor Cost VIP |//

}



Armor_Precache() {	

	//precache_sound(ARMOR_SND);

}



Armor_Menu(id, const Num[] = "1") {

	new armor_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_armorcost) : get_pcvar_num(armorcost));

	

	new _Armor[64];

	if(!get_pcvar_num(acces_armor) && !(get_user_flags(id) & VIP_LEVEL)) {

		formatex(_Armor,sizeof(_Armor)-1,"\dArmor - \rOnly VIP\w");

	}

	else if(get_user_armor(id) < get_pcvar_num(maxarmor)) {

		new Armor = CheckArmor(id)

		if(!armor_cost)

			formatex(_Armor,sizeof(_Armor)-1,"\wArmor \r+%d\w - \rFree\w \y(Max Armor: %d)\w", Armor, get_pcvar_num(maxarmor));

		else {

			#if defined GOLD_SISTEM

			formatex(_Armor,sizeof(_Armor)-1,"%sArmor \r+%d\w - \y%i Gold\w \y(Max Armor: %d)\w", (get_user_gold(id) >= armor_cost) ? "\w" : "\d", Armor, Armor > 0 ? (armor_cost * Armor) : armor_cost, get_pcvar_num(maxarmor));

			#else

			formatex(_Armor,sizeof(_Armor)-1,"%sArmor \r+%d\w - \y%i$\w \y(Max Armor: %d)\w", (cs_get_user_money(id) >= armor_cost ? "\w" : "\d"), Armor, Armor > 0 ? (armor_cost * Armor) : armor_cost, get_pcvar_num(maxarmor));

			#endif

		}

	}

	else if(get_user_armor(id) >= get_pcvar_num(maxarmor)) {

		formatex(_Armor,sizeof(_Armor)-1,"\dArmor - \rMax Armor\w");

	}

	menu_additem(Menu, _Armor, Num, 0);

}



public CheckArmor(id) {	

	#if defined GOLD_SISTEM

	new bani = get_user_gold(id)

	#else

	new bani = cs_get_user_money(id)

	#endif

	new armor_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_armorcost) : get_pcvar_num(armorcost));



	new Armor

	for(new AP = 1; AP <= CHECK_ARMOR; AP++) {

		if(bani >= armor_cost * AP && get_user_armor(id) <= get_pcvar_num(maxarmor) - AP)

			Armor = AP

	}

	return Armor

}



public Buy_Armor(id) {

	new armor_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_armorcost) : get_pcvar_num(armorcost));

	

	if(!get_pcvar_num(acces_armor) && !(get_user_flags(id) & VIP_LEVEL)) {

		ColorChat(id, "!t%s!g Doar!t VIP!g pot cumpara!t Armor.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!is_user_alive(id)) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t Armor!g cat timp esti mort.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t Armor!g cat timp esti Spectator.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(get_user_armor(id) >= get_pcvar_num(maxarmor)) {

		ColorChat(id, "!t%s!g Ai deja!t %d Armor.",Prefix, get_pcvar_num(maxarmor));

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#if defined GOLD_SISTEM

	else if(get_user_gold(id) < armor_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Armor!g. Necesar:!t %i Gold",Prefix, armor_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#else

	else if(cs_get_user_money(id) < armor_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Armor!g. Necesar:!t %i$",Prefix, armor_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#endif

	

	else {

		new Armor = CheckArmor(id)

		#if defined GOLD_SISTEM

		set_user_gold(id, get_user_gold(id) - (armor_cost * Armor));

		#else

		cs_set_user_money(id, cs_get_user_money(id) - (armor_cost * Armor));

		#endif

		

		fm_set_user_armor(id, get_user_armor(id) + Armor);

		//emit_sound(id,CHAN_ITEM,ARMOR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		ColorChat(id, "!t%s!g Ai cumparat!t %d Armor.",Prefix, Armor);

		if(is_user_connected(id)) {

			message_begin(MSG_ONE, get_user_msgid("ItemPickup"), _, id);

			write_string("suithelmet_full");

			write_byte(255);

			write_byte(0);

			write_byte(0);

			message_end();

		}

	}

	return PLUGIN_HANDLED;

}

#endif



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

//-----------------------------------------| Defuse |-------------------------------------------------------

//======================================= sDs|Aragon* =======================================================

#if defined DEFUSE

Defuse_Init() {

	if(MapHasBomb) {

		register_clcmd("buy_defuse", "Buy_Defuse");

		register_clcmd("defuse", "Buy_Defuse");

		register_clcmd("say buy_defuse", "Buy_Defuse");

		register_clcmd("say /defuse", "Buy_Defuse");

		register_clcmd("say /buy_defuse", "Buy_Defuse");

		register_clcmd("say_team buy_defuse", "Buy_Defuse");

		register_clcmd("say_team /defuse", "Buy_Defuse");

		register_clcmd("say_team /buy_defuse", "Buy_Defuse");

		

		acces_defuse = register_cvar("furien30_acces_defuse", "1");		//| Defuse Only for 0 Admin -> 1 CTs |//	

		defusecost = register_cvar("furien30_defuse_cost", "100");		//| Defuse Cost |//

		vip_defusecost = register_cvar("vip_defuse_cost", "50");			//| Defuse Cost VIP |//

	}

}



Defuse_Menu(id, const Num[] = "1") {

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

		new defuse_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_defusecost) : get_pcvar_num(defusecost));

		

		new _Defuse[64];

		if(!get_pcvar_num(acces_defuse) && !(get_user_flags(id) & VIP_LEVEL)) {

			formatex(_Defuse,sizeof(_Defuse)-1,"\dDefuse - \rOnly VIP\w");

		}

		else if(!cs_get_user_defuse(id)) {

			if(!defuse_cost)

				formatex(_Defuse,sizeof(_Defuse)-1,"\wDefuse - \rFree");

			else {

				#if defined GOLD_SISTEM

				formatex(_Defuse,sizeof(_Defuse)-1,"%sDefuse - \y%i Gold", (get_user_gold(id) >= defuse_cost) ? "\w" : "\d", defuse_cost);

				#else

				formatex(_Defuse,sizeof(_Defuse)-1,"%sDefuse - \y%i$", (cs_get_user_money(id) >= defuse_cost ? "\w" : "\d"), defuse_cost);

				#endif

			}

		}

		else if(cs_get_user_defuse(id)) {

			formatex(_Defuse,sizeof(_Defuse)-1,"\dDefuse - \rAlready Have");

		}

		menu_additem(Menu, _Defuse, Num, 0);		

	}

}



public Buy_Defuse(id) {

	if(MapHasBomb) {

		new defuse_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_defusecost) : get_pcvar_num(defusecost));		

		

		if(get_user_team(id) != 2) {

			ColorChat(id, "!t%s!g Doar!t Anti Furieni!g pot cumpara!t Defuse.",Prefix);

			//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		}

		else if(!get_pcvar_num(acces_defuse) && !(get_user_flags(id) & VIP_LEVEL)) {

			ColorChat(id, "!t%s!g Doar!t VIP!g pot cumpara!t Defuse.",Prefix);

			//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		}

		else if(!is_user_alive(id)) {

			ColorChat(id, "!t%s!g Nu poti cumpara!t Defuse!g cat timp esti mort.",Prefix);

			//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		}

		else if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) {

			ColorChat(id, "!t%s!g Nu poti cumpara!t Defuse!g cat timp esti Spectator.",Prefix);

			//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		}

		else if(cs_get_user_defuse(id)) {

			ColorChat(id, "!t%s!g Ai deja!t Defuse.",Prefix);

			//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		}

		#if defined GOLD_SISTEM

		else if(get_user_gold(id) < defuse_cost) {

			ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Defuse!g. Necesar:!t %i Gold",Prefix, defuse_cost);

			//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		}

		#else

		else if(cs_get_user_money(id) < defuse_cost) {

			ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Defuse!g. Necesar:!t %i$",Prefix, defuse_cost);

			//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		}

		#endif

		

		else {

			#if defined GOLD_SISTEM

			set_user_gold(id, get_user_gold(id) - defuse_cost);

			#else

			cs_set_user_money(id, cs_get_user_money(id) - defuse_cost);

			#endif

			

			cs_set_user_defuse(id, 1);

			//emit_sound(id,CHAN_ITEM, BUY_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

			ColorChat(id, "!t%s!g Ai cumparat!t Defuse.",Prefix);

			if(is_user_connected(id)) {

				message_begin(MSG_ONE, get_user_msgid("ItemPickup"), _, id);

				write_string("defuser");

				write_byte(0);

				write_byte(255);

				write_byte(0);

				message_end();

			}

		}

	}

	return PLUGIN_HANDLED;

}

#endif



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

//---------------------------------------| HE Grenade |------------------------------------------------------

//======================================= sDs|Aragon* =======================================================

#if defined HE

HE_Init() {

	register_clcmd("he", "Buy_HE");

	register_clcmd("buy_he", "Buy_HE");

	register_clcmd("say /he", "Buy_HE");

	register_clcmd("say /buy_he", "Buy_HE");

	register_clcmd("say buy_he", "Buy_HE");

	register_clcmd("say_team /he", "Buy_HE");

	register_clcmd("say_team /buy_he", "Buy_HE");

	register_clcmd("say_team buy_he", "Buy_HE");

	

	acces_he = register_cvar("furien30_acces_he", "1");			//| HE Only for 0 Admin -> 1 All |//	

	hecost = register_cvar("furien30_he_cost", "2000");			//| HE Cost |//

	vip_hecost = register_cvar("vip_he_cost", "1000");			//| HE Cost VIP |//

}



HE_Menu(id, const Num[] = "1") {

	new he_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_hecost) : get_pcvar_num(hecost));

	

	new HEGrenade[64];

	if(!get_pcvar_num(acces_he) && !(get_user_flags(id) & VIP_LEVEL)) {

		formatex(HEGrenade,sizeof(HEGrenade)-1,"\dHE Grenade - \rOnly VIP\w");

	}

	else if(!user_has_weapon(id, CSW_HEGRENADE)) {

		if(!he_cost)

			formatex(HEGrenade,sizeof(HEGrenade)-1,"\wHE Grenade\w - \yFree\w");

		else {

			#if defined GOLD_SISTEM

			formatex(HEGrenade,sizeof(HEGrenade)-1,"%sHE Grenade\w - \y%i Gold\w",(get_user_gold(id) >= he_cost) ? "\w" : "\d", he_cost);

			#else

			formatex(HEGrenade,sizeof(HEGrenade)-1,"%sHE Grenade\w - \y%i$\w",(cs_get_user_money(id) >= he_cost ? "\w" : "\d"), he_cost);

			#endif

		}

	}

	else if(user_has_weapon(id, CSW_HEGRENADE)) {

		formatex(HEGrenade,sizeof(HEGrenade)-1,"\rHE Grenade\w - \yAlready Have\w");

	}

	menu_additem(Menu, HEGrenade, Num, 0);

}



public Buy_HE(id) {

	new he_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_hecost) : get_pcvar_num(hecost));

	

	if(!get_pcvar_num(acces_he) && !(get_user_flags(id) & VIP_LEVEL)) {

		ColorChat(id, "!t%s!g Doar!t VIP!g pot cumpara!t HE Grenade.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t HE Grenade!g cat timp esti Spectator.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!is_user_alive(id)) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t HE Grenade!g cat timp esti mort.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(user_has_weapon(id, CSW_HEGRENADE)) {

		ColorChat(id, "!t%s!g Ai deja!t HE Grenade.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);	

	}

	#if defined GOLD_SISTEM

	else if(get_user_gold(id) < he_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t HE Grenade!g. Necesar:!t %i Gold",Prefix, he_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#else

	else if(cs_get_user_money(id) < he_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t HE Grenade!g. Necesar:!t %i$",Prefix, he_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#endif

	

	else {

		#if defined GOLD_SISTEM

		set_user_gold(id, get_user_gold(id) - he_cost);

		#else

		cs_set_user_money(id, cs_get_user_money(id) - he_cost);

		#endif

		

		//emit_sound(id,CHAN_ITEM,BUY_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		ColorChat(id, "!t%s!g Ai cumparat!t HE Grenade.",Prefix);

		fm_give_item(id, "weapon_hegrenade");

	}

	return PLUGIN_HANDLED;

}

#endif



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

//--------------------------------------| Flash Bang |-------------------------------------------------------

//======================================= sDs|Aragon* =======================================================

#if defined FLASH

Flash_Init() {

	register_clcmd("flash", "Buy_Flash");

	register_clcmd("buy_flash", "Buy_Flash");

	register_clcmd("say /flash", "Buy_Flash");

	register_clcmd("say /buy_flash", "Buy_Flash");

	register_clcmd("say buy_flash", "Buy_Flash");

	register_clcmd("say_team /flash", "Buy_Flash");

	register_clcmd("say_team /buy_flash", "Buy_Flash");

	register_clcmd("say_team buy_flash", "Buy_Flash");

	

	acces_flash = register_cvar("furien30_acces_flash", "1");			//| Flash Only for 0 Admin -> 1 All |//	

	flashcost = register_cvar("furien30_flash_cost", "1000");			//| Flash Cost |//

	vip_flashcost = register_cvar("vip_flash_cost", "500");				//| Flash Cost VIP |//

}



Flash_Menu(id, const Num[] = "1") {

	new flash_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_flashcost) : get_pcvar_num(flashcost));

	

	new Flash[64];

	if(!get_pcvar_num(acces_flash) && !(get_user_flags(id) & VIP_LEVEL)) {

		formatex(Flash,sizeof(Flash)-1,"\dFlashBang - \rOnly VIP\w");

	}

	else if(!user_has_weapon(id, CSW_FLASHBANG)) {

		if(!flash_cost)

			formatex(Flash,sizeof(Flash)-1,"\wFlashBang\w - \yFree\w");

		else {

			#if defined GOLD_SISTEM

			formatex(Flash,sizeof(Flash)-1,"%sFlashBang\w - \y%i Gold\w",(get_user_gold(id) >= flash_cost) ? "\w" : "\d", flash_cost);

			#else

			formatex(Flash,sizeof(Flash)-1,"%sFlashBang\w - \y%i$\w",(cs_get_user_money(id) >= flash_cost ? "\w" : "\d"), flash_cost);

			#endif

		}

	}

	else if(user_has_weapon(id, CSW_FLASHBANG)) {

		formatex(Flash,sizeof(Flash)-1,"\rFlashBang\w - \yAlready Have\w");

	}

	menu_additem(Menu, Flash, Num, 0);

}



public Buy_Flash(id) {

	new flash_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_flashcost) : get_pcvar_num(flashcost));

	

	if(!get_pcvar_num(acces_flash) && !(get_user_flags(id) & VIP_LEVEL)) {

		ColorChat(id, "!t%s!g Doar!t VIP!g pot cumpara!t FlashBang.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t FlashBang!g cat timp esti Spectator.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!is_user_alive(id)) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t FlashBang!g cat timp esti mort.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(user_has_weapon(id, CSW_FLASHBANG)) {

		ColorChat(id, "!t%s!g Ai deja!t FlashBang.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);	

	}

	#if defined GOLD_SISTEM

	else if(get_user_gold(id) < flash_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t FlashBang!g. Necesar:!t %i Gold",Prefix, flash_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#else

	else if(cs_get_user_money(id) < flash_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t FlashBang!g. Necesar:!t %i$",Prefix, flash_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#endif

	

	else {

		#if defined GOLD_SISTEM

		set_user_gold(id, get_user_gold(id) - flash_cost);

		#else

		cs_set_user_money(id, cs_get_user_money(id) - flash_cost);

		#endif

		

		//emit_sound(id,CHAN_ITEM,BUY_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		ColorChat(id, "!t%s!g Ai cumparat!t FlashBang.",Prefix);

		fm_give_item(id, "weapon_flashbang");

	}

	return PLUGIN_HANDLED;

}

#endif



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

//-------------------------------------| Smoke Grenade |-----------------------------------------------------

//======================================= sDs|Aragon* =======================================================

#if defined SMOKE

Smoke_Init() {

	register_clcmd("smoke", "Buy_Smoke");

	register_clcmd("buy_smoke", "Buy_Smoke");

	register_clcmd("say /smoke", "Buy_Smoke");

	register_clcmd("say /buy_smoke", "Buy_Smoke");

	register_clcmd("say buy_smoke", "Buy_Smoke");

	register_clcmd("say_team /smoke", "Buy_Smoke");

	register_clcmd("say_team /buy_smoke", "Buy_Smoke");

	register_clcmd("say_team buy_smoke", "Buy_Smoke");

	

	acces_smoke = register_cvar("furien30_acces_smoke", "1");		//| Smoke Only for 0 Admin -> 1 All |//	

	smokecost = register_cvar("furien30_smoke_cost", "1000");		//| Smoke Cost |//

	vip_smokecost = register_cvar("vip_smoke_cost", "500");			//| Smoke Cost VIP |//

}



Smoke_Menu(id, const Num[] = "1") {

	new smoke_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_smokecost) : get_pcvar_num(smokecost));

	

	new SmokeGrenade[64];

	if(!get_pcvar_num(acces_smoke) && !(get_user_flags(id) & VIP_LEVEL)) {

		formatex(SmokeGrenade,sizeof(SmokeGrenade)-1,"\dSmoke Grenade - \rOnly VIP\w");

	}

	else if(!user_has_weapon(id, CSW_SMOKEGRENADE)) {

		if(!smoke_cost)

			formatex(SmokeGrenade,sizeof(SmokeGrenade)-1,"\wSmoke Grenade\w - \yFree\w");

		else {

			#if defined GOLD_SISTEM

			formatex(SmokeGrenade,sizeof(SmokeGrenade)-1,"%sSmoke Grenade\w - \y%i Gold\w",(get_user_gold(id) >= smoke_cost) ? "\w" : "\d", smoke_cost);

			#else

			formatex(SmokeGrenade,sizeof(SmokeGrenade)-1,"%sSmoke Grenade\w - \y%i$\w",(cs_get_user_money(id) >= smoke_cost ? "\w" : "\d"), smoke_cost);

			#endif

		}

	}

	else if(user_has_weapon(id, CSW_SMOKEGRENADE)) {

		formatex(SmokeGrenade,sizeof(SmokeGrenade)-1,"\rSmoke Grenade\w - \yAlready Have\w");

	}

	menu_additem(Menu, SmokeGrenade, Num, 0);

}



public Buy_Smoke(id) {

	new smoke_cost = (get_pcvar_num(vip) && get_user_flags(id) & VIP_LEVEL ? get_pcvar_num(vip_smokecost) : get_pcvar_num(smokecost));

	

	if(!get_pcvar_num(acces_smoke) && !(get_user_flags(id) & VIP_LEVEL)) {

		ColorChat(id, "!t%s!g Doar!t VIP!g pot cumpara!t Smoke Grenade.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t Smoke Grenade!g cat timp esti Spectator.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(!is_user_alive(id)) {

		ColorChat(id, "!t%s!g Nu poti cumpara!t Smoke Grenade!g cat timp esti mort.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	else if(user_has_weapon(id, CSW_SMOKEGRENADE)) {

		ColorChat(id, "!t%s!g Ai deja!t Smoke Grenade.",Prefix);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);	

	}

	#if defined GOLD_SISTEM

	else if(get_user_gold(id) < smoke_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Smoke Grenade!g. Necesar:!t %i Gold",Prefix, smoke_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#else

	else if(cs_get_user_money(id) < smoke_cost) {

		ColorChat(id, "!t%s!g Nu ai suficiente fonduri pentru a cumpara!t Smoke Grenade!g. Necesar:!t %i$",Prefix, smoke_cost);

		//emit_sound(id,CHAN_ITEM,ERROR_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

	}

	#endif

	

	else {

		#if defined GOLD_SISTEM

		set_user_gold(id, get_user_gold(id) - smoke_cost);

		#else

		cs_set_user_money(id, cs_get_user_money(id) - smoke_cost);

		#endif

		

		//emit_sound(id,CHAN_ITEM,BUY_SND,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

		ColorChat(id, "!t%s!g Ai cumparat!t Smoke Grenade.",Prefix);

		fm_give_item(id, "weapon_smokegrenade");

	}

	return PLUGIN_HANDLED;

}

#endif



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

// Stock's |

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

stock set_weapon_anim(id, anim) {

	set_pev(id, pev_weaponanim, anim);

	if(is_user_connected(id)) {

		message_begin(MSG_ONE, SVC_WEAPONANIM, _, id);

		write_byte(anim);

		write_byte(pev(id, pev_body));

		message_end();

	}

}



#if defined GOLD_SISTEM

public GiveGold(id, level, cid) {

	if (cmd_access(id, level, cid, 2)) {

		new arg[23], gplayers[32], num, i, players, name[32];

		get_user_name(id, name, 31);

		read_argv(1, arg, 23);

		new give_gold[10];

		read_argv(2, give_gold, charsmax(give_gold));

		new Gold = str_to_num(give_gold);

		if(equali(arg, "@All")) {

			get_players(gplayers, num, "ch");

			for(i = 0; i < num; i++) {

				players = gplayers;

				if(!is_user_connected(players))

					continue;

				set_user_gold(players, get_user_gold(players) + Gold);	

			}

			switch(get_cvar_num("amx_show_activity")) {

				case 1: ColorChat(0, "!tADMIN!g give!t %i Gold!g to all!t Players.", Gold);

					case 2: ColorChat(0, "!t%s!g give!t %i Gold!g to all!t Players.", name, Gold);

				}

		}

		new player = cmd_target(id, arg, 11);

		if(!player) {

			console_print(id, "Juctorul cu acel nume nu exista.");

		}

		else {

			set_user_gold(player, get_user_gold(player) + Gold);

			switch(get_cvar_num("amx_show_activity")) {

				case 1: ColorChat(player, "!tADMIN!g give you!t %i Gold.", Gold);

					case 2: ColorChat(player, "!t%s!g give you!t %i Gold.", name, Gold);

				}

		}

	}

}



public ResetGold(id, level, cid) {

	if (cmd_access(id, level, cid, 2)) {

		new arg[23], gplayers[32], num, i, players, name[32];

		get_user_name(id, name, 31);

		read_argv(1, arg, 23);

		if(equali(arg, "@All")) {

			get_players(gplayers, num, "ch");

			for(i = 0; i < num; i++) {

				players = gplayers[i];

				if(!is_user_connected(players))

					continue;

				set_user_gold(players, 0);	

			}

			switch(get_cvar_num("amx_show_activity")) {

				case 1: ColorChat(0, "!tADMIN!g reset!t XP!g to all!t Players.");

					case 2: ColorChat(0, "!t%s!g reset!t XP!g to all!t Players.", name);

				}

		}

		new player = cmd_target(id, arg, 11);

		if(!player) {

			console_print(id, "Juctorul cu acel nume nu exista.");

		}

		else {

			set_user_gold(player, 0);	

			switch(get_cvar_num("amx_show_activity")) {

				case 1: ColorChat(player, "!tADMIN!g reset your!t Experience.");

					case 2: ColorChat(player, "!t%s!g reset your!t Experience.", name);

				}

		}

	}

}



// Save Gold

public SaveGold(id) {

	new Name[32];

	get_user_name(id, Name, 31);

	

	new Save[64]

	format(Save,sizeof(Save) - 1, "^"%s^" %d", Name, PlayerGold[id])

	

	new Line[64], Linie, IsPlayer = false, Arg1[64]

	

	new FileOpen = fopen(GoldFile, "rt")

	while(!feof(FileOpen)) {

		fgets(FileOpen, Line, 63)

		trim(Line)

		

		parse(Line, Arg1, 63)

		

		if (equali(Arg1, Name)) {

			write_file(GoldFile, Save, Linie)

			IsPlayer = true

			break

		}

		

		Linie++

	}

	fclose(FileOpen)

	if (!IsPlayer) {

		write_file(GoldFile, Save, -1)

	}

}



// Load Gold

public LoadGold(id) {

	new Name[32];

	get_user_name(id, Name, 31);

	

	new Line[64], IsPlayer = false, Arg1[32], Arg2[32];

	

	new FileOpen = fopen(GoldFile, "rt")

	while(!feof(FileOpen)) {

		fgets(FileOpen, Line, 63)

		trim(Line)

		

		parse(Line, Arg1, 31, Arg2, 31)

		

		if (equali(Arg1, Name)) {

			PlayerGold[id] = str_to_num(Arg2)

			IsPlayer = true

			break

		}

	}

	fclose(FileOpen)

	

	if (!IsPlayer) {

		PlayerGold[id] = 50000

	}

}

#endif



stock FixedUnsigned16(Float:flValue, iScale) {

	new iOutput;

	

	iOutput = floatround(flValue * iScale);

	if (iOutput < 0)

		iOutput = 0;

	

	if (iOutput > 0xFFFF)

		iOutput = 0xFFFF;

	return iOutput;

}



stock UTIL_ScreenFade(id=0,iColor[3]={0,0,0},Float:flFxTime=-1.0,Float:flHoldTime=0.0,iAlpha=0,iFlags=0x0000,bool:bReliable=false,bool:bExternal=false) {

	if(id && !is_user_connected(id))

		return;

	

	new iFadeTime;

	if(flFxTime == -1.0) {

		iFadeTime = 4;

	}

	else {

		iFadeTime = FixedUnsigned16(flFxTime , 1<<12);

	}

	

	static gmsgScreenFade;

	if(!gmsgScreenFade) {

		gmsgScreenFade = get_user_msgid("ScreenFade");

	}

	

	new MSG_DEST;

	if(bReliable) 

		MSG_DEST = id ? MSG_ONE : MSG_ALL;

	else 

		MSG_DEST = id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST;

	

	if(bExternal) {

		emessage_begin(MSG_DEST, gmsgScreenFade, _, id);

		ewrite_short(iFadeTime);

		ewrite_short(FixedUnsigned16(flHoldTime , 1<<12));

		ewrite_short(iFlags);

		ewrite_byte(iColor[0]);

		ewrite_byte(iColor[1]);

		ewrite_byte(iColor[2]);

		ewrite_byte(iAlpha);

		emessage_end();

	}

	else {

		message_begin(MSG_DEST, gmsgScreenFade, _, id);

		write_short(iFadeTime);

		write_short(FixedUnsigned16(flHoldTime , 1<<12));

		write_short(iFlags);

		write_byte(iColor[0]);

		write_byte(iColor[1]);

		write_byte(iColor[2]);

		write_byte(iAlpha);

		message_end();

	}

}



stock UTIL_FadeToBlack(id,Float:fxtime=3.0,bool:bReliable=false,bool:bExternal=false) {

	UTIL_ScreenFade(id, _, fxtime, fxtime, 255, 0x0001|0x0004,bReliable,bExternal);

}



stock death_message(Killer, Victim, const Weapon[]) {

	set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET);

	ExecuteHamB(Ham_Killed, Victim, Killer, 2);

	set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT);

	

	make_deathmsg(Killer, Victim, 0, Weapon);

	cs_set_user_money(Killer, cs_get_user_money(Killer) + 300);

	

	message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo"));

	write_byte(Killer); // id

	write_short(pev(Killer, pev_frags)); // frags

	write_short(cs_get_user_deaths(Killer)); // deaths

	write_short(0); // class?

	write_short(get_user_team(Killer)); // team

	message_end();

	

	message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo"));

	write_byte(Victim); // id

	write_short(pev(Victim, pev_frags)); // frags

	write_short(cs_get_user_deaths(Victim)); // deaths

	write_short(0); // class?

	write_short(get_user_team(Victim)); // team

	message_end();

}



public make_knockback(Victim, Float:origin[3], Float:maxspeed) {

	new Float:fVelocity[3];

	kickback(Victim, origin, maxspeed, fVelocity);

	entity_set_vector(Victim, EV_VEC_velocity, fVelocity);

	

	return(1);

}



stock kickback(ent, Float:fOrigin[3], Float:fSpeed, Float:fVelocity[3]) {

	new Float:fEntOrigin[3];

	entity_get_vector(ent, EV_VEC_origin, fEntOrigin);

	

	new Float:fDistance[3];

	fDistance[0] = fEntOrigin[0] - fOrigin[0];

	fDistance[1] = fEntOrigin[1] - fOrigin[1];

	fDistance[2] = fEntOrigin[2] - fOrigin[2];

	new Float:fTime = (vector_distance(fEntOrigin,fOrigin) / fSpeed);

	fVelocity[0] = fDistance[0] / fTime;

	fVelocity[1] = fDistance[1] / fTime;

	fVelocity[2] = fDistance[2] / fTime;

	

	return(fVelocity[0] && fVelocity[1] && fVelocity[2]);

}



stock get_damage_body(body, Float:damage) {

	switch(body) {

		case HIT_HEAD:

			damage *= 1.3;

		case HIT_STOMACH: 

			damage *= 1.0;

		case HIT_CHEST: 

			damage *= 1.1;

		case HIT_LEFTARM: 

			damage *= 0.7;

		case HIT_RIGHTARM: 

			damage *= 0.7;

		case HIT_LEFTLEG: 

			damage *= 0.75;

		case HIT_RIGHTLEG: 

			damage *= 0.75;

		default: 

		damage *= 1.0;

	}

	

	return floatround(damage);

}	



stock drop_primary_weapons(Player) {

	static weapons[32], num, i, weaponid;

	num = 0;

	get_user_weapons(Player, weapons, num);

	

	for(i = 0; i < num; i++) {

		weaponid = weapons [i];

		

		if(((1<<weaponid) & PRIMARY_WEAPONS_BITSUM)) {

			static wname[32];

			get_weaponname(weaponid, wname, charsmax(wname));

			

			engclient_cmd(Player, "drop", wname);

		}

	}

}

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

// HudMessage | ColorChat |

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

#define clamp_byte(%1)       ( clamp( %1, 0, 255 ) )

#define pack_color(%1,%2,%3) ( %3 + ( %2 << 8 ) + ( %1 << 16 ) )



stock HudMessage(const id, const message[], red = 0, green = 160, blue = 0, Float:x = -1.0, Float:y = 0.65, effects = 2, Float:fxtime = 0.01, Float:holdtime = 3.0, Float:fadeintime = 0.01, Float:fadeouttime = 0.01) {

	new count = 1, players[32];

	

	if(id) players[0] = id;

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

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

			if(is_user_connected(players[i])) {	

				new color = pack_color(clamp_byte(red), clamp_byte(green), clamp_byte(blue))

				

				message_begin(MSG_ONE_UNRELIABLE, SVC_DIRECTOR, _, players[i]);

				write_byte(strlen(message) + 31);

				write_byte(DRC_CMD_MESSAGE);

				write_byte(effects);

				write_long(color);

				write_long(_:x);

				write_long(_:y);

				write_long(_:fadeintime);

				write_long(_:fadeouttime);

				write_long(_:holdtime);

				write_long(_:fxtime);

				write_string(message);

				message_end();

			}

		}

	}

}



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[i])) {

				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);

				write_byte(players[i]);

				write_string(msg);

				message_end();

			}

		}

	} 

}

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

//---------------------------------------| End Plugin |-----------------------------------------------------

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

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE

*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }

*/
User avatar
Laurentiu P.
Fost moderator
Fost moderator
Posts: 2549
Joined: 10 Jul 2013, 21:26
Detinator Steam: Da
Reputatie: Fost super moderator
Fond eXtream: 100
Has thanked: 26 times
Been thanked: 62 times
Contact:

11 Sep 2018, 19:40

posteaza si modelele sa le verific pe un server local.
no...
Hopsin
Membru, skill 0
Membru, skill 0
Posts: 3
Joined: 11 Sep 2018, 09:46
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

11 Sep 2018, 19:48

Post Reply

Return to “Probleme in jocul Counter-Strike”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 12 guests