#include <amxmodx>
    #include <engine>
    #include <nvault>
    #include <cstrike>
    #include <fun>
    #include <fakemeta>
    #include <hamsandwich>
    #include <colorchat>
 
    #define PLUGIN "Usp pontért"
    #define VERSION "1.0"
    #define AUTHOR "Fasztujdki"
 
    new oles[33], usp[33], vault
 
    public plugin_precache() {
    precache_model("models/sg_usp_christmas/arany.mdl")
    precache_model("models/sg_usp_christmas/piros.mdl")
    precache_model("models/sg_usp_christmas/tigris.mdl")
    precache_model("models/sg_usp_christmas/spitfire.mdl")
    precache_model("models/sg_usp_christmas/golden.mdl")
    precache_model("models/sg_usp_christmas/goldenv2.mdl")
    precache_model("models/sg_usp_christmas/kek.mdl")
    }
    public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("DeathMsg","death","a")
    register_clcmd("say /usp","menu")
    vault = nvault_open("uspolesert")
    register_event("CurWeapon", "ecw", "be", "1=1")
    set_task(0.1, "kijelzo", 0, _, _, "b")
    register_clcmd("say /pont", "kerdezes")
    }
    public ecw(id)
    {
    new fegyver = get_user_weapon(id)
    if(usp[id] == 0 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/v_usp.mdl")	
    }
    if(usp[id] == 1 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp_christmas/arany.mdl")
    }
    if(usp[id] == 2 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp_christmas/piros.mdl")
    }
    if(usp[id] == 3 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp_christmas/tigris.mdl")
    }
    if(usp[id] == 4 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp_christmas/spitfire.mdl")
    }
    if(usp[id] == 5 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp_christmas/golden.mdl")
    }
    if(usp[id] == 6 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp_christmas/goldenv2.mdl")
    }
    if(usp[id] == 7 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp_christmas/kek.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("\d[\rS\yG\d] \rDeath\yrun \d[\yChristmas\w~\rShop\d]^n\d[\rPontjaid \w : \y%d\d]", "menu_h", oles[id])
    if(oles[id] >= 100)
    menu_additem(menu,"\yArany USP \r[Feloldva]","1",0)
    else
    menu_additem(menu,"\yArany USP \w[100 Pont]","1",0)
    if(oles[id] >= 150)
    menu_additem(menu,"\yPiros USP \r[Feloldva]","2",0)
    else
    menu_additem(menu,"\yPiros USP\w[150 Pont]","2",0)
    if(oles[id] >= 200)
    menu_additem(menu,"\yTigris USP\r[Feloldva]","3",0)
    else
    menu_additem(menu,"\yTigris USP\w[200 Pont]","3",0)
    if(oles[id] >= 300)
    menu_additem(menu,"\ySpitFire USP\r[Feloldva]","4",0)
    else
    menu_additem(menu,"\ySpitFire USP\w[300 Pont]","4",0)
    if(oles[id] >= 475)
    menu_additem(menu,"\yGolden USP\r[Feloldva]","5",0)
    else
    menu_additem(menu,"\yGolden USP\w[475 Pont]","5",0)
    if(oles[id] >= 500)
    menu_additem(menu,"\yGoldenV2 USP\r[Feloldva]","6",0)
    else
    menu_additem(menu,"\yGoldenV2 USP\w[500 Pont]","6",0)
    if(oles[id] >= 550)
    menu_additem(menu,"\yKék USP\r[Feloldva]","6",0)
    else
    menu_additem(menu,"\yKék USP\w[500 Pont]","6",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] >= 100)
    usp[id] = 1
    else
    ColorChat(id, GREEN, "[SG] ^1Sajnos, nincs elég pontod!")
    }
    case 2:{
    if(oles[id] >= 150)
    usp[id] = 2
    else
    ColorChat(id, GREEN, "[SG] ^1Sajnos, nincs elég pontod!")
    }
    case 3:{
    if(oles[id] >= 300)
    usp[id] = 3
    else
    ColorChat(id, GREEN, "[SG] ^1Sajnos, nincs elég pontod!")
    }
    case 4:{
    if(oles[id] >= 300)
    usp[id] = 4
    else
    ColorChat(id, GREEN, "[SG] ^1Sajnos, nincs elég pontod!")
    }
    case 5:{
    if(oles[id] >= 475)
    usp[id] = 5
    else
    ColorChat(id, GREEN, "[SG] ^1Sajnos, nincs elég pontod!")
    }
    case 6:{
    if(oles[id] >= 500)
    usp[id] = 6
    else
    ColorChat(id, GREEN, "[SG] ^1Sajnos, nincs elég pontod!")
    }
    case 7:{
    if(oles[id] >= 550)
    usp[id] = 7
    else
    ColorChat(id, GREEN, "[SG] ^1Sajnos, nincs elég pontod!")
    }
    }	
    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-usppont", name)
    format(vaultdata,255,"%i#%i", oles[id], usp[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-usppont", name)
    format(vaultdata,255,"%i#%i", oles[id], usp[id])
    nvault_get(vault,vaultkey,vaultdata,255)
    replace_all(vaultdata, 255, "#", " ")
    new m_o[32], u_o[32]
    parse(vaultdata, m_o, 31, u_o, 31)
    oles[id] = str_to_num(m_o)
    usp[id] = str_to_num(u_o)
 
    return PLUGIN_CONTINUE
    }
    public client_disconnect(id)
    {
    mentes(id)
    }
    public client_connect(id)
    {
    betoltes(id)
    }
 public kerdezes(id)
 {
 	ColorChat(id, GREEN,"[Klán] ^1Neked %d pontod van!", oles[id])
 }