/*
*
*  	Plugin: JailBreak Shop
*  	Autor: MaNuCs
*  
*  	Credits: rubee
*                Gladius
*		 capostrike93
*		 apu
*/

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


#define is_valid_player(%1) (1 <= %1 <= 32)

/*============================================================
Variables
============================================================*/

new 	
OnOff, 
OnOff2, 
precio1, 
precio2, 
precio3,
precio4, 
precio5, 
precio6, 
precio7, 
precioC1, 
precioC2, 
precioC3,
precioC4,
CTDefaultDano, 
TDefaultDano, 
PaloDano, 
HachaDano, 
MacheteDano, 
MotocierraDano,
hTDefaultDano, 
hCTDefaultDano, 
hPaloDano, 
hHachaDano, 
hMacheteDano,
Vida,
Armor,
glock1,
glock2,
help,
g_killjp, 
g_killhsjp, 
g_startjp,
g_maxjp,
g_iMsgSayText,
syncObj,
Ronda[33],
Speed[33],
Speed2[33],
TCuchillo[33],
CTCuchillo[33],
Destapador[33],
Hacha[33],
Machete[33],
Motocierra[33],
g_jbpacks[33],
quitar[33],
regalar[33],
gidPlayer[33],
mainvault


/*============================================================
Weapon Model's
============================================================*/


new VIEW_MODELT[]    	= "models/[Shop]JailBreak/Punos/Punos.mdl" 
new PLAYER_MODELT[] 	= "models/[Shop]JailBreak/Punos/Punos2.mdl" 

new VIEW_MODELCT[]    	= "models/[Shop]JailBreak/Electro/Electro.mdl" 
new PLAYER_MODELCT[]   	= "models/[Shop]JailBreak/Electro/Electro2.mdl" 

new VIEW_Hacha[]    	= "models/[Shop]JailBreak/Hacha/Hacha.mdl" 
new PLAYER_Hacha[]   	= "models/[Shop]JailBreak/Hacha/Hacha2.mdl" 

new VIEW_Machete[]    	= "models/[Shop]JailBreak/Machete/Machete.mdl" 
new PLAYER_Machete[]    	= "models/[Shop]JailBreak/Machete/Machete2.mdl"

new VIEW_Palo[]    	= "models/[Shop]JailBreak/Palo/Palo.mdl" 
new PLAYER_Palo[]    	= "models/[Shop]JailBreak/Palo/Palo2.mdl" 

new VIEW_Moto[]    	= "models/[Shop]JailBreak/Moto/Moto.mdl" 
new PLAYER_Moto[]    	= "models/[Shop]JailBreak/Moto/Moto2.mdl" 

new WORLD_MODEL[]    	= "models/w_knife.mdl"
new OLDWORLD_MODEL[]    	= "models/w_knife.mdl"

/*============================================================
Shop Sounds!
============================================================*/
new const Si[] 		= { "[Shop]JailBreak/Yes.wav" }
new const No[] 		= { "[Shop]JailBreak/No.wav" }

/*============================================================
Weapon Sound's
============================================================*/

new const palo_deploy[] 		= { "weapons/knife_deploy1.wav" }
new const palo_slash1[] 		= { "weapons/knife_slash1.wav" }
new const palo_slash2[] 		= { "weapons/knife_slash2.wav" }
new const palo_wall[] 		= { "[Shop]JailBreak/Palo/PHitWall.wav" } 
new const palo_hit1[] 		= { "[Shop]JailBreak/Palo/PHit1.wav" } 
new const palo_hit2[] 		= { "[Shop]JailBreak/Palo/PHit2.wav" } 
new const palo_hit3[] 		= { "[Shop]JailBreak/Palo/PHit3.wav" } 
new const palo_hit4[] 		= { "[Shop]JailBreak/Palo/PHit4.wav" } 
new const palo_stab[] 		= { "[Shop]JailBreak/Palo/PStab.wav" }

new const hacha_deploy[] 	= { "weapons/knife_deploy1.wav" }
new const hacha_slash1[] 	= { "[Shop]JailBreak/Hacha/HSlash1.wav" }
new const hacha_slash2[] 	= { "[Shop]JailBreak/Hacha/HSlash2.wav" }
new const hacha_wall[] 		= { "[Shop]JailBreak/Hacha/HHitWall.wav" }
new const hacha_hit1[] 		= { "[Shop]JailBreak/Hacha/HHit1.wav" }
new const hacha_hit2[] 		= { "[Shop]JailBreak/Hacha/HHit2.wav" }
new const hacha_hit3[] 		= { "[Shop]JailBreak/Hacha/HHit3.wav" }
new const hacha_stab[] 		= { "[Shop]JailBreak/Hacha/HHit4.wav" }

new const machete_deploy[] 	= { "[Shop]JailBreak/Machete/MConvoca.wav" }
new const machete_slash1[] 	= { "[Shop]JailBreak/Machete/MSlash1.wav" }
new const machete_slash2[] 	= { "[Shop]JailBreak/Machete/MSlash2.wav" }
new const machete_wall[] 	= { "[Shop]JailBreak/Machete/MHitWall.wav" }
new const machete_hit1[] 	= { "[Shop]JailBreak/Machete/MHit1.wav" }
new const machete_hit2[] 	= { "[Shop]JailBreak/Machete/MHit2.wav" }
new const machete_hit3[] 	= { "[Shop]JailBreak/Machete/MHit3.wav" }
new const machete_hit4[] 	= { "[Shop]JailBreak/Machete/MHit4.wav" }
new const machete_stab[] 	= { "[Shop]JailBreak/Machete/MStab.wav" }

new const motocierra_deploy[] 	= { "[Shop]JailBreak/Moto/MTConvoca.wav", }
new const motocierra_slash[] 	= { "[Shop]JailBreak/Moto/MTSlash.wav", }
new const motocierra_wall[] 	= { "[Shop]JailBreak/Moto/MTHitWall.wav" }
new const motocierra_hit1[] 	= { "[Shop]JailBreak/Moto/MTHit1.wav",  }
new const motocierra_hit2[] 	= { "[Shop]JailBreak/Moto/MTHit2.wav",  }
new const motocierra_stab[] 	= { "[Shop]JailBreak/Moto/MTStab.wav"  }

new const t_deploy[] 		= { "[Shop]JailBreak/T/TConvoca.wav", }
new const t_slash1[] 		= { "[Shop]JailBreak/T/Slash1.wav", }
new const t_slash2[] 		= { "[Shop]JailBreak/T/Slash2.wav", }
new const t_wall[] 		= { "[Shop]JailBreak/T/THitWall.wav" }
new const t_hit1[] 		= { "[Shop]JailBreak/T/THit1.wav",  }
new const t_hit2[] 		= { "[Shop]JailBreak/T/THit2.wav",  }
new const t_hit3[] 		= { "[Shop]JailBreak/T/THit3.wav",  }
new const t_hit4[] 		= { "[Shop]JailBreak/T/THit4.wav",  }
new const t_stab[] 		= { "[Shop]JailBreak/T/TStab.wav"  }
new bool:initaliazed[33];
new const ct_deploy[] 		= { "[Shop]JailBreak/CT/CTConvoca.wav", }
new const ct_slash1[] 		= { "[Shop]JailBreak/CT/Slash1.wav", }
new const ct_slash2[] 		= { "[Shop]JailBreak/CT/Slash2.wav", }
new const ct_wall[] 		= { "[Shop]JailBreak/CT/CTHitWall.wav" }
new const ct_hit1[] 		= { "[Shop]JailBreak/CT/CTHit1.wav",  }
new const ct_hit2[] 		= { "[Shop]JailBreak/CT/CTHit2.wav",  }
new const ct_hit3[] 		= { "[Shop]JailBreak/CT/CTHit3.wav",  }
new const ct_hit4[] 		= { "[Shop]JailBreak/CT/CTHit4.wav",  }
new const ct_stab[] 		= { "[Shop]JailBreak/CT/CTStab.wav"  }
new bool:g_innoclip[33];
new g_lastPosition[33][3];
new const KRSMENU[][] = {
	"none",
	"1 Jb  - $4000",
	"10 Jb  - $16000",
	"+50 Hp - $6000",
	"Yari Gorunmezlik - $20 jb",
	"3 Saniye Noclip - $12 jb",
	"Elektrikleri Kes - $15 jb",
	"Kumar (1-15 Jb) - $16000"
}

/*============================================================
Config
============================================================*/

public plugin_natives()
{	
register_native("jb_get_user_packs","native_jb_get_user_packs", 1)
register_native("jb_set_user_packs","native_jb_set_user_packs")
}
public plugin_init() 
{
		
	register_plugin("[JB] Shop", "3.1", "byetovice")
	
	mainvault = nvault_open("ShopJbs")
	
	register_clcmd("say /tshop","hook_tshop")
	register_clcmd("say !tshop","hook_tshop")
	register_clcmd("say_team /tshop","hook_tshop")
	register_clcmd("say_team !tshop","hook_tshop")
	register_cvar("jb_gorunmezlik","100")
	register_clcmd("say /shop", "Tienda")
	register_clcmd("say !shop", "Tienda")
	register_clcmd("say_team /shop", "Tienda")
	register_clcmd("say_team !shop", "Tienda")
	
	register_clcmd("say /jbx", 	"duel_menu", ADMIN_BAN)
	register_clcmd("say !jbx", 	"duel_menu", ADMIN_BAN)
	register_clcmd("say_team /jbx", 	"duel_menu", ADMIN_BAN)
	register_clcmd("say_team !jbx", 	"duel_menu", ADMIN_BAN)
	
	register_clcmd("JbPacks", 	"player")
	register_clcmd("JbPacksHandle", 	"playerhandle")
	
	register_cvar("jb_savejb","0")
	
	register_cvar("byetovice_plugin", "1.2", FCVAR_SPONLY|FCVAR_SERVER)
	RegisterHam(Ham_Spawn, 		"player", "Fwd_PlayerSpawn_Post",	1)
	RegisterHam(Ham_TakeDamage, 	"player", "FwdTakeDamage", 		0)
	RegisterHam(Ham_Killed,		"player", "fw_player_killed")
	
	register_event("CurWeapon", 	"Event_Change_Weapon", "be", "1=1")
	register_clcmd("GetVaultData", "fw_GetVaultData")
	register_forward(FM_SetModel, 	"fw_SetModel")
	register_forward(FM_EmitSound,	"Fwd_EmitSound")
	
	
	// 3.1 Native
	
	/*============================================================
	Cvar's 
	============================================================*/
	g_killjp 	= register_cvar("jb_killJP", 		"2"); 
	g_killhsjp 	= register_cvar("jb_bonushsJP", 	"1");
	g_startjp 	= register_cvar("jb_startJP",		"15"); 
	g_maxjp 	= register_cvar("jb_maxgiveJP",		"10000"); 
		
	OnOff 		= register_cvar("jb_Shop", 		"1")//1(ON) 0(OFF) 
	OnOff2 		= register_cvar("jb_ShopKnifes",	"1")//1(ON) 0(OFF) 
	help 		= register_cvar("jb_help", 		"1")//1(ON) 0(OFF)
	
	precio1 	= register_cvar("jb_pFlash", 		"5")
	precio2		= register_cvar("jb_pHe", 		"10")
	precio3		= register_cvar("jb_pHEFL", 		"15")
	precio4		= register_cvar("jb_pWalk", 		"10")
	precio5		= register_cvar("jb_pFast", 		"20")
	precio6		= register_cvar("jb_pDrugs", 		"35")
	precio7		= register_cvar("jb_pGlock", 		"38")
	
	precioC1	= register_cvar("jb_pKnife1", 		"5")
	precioC2 	= register_cvar("jb_pKnife2", 		"20")
	precioC3 	= register_cvar("jb_pKnife3", 		"25")
	precioC4 	= register_cvar("jb_pKnife4", 		"36")
	
	TDefaultDano 	= register_cvar("jb_dKnifeT", 		"20")
	CTDefaultDano 	= register_cvar("jb_dKnifeCT", 		"50")
	PaloDano 	= register_cvar("jb_dKnife1", 		"30")
	HachaDano 	= register_cvar("jb_dKnife2", 		"60")
	MacheteDano 	= register_cvar("jb_dKnife3", 		"80")
	MotocierraDano 	= register_cvar("jb_dKnife4", 		"200")
	
	hTDefaultDano 	= register_cvar("jb_dHsKnifeT", 	"30")
	hCTDefaultDano 	= register_cvar("jb_dHsKnifeCT",	"80")
	hPaloDano 	= register_cvar("jb_dhsKnife1", 	"45")
	hHachaDano 	= register_cvar("jb_dhsKnife2", 	"75")
	hMacheteDano 	= register_cvar("jb_dhsKnife3", 	"95")
	
	Vida 		= register_cvar("jb_drLife", 		"200")
	Armor 		= register_cvar("jb_drArmor", 		"200")
	
	glock1 		= register_cvar("jb_gClip", 		"20")
	glock2 		= register_cvar("jb_gAmmo", 		"0")

	g_iMsgSayText 	= get_user_msgid("SayText") 
	syncObj 	= CreateHudSyncObj()
	
	
	/*============================================================
	Multi Lengual!
	============================================================*/
	register_dictionary("JBShop.txt")
	
}

/*============================================================
Precaches 
============================================================*/
public plugin_precache() 
{
	precache_sound(Si)
	precache_sound(No)
	
	precache_sound(t_deploy)
	precache_sound(t_slash1)
	precache_sound(t_slash2)
	precache_sound(t_stab)
	precache_sound(t_wall)
	precache_sound(t_hit1)
	precache_sound(t_hit2)
	precache_sound(t_hit3)
	precache_sound(t_hit4)
	
	precache_sound(ct_deploy)
	precache_sound(ct_slash1)
	precache_sound(ct_slash2)
	precache_sound(ct_stab)
	precache_sound(ct_wall)
	precache_sound(ct_hit1)
	precache_sound(ct_hit2)
	precache_sound(ct_hit3)
	precache_sound(ct_hit4)
	
	precache_sound(palo_deploy)
	precache_sound(palo_slash1)
	precache_sound(palo_slash2)
	precache_sound(palo_stab)
	precache_sound(palo_wall)
	precache_sound(palo_hit1)
	precache_sound(palo_hit2)
	precache_sound(palo_hit3)
	precache_sound(palo_hit4)
	
	precache_sound(machete_deploy)
	precache_sound(machete_slash1)
	precache_sound(machete_slash2)
	precache_sound(machete_stab)
	precache_sound(machete_wall)
	precache_sound(machete_hit1)
	precache_sound(machete_hit2)
	precache_sound(machete_hit3)
	precache_sound(machete_hit4)
	
	precache_sound(hacha_deploy)
	precache_sound(hacha_slash1)
	precache_sound(hacha_slash2)
	precache_sound(hacha_stab)
	precache_sound(hacha_wall)
	precache_sound(hacha_hit1)
	precache_sound(hacha_hit2)
	precache_sound(hacha_hit3)
	
	precache_sound(motocierra_deploy)
	precache_sound(motocierra_slash)
	precache_sound(motocierra_stab)
	precache_sound(motocierra_wall)
	precache_sound(motocierra_hit1)
	precache_sound(motocierra_hit2)
	
	
	precache_model(VIEW_MODELT)     
	precache_model(PLAYER_MODELT)
	precache_model(VIEW_MODELCT)     
	precache_model(PLAYER_MODELCT)
	precache_model(VIEW_Palo)     
	precache_model(PLAYER_Palo) 
	precache_model(VIEW_Hacha)     
	precache_model(PLAYER_Hacha)	
	precache_model(VIEW_Machete)     
	precache_model(PLAYER_Machete)	
	precache_model(VIEW_Moto)     
	precache_model(PLAYER_Moto)		
	precache_model(WORLD_MODEL)
	
	return PLUGIN_CONTINUE
}

/*============================================================
KNIFE SHOP
============================================================*/
public Tienda1(id)
{
	if(get_pcvar_num(OnOff2))
	{
		if (get_user_team(id) == 1 )
		{
			static Item[64]
			
			formatex(Item, charsmax(Item),"\y%L", LANG_PLAYER, "SHOP") 
			new Menu = menu_create(Item, "CuchilleroHandler")
			
			formatex(Item, charsmax(Item),"\w%L \r%d$",LANG_PLAYER, "KNIFE1", get_pcvar_num(precioC1))
			menu_additem(Menu, Item, "1")
			
			formatex(Item, charsmax(Item),"\w%L \r%d$",LANG_PLAYER, "KNIFE2", get_pcvar_num(precioC2))
			menu_additem(Menu, Item, "2")
			
			formatex(Item, charsmax(Item),"\w%L \r%d$",LANG_PLAYER, "KNIFE3", get_pcvar_num(precioC3))
			menu_additem(Menu, Item, "3")
			
			formatex(Item, charsmax(Item),"\w%L \r%d$",LANG_PLAYER, "KNIFE4", get_pcvar_num(precioC4))
			menu_additem(Menu, Item, "4")
			
			menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
			menu_display(id, Menu)
		}
	}
	return PLUGIN_HANDLED
}

public CuchilleroHandler(id, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	
	new vivo 	= is_user_alive(id)
	new Obtener1 	= get_pcvar_num(precioC1)
	new Obtener2 	= get_pcvar_num(precioC2)
	new Obtener3 	= get_pcvar_num(precioC3)
	new Obtener4 	= get_pcvar_num(precioC4)	
	
	new key = str_to_num(data);
	
	switch(key)
	{
		case 1:
		{
			if (g_jbpacks[id]>= Obtener1 && vivo)
			{
				g_jbpacks[id] -= Obtener1
				CTCuchillo[id] 	= 0
				TCuchillo[id] 	= 0
				Destapador[id] 	= 1
				Hacha[id] 	= 0
				Machete[id] 	= 0
				Motocierra[id] 	= 0
				
				
				ham_strip_weapon(id, "weapon_knife")
				give_item(id, "weapon_knife")
				
				ChatColor(id, "%L", LANG_PLAYER, "BUY_KNIFE1")
				emit_sound(id, CHAN_AUTO, Si, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "MONEY")
				emit_sound(id, CHAN_AUTO, No, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
		}
		
		case 2:
		{
			if (g_jbpacks[id] >= Obtener2 && vivo)
			{
				
				g_jbpacks[id] -= Obtener2
				CTCuchillo[id] 	= 0
				TCuchillo[id] 	= 0
				Destapador[id] 	= 0
				Hacha[id] 	= 1
				Machete[id] 	= 0
				Motocierra[id] 	= 0
				
				ham_strip_weapon(id, "weapon_knife")
				give_item(id, "weapon_knife")
				
				ChatColor(id, "%L", LANG_PLAYER, "BUY_KNIFE2")
				emit_sound(id, CHAN_AUTO, Si, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "MONEY")
				emit_sound(id, CHAN_AUTO, No, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
		}
		
		case 3:
		{
			if (g_jbpacks[id] >= Obtener3 && vivo)
			{
				
				g_jbpacks[id] -= Obtener3
				CTCuchillo[id] 	= 0
				TCuchillo[id] 	= 0
				Destapador[id] 	= 0
				Hacha[id] 	= 0
				Machete[id] 	= 1
				Motocierra[id] 	= 0
				
				ham_strip_weapon(id, "weapon_knife")
				give_item(id, "weapon_knife")
				
				ChatColor(id, "%L", LANG_PLAYER, "BUY_KNIFE3")
				emit_sound(id, CHAN_AUTO, Si, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "MONEY")
				emit_sound(id, CHAN_AUTO, No, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
		}
		
		case 4:
		{
			if (g_jbpacks[id] >= Obtener4 && vivo)
			{
				
				g_jbpacks[id] -= Obtener4
				CTCuchillo[id] 	= 0
				TCuchillo[id] 	= 0
				Destapador[id]	= 0
				Hacha[id] 	= 0
				Machete[id] 	= 0
				Motocierra[id] 	= 1
				
				
				ham_strip_weapon(id, "weapon_knife")
				give_item(id, "weapon_knife")
				
				ChatColor(id, "%L", LANG_PLAYER, "BUY_KNIFE4")
				emit_sound(id, CHAN_AUTO, Si, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "MONEY")
				emit_sound(id, CHAN_AUTO, No, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

/*============================================================
ITEM'S MENU
============================================================*/
public Tienda(id)
{
	if(get_pcvar_num(OnOff))
	{
		if(get_pcvar_num(OnOff) && Ronda[id])
		{
			if(is_user_alive(id))
			{
				if (cs_get_user_team(id) == CS_TEAM_T )
				{
					new contador=0;
					new players[32], num, tempid;
					
					get_players(players, num)
					
					for (new i=0; i<num; i++)
					{
						tempid = players[i]
						
						if (get_user_team(tempid)==1 && is_user_alive(tempid))
						{
							contador++;
						}
					}
					if ( contador == 1 )
					{
						ChatColor(id, "%L", LANG_PLAYER, "LAST")
					}
					else if ( contador >= 2 )
					{
						static Item[64]
						
						formatex(Item, charsmax(Item),"\y%L", LANG_PLAYER, "SHOP")
						new Menu = menu_create(Item, "TiendaHandler")
						
						formatex(Item, charsmax(Item),"\w%L \r%d$",LANG_PLAYER, "FLASH", get_pcvar_num(precio1))
						menu_additem(Menu, Item, "1")
						
						formatex(Item, charsmax(Item),"\w%L \r%d$",LANG_PLAYER, "HE", get_pcvar_num(precio2))
						menu_additem(Menu, Item, "2")
						
						formatex(Item, charsmax(Item),"\w%L \r%d$",LANG_PLAYER, "HEFLASH", get_pcvar_num(precio3))
						menu_additem(Menu, Item, "3")
						
						formatex(Item, charsmax(Item),"\w%L \r%d$",LANG_PLAYER, "FOOTSTEPS", get_pcvar_num(precio4))
						menu_additem(Menu, Item, "4")
						
						formatex(Item, charsmax(Item),"\w%L \r%d$",LANG_PLAYER, "SPEED", get_pcvar_num(precio5))
						menu_additem(Menu, Item, "5")
						
						formatex(Item, charsmax(Item),"\w%L \r%d$",LANG_PLAYER, "DRUGS", get_pcvar_num(precio6))
						menu_additem(Menu, Item, "6")
						
						formatex(Item, charsmax(Item),"\w%L \r%d$",LANG_PLAYER, "GLOCK", get_pcvar_num(precio7))
						menu_additem(Menu, Item, "7")
						
						menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
						menu_display(id, Menu)
					}
				}
				else
				{
					ChatColor(id, "%L", LANG_PLAYER, "ONLY")
				}
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "DEAD")
			}
		}
		else
		{
			ChatColor(id, "%L", LANG_PLAYER, "ONE_TIME")
		}
	}
	else
	{
		ChatColor(id, "%L",  LANG_PLAYER, "SHOP_OFF")
	}
	return PLUGIN_HANDLED
}


public TiendaHandler(id, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	new vivo 		= is_user_alive(id)
	new gmsg_SetFOV 	= get_user_msgid("SetFOV") 
	new Obtener1 		= get_pcvar_num(precio1)
	new Obtener2 		= get_pcvar_num(precio2)
	new Obtener3 		= get_pcvar_num(precio3)
	new Obtener4 		= get_pcvar_num(precio4)
	new Obtener5 		= get_pcvar_num(precio5)
	new Obtener6 		= get_pcvar_num(precio6)
	new Obtener7		= get_pcvar_num(precio7)
	new vida1		= get_user_health(id)
	new vida2 		= get_pcvar_num(Vida)
	new armor1		= get_user_armor(id)
	new armor2 		= get_pcvar_num(Armor)
	
	new key = str_to_num(data);
	switch(key)
	{
		case 1:
		{
			if (g_jbpacks[id] >= Obtener1 && vivo)
			{
				g_jbpacks[id] -= Obtener1
				ChatColor(id, "%L", LANG_PLAYER, "BUY_FLASH")
				give_item(id, "weapon_flashbang")
				give_item(id, "weapon_flashbang")
				emit_sound(id, CHAN_AUTO, Si, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
				Ronda[id] = 0
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "MONEY")
				emit_sound(id, CHAN_AUTO, No, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
		}
		case 2:
		{
			
			if (g_jbpacks[id] >= Obtener2 && vivo)
			{
				g_jbpacks[id] -= Obtener2
				ChatColor(id, "%L", LANG_PLAYER, "BUY_HE")
				give_item(id, "weapon_hegrenade")
				emit_sound(id, CHAN_AUTO, Si, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
				Ronda[id] = 0
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "MONEY")
				emit_sound(id, CHAN_AUTO, No, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
		}
		case 3:
		{
			
			if (g_jbpacks[id] >= Obtener3 && vivo)
			{
				g_jbpacks[id] -= Obtener3
				ChatColor(id, "%L", LANG_PLAYER, "BUY_HEFLASH")
				give_item(id, "weapon_hegrenade")
				give_item(id, "weapon_flashbang")
				give_item(id, "weapon_flashbang")
				emit_sound(id, CHAN_AUTO, Si, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
				Ronda[id] = 0
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "MONEY")
				emit_sound(id, CHAN_AUTO, No, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
		}
		case 4:
		{
			
			if (g_jbpacks[id] >= Obtener4 && vivo)
			{
				g_jbpacks[id] -= Obtener4
				ChatColor(id, "%L", LANG_PLAYER, "BUY_FOOTSTEPS")
				set_user_footsteps(id, 1)
				emit_sound(id, CHAN_AUTO, Si, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
				Ronda[id] = 0
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "MONEY")
				emit_sound(id, CHAN_AUTO, No, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
		}
		case 5:
		{		
			if (g_jbpacks[id] >= Obtener5 && vivo)
			{
				g_jbpacks[id] -= Obtener5
				ChatColor(id, "%L", LANG_PLAYER, "BUY_SPEED")
				set_user_maxspeed(id, 500.0)
				Speed[id] = 1
				emit_sound(id, CHAN_AUTO, Si, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
				Ronda[id] = 0
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "MONEY")  
				emit_sound(id, CHAN_AUTO, No, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
		}
		case 6:
		{	
			if (g_jbpacks[id] >= Obtener6 && vivo)
			{
				g_jbpacks[id] -= Obtener6
				ChatColor(id, "%L", LANG_PLAYER, "BUY_DRUGS")
				set_user_armor(id, armor1 + armor2)
				set_user_health(id, vida1 + vida2)
				set_user_maxspeed(id, 380.0)
				Speed2[id] = 1
				message_begin( MSG_ONE, gmsg_SetFOV, { 0, 0, 0 }, id )
				write_byte( 180 )
				message_end( )  
				emit_sound(id, CHAN_AUTO, Si, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
				Ronda[id] = 0
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "MONEY")
				emit_sound(id, CHAN_AUTO, No, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
		}
		case 7:
		{
			if (g_jbpacks[id] >= Obtener7 && vivo)
			{
				g_jbpacks[id] -= Obtener7	
				ChatColor(id, "%L", LANG_PLAYER, "BUY_GLOCK")
				cs_set_weapon_ammo( give_item( id, "weapon_glock18" ), get_pcvar_num(glock1))
				cs_set_user_bpammo(id, CSW_GLOCK18, get_pcvar_num(glock2))
				emit_sound(id, CHAN_AUTO, Si, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
				Ronda[id] = 0
			}
			else
			{
				ChatColor(id, "%L", LANG_PLAYER, "MONEY")
				emit_sound(id, CHAN_AUTO, No, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) 
			}
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public client_putinserver(id) 
{
	LoadJbs(id)
	set_task(1.0, "JailbreakPacks", id, _, _, "b")
}

public JailbreakPacks(id)
{
	set_hudmessage(142, 239, 39, 0.50, 0.90, 0, 6.0, 2.5)
	ShowSyncHudMsg(id, syncObj,"JBPacks: %i", g_jbpacks[id])
}

public duel_menu(id)
{	
	if (!is_user_admin(id))
	{
		ChatColor(id, "%L", LANG_PLAYER, "CANT")
		return PLUGIN_HANDLED
	}
	
	static opcion[64]
	
	formatex(opcion, charsmax(opcion),"\y%L", LANG_PLAYER, "JBPACKS")
	new iMenu = menu_create(opcion, "menu")
	
	formatex(opcion, charsmax(opcion),"\w%L", LANG_PLAYER, "GIVE_JBPACKS")
	menu_additem(iMenu, opcion, "1")	
	
	formatex(opcion, charsmax(opcion),"\w%L", LANG_PLAYER, "TAKE_JBPACKS")
	menu_additem(iMenu, opcion, "2")	
	
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)
	menu_display(id, iMenu, 0)
	
	return PLUGIN_HANDLED
}





public menu(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)
	{
		case 1:
		{	
			regalar[id] = 1
			quitar[id] = 0	
			escojer(id)
		}
		case 2: 
		{	
			quitar[id] = 1
			regalar[id] = 0
			escojer(id)
		}
	}
	
	menu_destroy(menu)	
	return PLUGIN_HANDLED
}


public escojer(id)
{
	static opcion[64]
	
	formatex(opcion, charsmax(opcion),"\y%L", LANG_PLAYER, "CHOOSE")
	new iMenu = menu_create(opcion, "choose")
	
	new players[32], pnum, tempid
	new szName[32], szTempid[10]
	
	get_players(players, pnum, "a")
	
	for( new i; i<pnum; i++ )
	{
		tempid = players[i]
		
		get_user_name(tempid, szName, 31)
		num_to_str(tempid, szTempid, 9)
		
		formatex(opcion, charsmax(opcion), "\w%s \rJbPacks[%d]", szName, g_jbpacks[tempid])
		menu_additem(iMenu, opcion, szTempid, 0)
	}
	
	menu_display(id, iMenu)
	return PLUGIN_HANDLED
}

public choose(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 tempid = str_to_num(Data)
	
	gidPlayer[id] = tempid
	client_cmd(id, "messagemode JbPacks")
	
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public playerhandle(id)
{
	// on death
	g_jbpacks[id] += 4;
}

public player(id)
{
	new say[300]
	read_args(say, charsmax(say))
	
	remove_quotes(say)
	
	if(!is_str_num(say) || equal(say, ""))
		return PLUGIN_HANDLED
	
	jbpacks(id, say)    
	
	return PLUGIN_CONTINUE
}

public fw_GetVaultData(id)
{
	//initaliazed[id] = get_vaultdata(read_data(1));
	initaliazed[id] = true;
}


jbpacks(id, say[]) {
	new amount = str_to_num(say)
	new victim = gidPlayer[id]
	
	new vname[32]
	new adminname[32]
	
	if(victim > 0)
	{
		get_user_name(victim, vname, 31)
		get_user_name(id, adminname, 31)
		
		if(regalar[id])
		{
			if(amount > get_pcvar_num(g_maxjp))
			{
				g_jbpacks[victim] = get_pcvar_num(g_maxjp)
			}
			else
			{
				g_jbpacks[victim] = g_jbpacks[victim] + amount
			}
			ChatColor(0, "[%s] isimli Admin, %s adli oyuncuya %d JbPack VERDI!",adminname, vname, amount)
		}
		if(quitar[id])
		{
			if(amount > g_jbpacks[victim])
			{
				g_jbpacks[victim] = 0
				ChatColor(0, "[%s] isimli Admin, %s adli oyuncunun butun JbPacklerin aldi!",adminname, vname)
			}
			else 
			{
				g_jbpacks[victim] = g_jbpacks[victim] - amount
				ChatColor(0, "[%s] isimli Admin, %s adli oyuncudan %d JbPack ALDI!",adminname, vname, amount)
			}
			
		}		
	}
	
	return PLUGIN_HANDLED
}  


public Fwd_PlayerSpawn_Post(id)
{
	if (is_user_alive(id))
	{
		if(get_user_team(id) == 1) strip_user_weapons(id); give_item(id, "weapon_knife")	
		
		set_user_footsteps(id, 0)
		Speed[id] 	= 0
		Speed2[id] 	= 0
		Ronda[id] 	= 1
		CTCuchillo[id] 	= 1
		TCuchillo[id] 	= 1
		Destapador[id] 	= 0
		Hacha[id] 	= 0
		Machete[id] 	= 0
		Motocierra[id] 	= 0
		Tienda1(id)
		if(g_innoclip[id])
		{
			set_user_noclip(id, 0)
			g_innoclip[id] = false;
			g_lastPosition[id][0] = 0
			g_lastPosition[id][1] = 0
			g_lastPosition[id][2] = 0
			
			set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255)
		}
		if(get_pcvar_num(help))	ChatColor(id, "%L", LANG_PLAYER, "HELP")
	}
}

public FwdTakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)
{
	
	if (is_valid_player(attacker) && get_user_weapon(attacker) == CSW_KNIFE)	
	{
		switch(get_user_team(attacker))
		{
			case 1:
			{
				if(TCuchillo[attacker])
				{    
					
					SetHamParamFloat(4, get_pcvar_float(TDefaultDano))
					
					if(get_pdata_int(victim, 75) == HIT_HEAD)
					{
						SetHamParamFloat(4, get_pcvar_float(hTDefaultDano))
					}
				}
				
				if(Destapador[attacker])
				{ 
					SetHamParamFloat(4, get_pcvar_float(PaloDano))
					
					if(get_pdata_int(victim, 75) == HIT_HEAD)
					{
						SetHamParamFloat(4, get_pcvar_float(hPaloDano))
					}
				}
				
				if(Hacha[attacker])
				{    	
					SetHamParamFloat(4, get_pcvar_float(HachaDano))
					
					if(get_pdata_int(victim, 75) == HIT_HEAD)
					{
						SetHamParamFloat(4, get_pcvar_float(hHachaDano))
					}
				}
				
				if(Machete[attacker])
				{    	
					SetHamParamFloat(4, get_pcvar_float(MacheteDano))
					
					if(get_pdata_int(victim, 75) == HIT_HEAD)
					{
						SetHamParamFloat(4, get_pcvar_float(hMacheteDano))
					}
				}
				
				if(Motocierra[attacker])
				{    
					SetHamParamFloat(4, get_pcvar_float(MotocierraDano))
				}
			}
			case 2:
			{
				if(CTCuchillo[attacker])
				{    
					SetHamParamFloat(4, get_pcvar_float(CTDefaultDano))
					
					if(get_pdata_int(victim, 75) == HIT_HEAD)
					{
						SetHamParamFloat(4, get_pcvar_float(hCTDefaultDano))
					}
				}
			}
		}
	}
	if(is_user_connected(attacker) && initaliazed[attacker] && get_user_weapon(attacker) != CSW_KNIFE)
	{
		SetHamParamFloat(4, damage * random_float(1.6,1.8));
	}
	return HAM_HANDLED
}  

public fw_player_killed(victim, attacker, shouldgib)
{
	if(get_user_team(attacker) == 1)
	{
		g_jbpacks[attacker] += get_pcvar_num(g_killjp) 
		
		if(get_pdata_int(victim, 75) == HIT_HEAD)
		{
			g_jbpacks[attacker] += get_pcvar_num(g_killhsjp)
		}
	}
}


public Event_Change_Weapon(id)
{
	new weaponID = read_data(2) 
	
	switch (get_user_team(id))
	{
		case 1:
		{
			if(Speed[id])
			{
				set_user_maxspeed(id, 500.0)
			}
			
			if(Speed2[id])
			{
				set_user_maxspeed(id, 380.0)
			}
			
			if(weaponID == CSW_KNIFE && get_pcvar_num(OnOff2))
			{
				if(TCuchillo[id])
				{
					set_pev(id, pev_viewmodel2, VIEW_MODELT)
					set_pev(id, pev_weaponmodel2, PLAYER_MODELT)
				}
				
				if(Destapador[id])
				{
					set_pev(id, pev_viewmodel2, VIEW_Palo)
					set_pev(id, pev_weaponmodel2, PLAYER_Palo)
				}
				
				if(Hacha[id])
				{
					set_pev(id, pev_viewmodel2, VIEW_Hacha)
					set_pev(id, pev_weaponmodel2, PLAYER_Hacha)
				}
				
				if(Machete[id])
				{
					set_pev(id, pev_viewmodel2, VIEW_Machete)
					set_pev(id, pev_weaponmodel2, PLAYER_Machete)
				}
				
				if(Motocierra[id])
				{
					set_pev(id, pev_viewmodel2, VIEW_Moto)
					set_pev(id, pev_weaponmodel2, PLAYER_Moto)
				}
				
				
			}
		}
		case 2:
		{
			if(CTCuchillo[id] && weaponID == CSW_KNIFE)
			{
				set_pev(id, pev_viewmodel2, VIEW_MODELCT)
				set_pev(id, pev_weaponmodel2, PLAYER_MODELCT)
			}
		}
	}
	return PLUGIN_CONTINUE 
}


public client_connect(id)
{
	if(get_cvar_num("jb_savejb"))
	{
		LoadJbs(id)
	}
	initaliazed[id] = false;
	g_innoclip[id] = false;
	g_lastPosition[id][0] = 0
	g_lastPosition[id][1] = 0
	g_lastPosition[id][2] = 0
}
public client_disconnect(id)
{
	if(get_cvar_num("jb_savejb"))
	{
	SaveJbs(id)	
	}
	initaliazed[id] = false;
	g_innoclip[id] = false;
	g_lastPosition[id][0] = 0
	g_lastPosition[id][1] = 0
	g_lastPosition[id][2] = 0
}

stock LoadJbs(id)
{
new authid[64]; 
get_user_name(id,authid,63)
replace_all(authid,63," ","&#-$")

new vaultkey[64], vaultdata[64]
format(vaultkey,63,"SAVEJP-%s",authid); 
if(fvaultdata_exists(vaultkey))
{
	nvault_get(mainvault,vaultkey,vaultdata,63); 
	if(str_to_num(vaultdata) < get_pcvar_num(g_startjp))
	{
		g_jbpacks[id] = get_pcvar_num(g_startjp)
	}
	else
	{
		g_jbpacks[id] = str_to_num(vaultdata);
	}
}
else
{
	g_jbpacks[id] = get_pcvar_num(g_startjp)
} 
}

stock SaveJbs(id)
{
new authid[64]; 
get_user_name(id,authid,63)
replace_all(authid,63," ","&#-$")
new vaultkey[64], vaultdata[64]; 


format(vaultkey,63,"SAVEJP-%s",authid); 
format(vaultdata,63,"%d",g_jbpacks[id]); 
nvault_set(mainvault,vaultkey,vaultdata); 
}


/*public client_infochanged(id) 
{ 
new newname[32],oldname[32] 
get_user_info(id, "name", newname,31) 
get_user_name(id,oldname,31) 
if(!is_user_connected(id) || is_user_bot(id)) return PLUGIN_CONTINUE;
if(!equali(newname, oldname))
{
set_user_info(id,"name",oldname)
client_print(id , print_console , "Isim degisikligi engellenmistir! [MGA]");
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
} 

*/ 



public fw_SetModel(entity, model[])
{
if(!pev_valid(entity))
return FMRES_IGNORED

if(!equali(model, OLDWORLD_MODEL)) 
	return FMRES_IGNORED
	
new className[33]
pev(entity, pev_classname, className, 32)
	
if(equal(className, "weaponbox") || equal(className, "armoury_entity") || equal(className, "grenade"))
{
	engfunc(EngFunc_SetModel, entity, WORLD_MODEL)
	return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}

public Fwd_EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
	
	if (!is_user_connected(id))
		return FMRES_IGNORED;
	
	if(CTCuchillo[id])
	{
		if(get_user_team(id) == 2)
		{
			if (equal(sample[8], "kni", 3))
			{
				if (equal(sample[14], "sla", 3)) 
				{
					switch (random_num(1, 2))
					{
						case 1: engfunc(EngFunc_EmitSound, id, channel, ct_slash1, volume, attn, flags, pitch)
							case 2: engfunc(EngFunc_EmitSound, id, channel, ct_slash2, volume, attn, flags, pitch)
						}
					
					return FMRES_SUPERCEDE;
				}
				if(equal(sample,"weapons/knife_deploy1.wav"))
				{
					engfunc(EngFunc_EmitSound, id, channel, ct_deploy, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				if (equal(sample[14], "hit", 3))
				{
					if (sample[17] == 'w')
					{
						engfunc(EngFunc_EmitSound, id, channel, ct_wall, volume, attn, flags, pitch)
						return FMRES_SUPERCEDE;
					}
					else 
					{
						switch (random_num(1, 4))
						{
							case 1: engfunc(EngFunc_EmitSound, id, channel, ct_hit1, volume, attn, flags, pitch)
								case 2: engfunc(EngFunc_EmitSound, id, channel, ct_hit2, volume, attn, flags, pitch)
								case 3: engfunc(EngFunc_EmitSound, id, channel, ct_hit3, volume, attn, flags, pitch)
								case 4: engfunc(EngFunc_EmitSound, id, channel, ct_hit4, volume, attn, flags, pitch)
							}
						
						return FMRES_SUPERCEDE;
					}
				}
				if (equal(sample[14], "sta", 3)) 
				{
					engfunc(EngFunc_EmitSound, id, channel, ct_stab, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
			}
		}	
	}
	
	if(TCuchillo[id])
	{
		if(get_user_team(id) == 1)
		{
			if (equal(sample[8], "kni", 3))
			{
				if (equal(sample[14], "sla", 3)) 
				{
					switch (random_num(1, 2))
					{
						case 1: engfunc(EngFunc_EmitSound, id, channel, t_slash1, volume, attn, flags, pitch)
							case 2: engfunc(EngFunc_EmitSound, id, channel, t_slash2, volume, attn, flags, pitch)
						}
					
					return FMRES_SUPERCEDE;
				}
				if(equal(sample,"weapons/knife_deploy1.wav"))
				{
					engfunc(EngFunc_EmitSound, id, channel, t_deploy, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				if (equal(sample[14], "hit", 3))
				{
					if (sample[17] == 'w') 
					{
						engfunc(EngFunc_EmitSound, id, channel, t_wall, volume, attn, flags, pitch)
						return FMRES_SUPERCEDE;
					}
					else 
					{
						switch (random_num(1, 4))
						{
							case 1: engfunc(EngFunc_EmitSound, id, channel, t_hit1, volume, attn, flags, pitch)
								case 2: engfunc(EngFunc_EmitSound, id, channel, t_hit2, volume, attn, flags, pitch)
								case 3: engfunc(EngFunc_EmitSound, id, channel, t_hit3, volume, attn, flags, pitch)
								case 4: engfunc(EngFunc_EmitSound, id, channel, t_hit4, volume, attn, flags, pitch)
							}
						
						return FMRES_SUPERCEDE;
					}
				}
				if (equal(sample[14], "sta", 3))
				{
					engfunc(EngFunc_EmitSound, id, channel, t_stab, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
			}
		}
	}
	
	if(Destapador[id])
	{
		if (equal(sample[8], "kni", 3))
		{
			if (equal(sample[14], "sla", 3)) 
			{
				switch (random_num(1, 2))
				{
					case 1: engfunc(EngFunc_EmitSound, id, channel, palo_slash1, volume, attn, flags, pitch)
						case 2: engfunc(EngFunc_EmitSound, id, channel, palo_slash2, volume, attn, flags, pitch)
						
				}
				
				return FMRES_SUPERCEDE;
			}
			if(equal(sample,"weapons/knife_deploy1.wav"))
			{
				engfunc(EngFunc_EmitSound, id, channel, palo_deploy, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
			if (equal(sample[14], "hit", 3))
			{
				if (sample[17] == 'w') 
				{
					engfunc(EngFunc_EmitSound, id, channel, palo_wall, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				else 
				{
					switch (random_num(1, 4))
					{
						case 1:engfunc(EngFunc_EmitSound, id, channel, palo_hit1, volume, attn, flags, pitch)
							case 2:engfunc(EngFunc_EmitSound, id, channel, palo_hit2, volume, attn, flags, pitch)
							case 3:engfunc(EngFunc_EmitSound, id, channel, palo_hit3, volume, attn, flags, pitch)
							case 4:engfunc(EngFunc_EmitSound, id, channel, palo_hit4, volume, attn, flags, pitch)
						}
					
					return FMRES_SUPERCEDE;
				}
			}
			if (equal(sample[14], "sta", 3))
			{
				engfunc(EngFunc_EmitSound, id, channel, palo_stab, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
		}
	}
	
	if(Hacha[id])
	{
		
		if (equal(sample[8], "kni", 3))
		{
			if (equal(sample[14], "sla", 3))
			{
				switch (random_num(1, 2))
				{
					case 1: engfunc(EngFunc_EmitSound, id, channel, hacha_slash1, volume, attn, flags, pitch)
						case 2: engfunc(EngFunc_EmitSound, id, channel, hacha_slash2, volume, attn, flags, pitch)
					}
				
				return FMRES_SUPERCEDE;
			}
			if(equal(sample,"weapons/knife_deploy1.wav"))
			{
				engfunc(EngFunc_EmitSound, id, channel, hacha_deploy, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
			if (equal(sample[14], "hit", 3))
			{
				if (sample[17] == 'w')
				{
					engfunc(EngFunc_EmitSound, id, channel, hacha_wall, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				else 
				{
					switch (random_num(1, 3))
					{
						case 1: engfunc(EngFunc_EmitSound, id, channel, hacha_hit1, volume, attn, flags, pitch)
							case 2: engfunc(EngFunc_EmitSound, id, channel, hacha_hit2, volume, attn, flags, pitch)
							case 3: engfunc(EngFunc_EmitSound, id, channel, hacha_hit3, volume, attn, flags, pitch)
						}
					
					return FMRES_SUPERCEDE;
				}
			}
			if (equal(sample[14], "sta", 3)) 
			{
				engfunc(EngFunc_EmitSound, id, channel, hacha_stab, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
		}
	}
	
	if(Machete[id])
	{
		if (equal(sample[8], "kni", 3))
		{
			if (equal(sample[14], "sla", 3)) 
			{
				switch (random_num(1, 2))
				{
					case 1: engfunc(EngFunc_EmitSound, id, channel, machete_slash1, volume, attn, flags, pitch)
						case 2: engfunc(EngFunc_EmitSound, id, channel, machete_slash2, volume, attn, flags, pitch)
					}
				return FMRES_SUPERCEDE;
			}
			if(equal(sample,"weapons/knife_deploy1.wav"))
			{
				engfunc(EngFunc_EmitSound, id, channel, machete_deploy, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
			if (equal(sample[14], "hit", 3))
			{
				if (sample[17] == 'w') 
				{
					engfunc(EngFunc_EmitSound, id, channel, machete_wall, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				else // hit
				{
					switch (random_num(1, 4))
					{
						case 1: engfunc(EngFunc_EmitSound, id, channel, machete_hit1, volume, attn, flags, pitch)
							case 2: engfunc(EngFunc_EmitSound, id, channel, machete_hit2, volume, attn, flags, pitch)
							case 3: engfunc(EngFunc_EmitSound, id, channel, machete_hit3, volume, attn, flags, pitch)
							case 4: engfunc(EngFunc_EmitSound, id, channel, machete_hit4, volume, attn, flags, pitch)
						}
					return FMRES_SUPERCEDE;
				}
			}
			if (equal(sample[14], "sta", 3)) 
			{
				engfunc(EngFunc_EmitSound, id, channel, machete_stab, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
		}
	}
	
	if(Motocierra[id])
	{
		
		if (equal(sample[8], "kni", 3))
		{
			if (equal(sample[14], "sla", 3))
			{
				engfunc(EngFunc_EmitSound, id, channel, motocierra_slash, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
			if(equal(sample,"weapons/knife_deploy1.wav"))
			{
				engfunc(EngFunc_EmitSound, id, channel, motocierra_deploy, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
			if (equal(sample[14], "hit", 3))
			{
				if (sample[17] == 'w') 
				{
					engfunc(EngFunc_EmitSound, id, channel, motocierra_wall, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				else 
				{
					switch (random_num(1, 2))
					{
						case 1: engfunc(EngFunc_EmitSound, id, channel, motocierra_hit1, volume, attn, flags, pitch)
							case 2: engfunc(EngFunc_EmitSound, id, channel, motocierra_hit2, volume, attn, flags, pitch)
							
					}
					return FMRES_SUPERCEDE;
				}
			}
			if (equal(sample[14], "sta", 3)) 
			{
				engfunc(EngFunc_EmitSound, id, channel, motocierra_stab, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
		}
	}	
	return FMRES_IGNORED;
}

/*============================================================
Stocks!
============================================================*/
stock ChatColor(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
	
	replace_all(msg, 190, "!g", "^4") // Green Color
	replace_all(msg, 190, "!y", "^1") // Default Color
	replace_all(msg, 190, "!team", "^3") // Team Color
	
	
	if (id) players[0] = id; else get_players(players, count, "ch")
	{
	for (new i = 0; i < count; i++)
	{
		if (is_user_connected(players[i]))
		{
			message_begin(MSG_ONE_UNRELIABLE, g_iMsgSayText, _, players[i])  
			write_byte(players[i]);
			write_string(msg);
			message_end();
		}
	}
}
}  

stock ham_strip_weapon(id,weapon[])
{
if(!equal(weapon,"weapon_",7)) return 0;

new wId = get_weaponid(weapon);
if(!wId) return 0;

new wEnt;
while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname",weapon)) && pev(wEnt,pev_owner) != id) {}
if(!wEnt) return 0;

if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt);

if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0;
ExecuteHamB(Ham_Item_Kill,wEnt);

set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId));

return 1;
}  


public hook_tshop(id)
{
if(!is_user_alive(id) || !is_user_connected(id) || get_user_team(id) != 1) return;

new xmenu = menu_create("\rTShop", "krs_devam");
new i
new strno[4];
for(i=1; i < 7; i++)
{
	num_to_str(i,strno,3)
	menu_additem(xmenu, KRSMENU[i], strno, 0);
}
menu_setprop(xmenu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, xmenu, 0);

}

public krs_devam(id, menu, item)
{
if(!is_user_alive(id) || !is_user_connected(id) || get_user_team(id) != 1) return PLUGIN_HANDLED;

if( item == MENU_EXIT )
{
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
if(key > 0 && key < 11)
{
	switch(key)
	{
		case 1:
		{
			if(cs_get_user_money(id) >= 4000)
			{
				cs_set_user_money(id, cs_get_user_money(id) - 4000)
				g_jbpacks[id] += 1;
				client_print(id,print_chat,"+1 Jb Satin Aldin!")
				
			}
		}
		case 2:
		{
			if(cs_get_user_money(id) >= 16000)
			{
				cs_set_user_money(id, cs_get_user_money(id) - 16000)
				g_jbpacks[id] += 10;
				client_print(id,print_chat,"+10 Jb Satin Aldin!")
				
			}
		}
		case 3:
		{
			if(cs_get_user_money(id) >= 6000)
			{
				cs_set_user_money(id, cs_get_user_money(id) - 6000)
				set_user_health(id, get_user_health(id) + 50)
				client_print(id,print_chat,"+50 Hp Satin Aldin!")
				
			}
		}
		case 4:
		{
			if(g_jbpacks[id]>= 20)
			{
				g_jbpacks[id] -= 20;
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, get_cvar_num("jb_gorunmezlik"))
				client_print(id,print_chat,"Bir miktar saydam oldun!")
				
				
			}
		}
		case 5:
		{
			if(g_jbpacks[id] >= 12)
			{
				g_jbpacks[id] -= 12;
				set_user_noclip(id, 1)
				g_innoclip[id] = true;
				client_print(id,print_chat,"Noclip satin aldin!")
				set_task(0.1,"kill_in_wall1",id + 4850)
				set_task(1.1,"kill_in_wall2",id + 4851)
				set_task(2.1,"kill_in_wall3",id + 4852)
				set_task(3.1,"kill_in_wall",id + 4849)
			}
		}
		case 6:
		{
			if(g_jbpacks[id] >= 15)
			{
				g_jbpacks[id] -= 15;
				set_lights("a")
				set_task(5.0,"normalize_light",3131)
				new pname[64];
				get_user_name(id,pname,63)
				set_hudmessage(0, 255, 0, 0.04, 0.21, 0, 6.0, 5.0,_ , _, -1)
				show_hudmessage(id, "%s elektrikleri kapatti!",pname)
				
			}
		}
		case 7:
		{
			if(cs_get_user_money(id) >= 16000)
			{
				cs_set_user_money(id, cs_get_user_money(id) - 16000)
				new rndjb = random_num(1,15)
				g_jbpacks[id] += rndjb;
				client_print(id,print_chat,"Tebrikler! %d JbPack kazandin!",rndjb)
			}
		}
		
	}
}

menu_destroy(menu)
return PLUGIN_HANDLED;
}

public kill_in_wall(TaskID)
{
new id = TaskID - 4849;
set_user_noclip(id, 0)
positionChangeTimer(id);
remove_task(TaskID)
}

public kill_in_wall1(TaskID)
{
new id = TaskID - 4850
client_print(id,print_center,"Noclip 3 saniye sonra bitiyor!")
remove_task(TaskID)
}

public kill_in_wall2(TaskID)
{
new id = TaskID - 4851
client_print(id,print_center,"Noclip 2 saniye sonra bitiyor!")
remove_task(TaskID)
}


public kill_in_wall3(TaskID)
{
new id = TaskID - 4852
client_print(id,print_center,"Noclip 1 saniye sonra bitiyor!")
remove_task(TaskID)
}



public positionChangeTimer(id)
{
if ( !is_user_alive(id) ) return

get_user_origin(id, g_lastPosition[id], 0)

new Float:velocity[3]
Entvars_Get_Vector(id, EV_VEC_velocity, velocity)

if ( velocity[0]==0.0 && velocity[1]==0.0 ) {
	velocity[0] += 20.0
	velocity[2] += 100.0
	Entvars_Set_Vector(id, EV_VEC_velocity, velocity)
}

set_task(0.4,"positionChangeCheck",id + 9911)
}
//----------------------------------------------------------------------------------------------
public positionChangeCheck(taskid)
{
new id = taskid - 9911;
new origin[3]

if (!is_user_alive(id) ) return

get_user_origin(id, origin, 0)
if ( g_lastPosition[id][0] == origin[0] && g_lastPosition[id][1] == origin[1] && g_lastPosition[id][2] == origin[2] && is_user_alive(id) ) {
	user_kill(id)
	client_print(id,print_center,"Duvarda kaldigin icin ezildin!")
}
remove_task(taskid)
}  

public normalize_light(Taskid)
{
set_lights("#OFF")
}

stock Entvars_Get_Vector(iIndex, iVariable, Float:vRetVector[3])
return entity_get_vector(iIndex, iVariable, vRetVector)

stock Entvars_Set_Vector(iIndex, iVariable, Float:vNewVector[3])
	return entity_set_vector(iIndex, iVariable, vNewVector)


stock fvaultdata_exists(const key[])
{
if(nvault_get(mainvault,key) != -1)
{
return 1;
}
else
{
return 0;	
}
return -1;
}


public native_jb_get_user_packs(id)
{
return g_jbpacks[id];
}

public native_jb_set_user_packs(id, ammount)
{
new id = get_param(1);
new ammount = get_param(2);
g_jbpacks[id] = ammount
return 1;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
