#include <amxmodx>
#include <engine>
#include <nvault>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <colorchat>
 
#define PLUGIN "Kes olesert"
#define VERSION "1.0"
#define AUTHOR "DeRoiD"
 
new oles[33], kes[33], vault
 
public plugin_precache() {
	precache_model("models/reload_alap.mdl")
	precache_model("models/reload_kesek/reload_kes1.mdl")
	precache_model("models/reload_kesek/reload_kes2.mdl")
	precache_model("models/reload_kesek/reload_kes3.mdl")
	precache_model("models/reload_kesek/reload_kes4.mdl")
	precache_model("models/reload_kesek/reload_kes5.mdl")
 
}
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("DeathMsg","death","a")
	register_clcmd("say /kes","menu")
	register_clcmd("say /knife","menu")
	register_clcmd("say /oles","ole")
	vault = nvault_open("kes_olessert")
	register_event("CurWeapon", "ecw", "be", "1=1")
	set_task(0.1, "kijelzo", 0, _, _, "b")
}
public ecw(id)
{
	new fegyver = get_user_weapon(id)
	if(kes[id] == 0 && fegyver == CSW_KNIFE)
	{
	set_pev(id, pev_viewmodel2, "models/reload_alap.mdl")
	}
	if(kes[id] == 1 && fegyver == CSW_KNIFE)
	{
	set_pev(id, pev_viewmodel2, "models/reload_kesek/reload_kes1.mdl")	
	}
	if(kes[id] == 2 && fegyver == CSW_KNIFE)
	{
	set_pev(id, pev_viewmodel2, "models/reload_kesek/reload_kes2.mdl")
	}
	if(kes[id] == 2 && fegyver == CSW_KNIFE)
	{
	set_pev(id, pev_viewmodel2, "models/reload_kesek/reload_kes3.mdl")
	}
	if(kes[id] == 2 && fegyver == CSW_KNIFE)
	{
	set_pev(id, pev_viewmodel2, "models/reload_kesek/reload_kes4.mdl")
	}
	if(kes[id] == 2 && fegyver == CSW_KNIFE)
	{
	set_pev(id, pev_viewmodel2, "models/reload_kesek/reload_kes5.mdl")
	}
}
public death(){
	new killer = read_data(1)
	new victim = read_data(2)
 
	if(killer == victim)
	{
		return PLUGIN_HANDLED
	}
	oles[killer]++
	return PLUGIN_HANDLED
}
public menu(id) {
	new menu = menu_create("\rRe\wlo\yaD \wKes\rMenu \yBy:\rV!rus\wHD", "menu_h")
	menu_additem(menu,"\rRe\wlo\yaD \wAlap \rKes","\r1",0)
	if(oles[id] >= 1000)
		menu_additem(menu,"\rRe\wlo\yaD \wKes \r1","\r2",0)
	else
		menu_additem(menu,"\dReloaD Kes 1","\r2",0)
	if(oles[id] >= 2500)
		menu_additem(menu,"\rRe\wlo\yaD \wKes \r2","\r3",0)
	else
		menu_additem(menu,"\dReloaD Kes 2","\r3",0)
	if(oles[id] >= 5000)
		menu_additem(menu,"rRe\wlo\yaD \wKes \r3","\r4",0)
	else
		menu_additem(menu,"\dReloaD Kes 3","\r4",0)
	if(oles[id] >= 10000)
		menu_additem(menu,"\rRe\wlo\yaD \wKes \r4","\r5",0)
	else
		menu_additem(menu,"\dReloaD Kes 4","\r5",0)
	if(oles[id] >= 15000)
		menu_additem(menu,"rRe\wlo\yaD \wKes \r5","\r6",0)
	else
		menu_additem(menu,"\dReloaD Kes 5","\r6",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(oles[id] >= 0)
				kes[id] = 1
		}
		case 2:{
			if(oles[id] >= 1000)
				kes[id] = 2
			else
				ColorChat(id, GREY, "A^x04 kes^x01 hasznalatahoz^x04 1000 ^x03oles ^x01szukseges!")
		}
		case 3:{
			if(oles[id] >= 2500)
				kes[id] = 3
			else
				ColorChat(id, GREY, "A^x04 kes^x01 hasznalatahoz^x04 2500 ^x03oles ^x01szukseges!")
		}
		case 4:{
			if(oles[id] >= 5000)
				kes[id] = 4
			else
				ColorChat(id, GREY, "A^x04 kes^x01 hasznalatahoz^x04 5000 ^x03oles ^x01szukseges!")
		}
		case 5:{
			if(oles[id] >= 10000)
				kes[id] = 5
			else
				ColorChat(id, GREY, "A^x04 kes^x01 hasznalatahoz^x04 10000 ^x03oles ^x01szukseges!")
		}
		case 6:{
			if(oles[id] >= 15000)
				kes[id] = 6
			else
				ColorChat(id, GREY, "A^x04 kes^x01 hasznalatahoz^x04 15000 ^x03oles ^x01szukseges!")
		}
 
	}	
	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", oles[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)
	nvault_get(vault,vaultkey,vaultdata,255)
	oles[id] = str_to_num(vaultdata)
	return PLUGIN_CONTINUE
}
public client_disconnect(id)
{
	mentes(id)
}
public client_connect(id)
{
	betoltes(id)
}
public ole(id)
{
			ColorChat(id, RED, "Oleseid : ^4%d", oles[id])
	}