#include <amxmodx>
    #include <engine>
    #include <nvault>
    #include <cstrike>
    #include <fun>
    #include <fakemeta>
    #include <hamsandwich>
    #include <ColorChat>
 
    #define PLUGIN "Kes"
    #define VERSION "1.0"
    #define AUTHOR "Deroid"
 
    new pont[33], kes[33], vault
    new elso[33], masodik[33], harmadik[33], negyedik[33]
    new otodik[33], hatodik[33], hetedik[33], nyolcadik[33]
 
    public plugin_precache() 
    {	
    	precache_model("models/knifers/v_knife.mdl")
	precache_model("models/knifers/v_kes1.mdl")
    	precache_model("models/knifers/v_kes2.mdl")
    	precache_model("models/knifers/v_kes3.mdl")
    	precache_model("models/knifers/v_kes4.mdl")
    	precache_model("models/knifers/v_kes5.mdl")
    	precache_model("models/knifers/v_kes6.mdl")
    	precache_model("models/knifers/v_kes7.mdl")
    	precache_model("models/knifers/v_kes8.mdl")
    }
 
    public plugin_init() 
    {
    	register_plugin(PLUGIN, VERSION, AUTHOR)
    	register_event("DeathMsg","death","a")
	register_event("CurWeapon", "ecw", "be", "1=1")
    	register_clcmd("say /kes","menu")
    	vault = nvault_open("kespont")
    }
 
    public death(id){
    	id=read_data(1)
    	if(read_data(3)){
    		pont[id]+=2
    	}
    	else{
    		pont[id]+=1
    	}
    }
 
    public menu(id) 
    {
    	new cim[121]
    	format(cim, charsmax(cim), "wOnly - Pontjaid:\r %d",pont[id])
    	new menu = menu_create(cim, "menu_h" )
	if(elso[id] == 0)
	{
		menu_additem(menu,"\dOnly Elso Kés [50 pont]","1",0)
	}
	else if(elso[id] >= 1)
	{
		menu_additem(menu,"\dOnly Elso Kés [Megszerezve]","1",0)
	}
	if(masodik[id] == 0)
	{
		menu_additem(menu,"\dOnly Második Kés [100 pont]","2",0)
	}
	else if(masodik[id] >= 1)
	{
		menu_additem(menu,"\dOnly Második Kés [Megszerezve]","2",0)
	}
	if(harmadik[id] == 0)
	{
		menu_additem(menu,"\dOnly Harmadik Kés [150 pont]","3",0)
	}
	else if(harmadik[id] >= 1)
	{
		menu_additem(menu,"\dOnly Harmadik Kés [Megszerezve]","3",0)
	}
	if(negyedik[id] == 0)
	{
		menu_additem(menu,"\dOnly Negyedik Kés [200 pont]","4",0)
	}
	else if(negyedik[id] >= 1)
	{
		menu_additem(menu,"\dOnly Negyedik Kés [Megszerezve]","4",0)
	}
	if(otodik[id] == 0)
	{
		menu_additem(menu,"\dOnly Ötödik Kés [250 pont]","5",0)
	}
	else if(otodik[id] >= 1)
	{
		menu_additem(menu,"\dOnly Ötödik Kés [Megszerezve]","5",0)
	}
	if(hatodik[id] == 0)
	{
		menu_additem(menu,"\dOnly Hatodik Kés [300 pont]","6",0)
	}
	else if(hatodik[id] >= 1)
	{
		menu_additem(menu,"\dOnly Hatodik Kés [Megszerezve]","6",0)
	}
	if(hetedik[id] == 0)
	{
		menu_additem(menu,"\dOnly Hetedik Kés [350 pont]","7",0)
	}
	else if(hetedik[id] >= 1)
	{
		menu_additem(menu,"\dOnly Hetedik Kés [Megszerezve]","7",0)
	}
	if(nyolcadik[id] == 0)
	{
		menu_additem(menu,"\dOnly Nyolcadik Kés [400 pont]","8",0)
	}
	else if(nyolcadik[id] == 0)
	{
		menu_additem(menu,"\dOnly Nyolcadik Kés [Megszerezve]","8",0)
	}
	menu_additem(menu,"\dOnly Alap Kés", "9", 0)
    	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    	menu_display(id, menu, 0);
    }
 
    public menu_h(id, menu, item)
    {
    	if( item == MENU_EXIT )
    	{
    		menu_destroy(menu);
    		return PLUGIN_HANDLED;
    }
    	new data[9], szName[64];
    	new access, callback;
    	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
    	new key = str_to_num(data);
 
    	switch(key)
    	{
    		case 1:
			{
    			if(elso[id] == 0){
				if(pont[id] >= 50)
				{
					kes[id] = 0
					elso[id] += 1
					pont[id] -= 50
					ColorChat(id, RED, "^4[Only] » ^x01Sikeresen megvasaroltad.")
				}
				else
				{
					ColorChat(id, RED, "^4[Only] » ^x01Hianyzik meg ^4%d ^1pont!",50-pont[id])
				}
			}
			else if(elso[id] >= 1)
			{
				kes[id] = 0
			}
			}
    		case 2:
			{
    			if(masodik[id] == 0){
				if(pont[id] >= 100)
				{
					kes[id] = 1
					masodik[id] += 1
					pont[id] -= 100
					ColorChat(id, RED, "^4[Only] » ^x01Sikeresen megvasaroltad.")
				}
				else
				{
					ColorChat(id, RED, "^4[Only] » ^x01Hianyzik meg ^4%d ^1pont!",100-pont[id])
				}
			}
			else if(masodik[id] >= 1)
			{
				kes[id] = 1
			}
			}
    		case 3:{
    			if(harmadik[id] == 0){
				if(pont[id] >= 150)
				{
					kes[id] = 2
					harmadik[id] += 1
					pont[id] -= 150
					ColorChat(id, RED, "^4[Only] » ^x01Sikeresen megvasaroltad.")
				}
				else
				{
					ColorChat(id, RED, "^4[Only] » ^x01Hianyzik meg ^4%d ^1pont!",150-pont[id])
				}
			}
			else if(harmadik[id] >= 1)
			{
				kes[id] = 2
			}
				}
    		case 4:{
    			if(negyedik[id] == 0){
				if(pont[id] >= 200)
				{
					kes[id] = 3
					negyedik[id] += 1
					pont[id] -= 200
					ColorChat(id, RED, "^4[Only] » ^x01Sikeresen megvasaroltad.")
				}
				else
				{
					ColorChat(id, RED, "^4[Only] » ^x01Hianyzik meg ^4%d ^1pont!",200-pont[id])
				}
			}
			else if(negyedik[id] >= 1)
			{
				kes[id] = 3
			}
			}
    		case 5:{
    			if(otodik[id] == 0){
				if(pont[id] >= 250)
				{
					kes[id] = 4
					elso[id] += 1
					pont[id] -= 250
					ColorChat(id, RED, "^4[Only] » ^x01Sikeresen megvasaroltad.")
				}
				else
				{
					ColorChat(id, RED, "^4[Only] » ^x01Hianyzik meg ^4%d ^1pont!",250-pont[id])
				}
			}
			else if(otodik[id] >= 1)
			{
				kes[id] = 4
			}
				}
    		case 6:{
    			if(hatodik[id] == 0){
				if(pont[id] >= 300)
				{
					kes[id] = 5
					elso[id] += 1
					pont[id] -= 300
					ColorChat(id, RED, "^4[Only] » ^x01Sikeresen megvasaroltad.")
				}
				else
				{
					ColorChat(id, RED, "^4[Only] » ^x01Hianyzik meg ^4%d ^1pont!",300-pont[id])
				}
			}
			else if(hatodik[id] >= 1)
			{
				kes[id] = 5
			}
				}
    		case 7:{
    			if(hetedik[id] == 0){
				if(pont[id] >= 350)
				{
					kes[id] = 6
					elso[id] += 1
					pont[id] -= 350
					ColorChat(id, RED, "^4[Only] » ^x01Sikeresen megvasaroltad.")
				}
				else
				{
					ColorChat(id, RED, "^4[Only] » ^x01Hianyzik meg ^4%d ^1pont!",350-pont[id])
				}
			}
			else if(hetedik[id] >= 1)
			{
				kes[id] = 6
			}
				}
    		case 8:{
    			if(nyolcadik[id] == 0){
				if(pont[id] >= 400)
				{
					kes[id] = 7
					elso[id] += 1
					pont[id] -= 400
					ColorChat(id, RED, "^4[Only] » ^x01Sikeresen megvasaroltad.")
				}
				else
				{
					ColorChat(id, RED, "^4[Only] » ^x01Hianyzik meg ^4%d ^1pont!",400-pont[id])
				}
			}
			else if(nyolcadik[id] >= 1)
			{
				kes[id] = 7
			}
				}
    		case 9:{
 
    			kes[id] = 8
    			}
		}
				menu_destroy(menu)
				return PLUGIN_HANDLED
    }
 
    public mentes(id)
    {
    	new vaultkey[64],vaultdata[256], name[32]
    	get_user_name(id, name, 31)
    	format(vaultkey,63,"%s-KES", name)
    	format(vaultdata,255,"%d#%d#%d#%d#%d#%d#%d#%d#%d", pont[id], elso[id], masodik[id], harmadik[id], negyedik[id], otodik[id], hatodik[id], hetedik[id], nyolcadik[id])
    	nvault_set(vault,vaultkey,vaultdata)
    	return PLUGIN_CONTINUE
    }
 
    public betoltes(id)
    {
    	new vaultkey[64],vaultdata[256], name[32]
    	get_user_name(id, name, 31)
    	format(vaultkey,63,"%s-KES", name)
	format(vaultdata,255,"%d#%d#%d#%d#%d#%d#%d#%d#%d", pont[id], elso[id], masodik[id], harmadik[id], negyedik[id], otodik[id], hatodik[id], hetedik[id], nyolcadik[id])
    	nvault_get(vault,vaultkey,vaultdata,255)
	replace_all(vaultdata, 255, "#", " ")
 
	new jPont[33]
	new jElso[33]
	new jMasodik[33]
	new jHarmadik[33]
	new jNegyedik[33]
	new jOtodik[33]
	new jHatodik[33]
	new jHetedik[33]
	new jNyolcadik[33]
 
	parse(vaultdata, jPont, 32, jElso, 32, jMasodik, 32, jHarmadik, 32, jNegyedik, 32, jOtodik, 32, jHatodik, 32, jHetedik, 32, jNyolcadik, 32)
 
    	pont[id] = str_to_num(jPont)
	elso[id] = str_to_num(jElso)
	masodik[id] = str_to_num(jMasodik)
	harmadik[id] = str_to_num(jHarmadik)
	negyedik[id] = str_to_num(jNegyedik)
	otodik[id] = str_to_num(jOtodik)
	hatodik[id] = str_to_num(jHatodik)
	hetedik[id] = str_to_num(jHetedik)
	nyolcadik[id] = str_to_num(jNyolcadik)
 
    	return PLUGIN_CONTINUE
    }
 
    public client_putinserver(id)
    {
    	kes[id] = 8
}
 
    public client_disconnect(id)
    {
    	mentes(id)
    }
 
    public client_connect(id)
    {
    	betoltes(id)
    }
 
    public ecw(id)
    {
    new fegyver = get_user_weapon(id)
    if(kes[id] == 8 && fegyver == CSW_KNIFE)
    {
    set_pev(id, pev_viewmodel2, "models/knifers/v_knife.mdl")
    }
    if(kes[id] == 0 && fegyver == CSW_KNIFE)
    {
    set_pev(id, pev_viewmodel2, "models/knifers/v_kes1.mdl")	
    }
    if(kes[id] == 1 && fegyver == CSW_KNIFE)
    {
    set_pev(id, pev_viewmodel2, "models/knifers/v_kes2.mdl")
    }
    if(kes[id] == 2 && fegyver == CSW_KNIFE)
    {
    set_pev(id, pev_viewmodel2, "models/knifers/v_kes3.mdl")
    }
    if(kes[id] == 3 && fegyver == CSW_KNIFE)
    {
    set_pev(id, pev_viewmodel2, "models/knifers/v_kes4.mdl")
    }
    if(kes[id] == 4 && fegyver == CSW_KNIFE)
    {
    set_pev(id, pev_viewmodel2, "models/knifers/v_kes5.mdl")	
    }
    if(kes[id] == 5 && fegyver == CSW_KNIFE)
    {
    set_pev(id, pev_viewmodel2, "models/knifers/v_kes6.mdl")
    }
    if(kes[id] == 6 && fegyver == CSW_KNIFE)
    {
    set_pev(id, pev_viewmodel2, "models/knifers/v_kes7.mdl")
    } 
    if(kes[id] == 7 && fegyver == CSW_KNIFE)
    {
    set_pev(id, pev_viewmodel2, "models/knifers/v_kes8.mdl")
    } 
}