#include <amxmodx>
#include <nvault>
#include <fakemeta>
#include <nvault>
#include <colorchat>
 
#define PLUGIN "Arany fegyverek olestol"
#define VERSION "1.0"
#define AUTHOR "DeRoiD"
 
new ak47_jatekosnezet[] = "models/BS_Fegyverek/v_ak47.mdl" 
new awp_jatekosnezet[]  = "models/BS_Fegyverek/v_awp.mdl" 
new m4a1_jatekosnezet[] = "models/BS_Fegyverek/v_m4a1.mdl" 
new famas_jatekosnezet[] = "models/BS_Fegyverek/v_famas.mdl" 
new deagle_jatekosnezet[] = "models/BS_Fegyverek/v_deagle.mdl" 
new knife_jatekosnezet[] = "models/BS_Fegyverek/v_knife.mdl" 
 
new ak47_oles[33], m4a1_oles[33], awp_oles[33], famas_oles[33], deagle_oles[33], knife_oles[33]
new ak47_ertek, m4a1_ertek, awp_ertek, famas_ertek, deagle_ertek, knife_ertek
new vault
 
public plugin_precache()
{
	precache_model(ak47_jatekosnezet)
 
	precache_model(m4a1_jatekosnezet)
 
	precache_model(awp_jatekosnezet)
 
	precache_model(famas_jatekosnezet)
 
	precache_model(deagle_jatekosnezet)
 
	precache_model(knife_jatekosnezet)
}
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("CurWeapon", "fegyver_valtas", "be", "1=1")
	register_event("DeathMsg","halal","a")
	vault = nvault_open("Aranyfegyverek")
	register_clcmd("say /oleseim","lekeres")
	register_clcmd("say /mykills","lekeres")
 
	ak47_ertek = register_cvar("ak47_ertek","350")
	m4a1_ertek = register_cvar("m4a1_ertek","250")
	awp_ertek = register_cvar("awp_ertek","200")
	famas_ertek = register_cvar("famas_ertek","190")
	deagle_ertek = register_cvar("deagle_ertek","170")
	knife_ertek = register_cvar("knife_ertek","25")
 
}
public fegyver_valtas(id)
{
	new fegyver = get_user_weapon(id)
	if(ak47_oles[id] >= get_pcvar_num(ak47_ertek) && fegyver == CSW_AK47)
	{
		set_pev(id, pev_viewmodel2, ak47_jatekosnezet)
	}
	if(awp_oles[id] >= get_pcvar_num(awp_ertek) && fegyver == CSW_AWP)
	{
		set_pev(id, pev_viewmodel2, awp_jatekosnezet)
	}
	if(m4a1_oles[id] >= get_pcvar_num(m4a1_ertek) && fegyver == CSW_M4A1)
	{
		set_pev(id, pev_viewmodel2, m4a1_jatekosnezet)
	}
	if(famas_oles[id] >= get_pcvar_num(famas_ertek) && fegyver == CSW_FAMAS)
	{
		set_pev(id, pev_viewmodel2, famas_jatekosnezet)
	}
	if(deagle_oles[id] >= get_pcvar_num(deagle_ertek) && fegyver == CSW_DEAGLE)
	{
		set_pev(id, pev_viewmodel2, deagle_jatekosnezet)
	}
	if(knife_oles[id] >= get_pcvar_num(knife_ertek) && fegyver == CSW_KNIFE)
	{
		set_pev(id, pev_viewmodel2, knife_jatekosnezet)
	}
}
public halal()
{
	new attacker = read_data(1)
	new victim = read_data(2)
 
	if(attacker == victim)
	{
	return PLUGIN_HANDLED;
	}
 
	if(get_user_weapon(attacker) == CSW_AWP)
	{
		awp_oles[attacker]++
	}
	else if(get_user_weapon(attacker) == CSW_AK47)
	{
		ak47_oles[attacker]++
	}
	else if(get_user_weapon(attacker) == CSW_M4A1)
	{
		m4a1_oles[attacker]++
	}
	else if(get_user_weapon(attacker) == CSW_FAMAS)
	{
		famas_oles[attacker]++
	}
	else if(get_user_weapon(attacker) == CSW_DEAGLE)
	{
		deagle_oles[attacker]++
	}
	else if(get_user_weapon(attacker) == CSW_KNIFE)
	{
		knife_oles[attacker]++
	}
	return PLUGIN_HANDLED
}
public lekeres(id)
{
	ColorChat(id,GREEN,"[BS] ^3M4A1: ^4%d ^3AK47: ^4%d ^3AWP: ^4%d ^3FAMAS: ^4%d ^3DEAGLE: ^4%d ^3KÉS: ^4%d",m4a1_oles[id],ak47_oles[id],awp_oles[id],famas_oles[id],deagle_oles[id],knife_oles[id])
}
public mentes(id)
{
	new authid[32]
	get_user_authid(id, authid, 31)
	new vaultkey[64],vaultdata[256]
	format(vaultkey,63,"%s", authid)
	format(vaultdata,255,"%i#%i#%i#%i#%i#%i#",m4a1_oles[id],ak47_oles[id],awp_oles[id],famas_oles[id],deagle_oles[id],knife_oles[id])
	nvault_set(vault,vaultkey,vaultdata)
	return PLUGIN_CONTINUE
}
public betoltes(id)
{
	new authid[32]
	get_user_authid(id, authid, 31)
	new vaultkey[64],vaultdata[256]
	format(vaultkey,63,"%s", authid)
	format(vaultdata,255,"%i#%i#%i#%i#%i#%i#",m4a1_oles[id],ak47_oles[id],awp_oles[id],famas_oles[id],deagle_oles[id],knife_oles[id])
	nvault_get(vault,vaultkey,vaultdata,255)
	replace_all(vaultdata, 255, "#", " ")
	new m_o[32], a_o[32], a_ol[32], f_o[32], d_o[32], k_o[32]
	parse(vaultdata, m_o, 31, a_o, 31, a_ol, 31, f_o, 31, d_o, 31, k_o, 31)
	m4a1_oles[id] = str_to_num(m_o)
	ak47_oles[id] = str_to_num(a_o)
	awp_oles[id] = str_to_num(a_ol)
	famas_oles[id] = str_to_num(f_o)
	deagle_oles[id] = str_to_num(d_o)
	knife_oles[id] = str_to_num(k_o)
	return PLUGIN_CONTINUE
}
public client_connect(id)
{
	betoltes(id)
}
public client_disconnect(id)
{
	mentes(id)
}
stock print_color(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")
        replace_all(msg, 190, "á", "á")
        replace_all(msg, 190, "é", "Ă©")
        replace_all(msg, 190, "í", "Ă")
        replace_all(msg, 190, "ó", "Ăł")
        replace_all(msg, 190, "ö", "ö")
        replace_all(msg, 190, "ő", "Ĺ‘")
        replace_all(msg, 190, "ú", "Ăş")
        replace_all(msg, 190, "ü", "ĂĽ")
        replace_all(msg, 190, "ű", "ű")
        replace_all(msg, 190, "Á", "Ă")
        replace_all(msg, 190, "É", "É")
        replace_all(msg, 190, "Í", "ĂŤ")
        replace_all(msg, 190, "Ó", "Ă“")
        replace_all(msg, 190, "Ö", "Ă–")
        replace_all(msg, 190, "Ő", "Ĺ")
        replace_all(msg, 190, "Ú", "Ăš")
        replace_all(msg, 190, "Ü", "Ăś")
        replace_all(msg, 190, "Ű", "Ű")        
 
        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()
                        }
                }
        }
        return PLUGIN_HANDLED
}