#include <amxmodx>
    #include <engine>
    #include <nvault>
    #include <cstrike>
    #include <fun>
    #include <fakemeta>
    #include <hamsandwich>
    #include <colorchat>
 
    #define PLUGIN "USP olestol"
    #define VERSION "1.0"
    #define AUTHOR "DeR0iD'"
 
    new fegyverek[33], vault, pont[33]
 
    public plugin_precache() {
    precache_model("models/sg_usp/usp_comet.mdl")
    precache_model("models/sg_usp/usp_tigris.mdl")
    precache_model("models/sg_usp/usp_spitfire.mdl")
    precache_model("models/sg_usp/usp_arany.mdl")
    precache_model("models/sg_usp/usp_ezust.mdl")
    precache_model("models/sg_usp/usp_bronz.mdl")
    precache_model("models/sg_usp/usp_carbon.mdl")
    precache_model("models/sg_usp/usp_jeg.mdl")
    precache_model("models/sg_usp/usp_kfus.mdl")
    precache_model("models/sg_usp/usp_piros.mdl")
    }
    public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("DeathMsg","death","a")
    register_clcmd("say /usp","menu")
    vault = nvault_open("kes_olessert")
    register_event("CurWeapon", "ecw", "be", "1=1")
    }
    public ecw(id)
    {
    new fegyver = get_user_weapon(id)
    if(fegyverek[id] == 1 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp/usp_comet.mdl")	
    }
    if(fegyverek[id] == 2 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp/usp_tigris.mdl")
    }
    if(fegyverek[id] == 3 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/BS/xsg_usp/usp_spitfire.mdl")	
    if(fegyverek[id] == 4 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp/usp_arany.mdl")	
    if(fegyverek[id] == 5 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp/usp_ezust.mdl")	
    if(fegyverek[id] == 6 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp/usp_bronz.mdl")	
    if(fegyverek[id] == 7 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp/usp_carbon.mdl")	
    if(fegyverek[id] == 8 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp/usp_jeg.mdl")	
    if(fegyverek[id] == 9 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp/usp_kfus.mdl")
    {	
    if(fegyverek[id] == 10 && fegyver == CSW_USP)
    {
    set_pev(id, pev_viewmodel2, "models/sg_usp/usp_piros.mdl")
    {	
    if(fegyverek[id] == 11 && fegyver == CSW_USP)
    {
    {		
    }
    }
    }
    }
    public death(){
    new killer = read_data(1)
    new victim = read_data(2)
 
    if(killer == victim)
    {
    return PLUGIN_HANDLED
    }
    pont[killer] += 3 // Mennyi pontot kapjon egy ölésért
    return PLUGIN_HANDLED
    }
    public menu(id) {
    new cim[121]
    format(cim, charsmax(cim), "\r[SG] \yUSP Menü: ^n\rPontjaid: \y%d", pont[id])
    new menu = menu_create(cim, "menu_h")
    if(pont[id] >= 200)
    menu_additem(menu,"\rComet \wUSP \y[Feloldva]","1",0)
    else
    menu_additem(menu,"\rTigris \wUSP \d[200 Pont]","0",0)
    if(pont[id] >= 300)
    menu_additem(menu,"\rSpitefire \wUSP \y[Feloldva]","2",0)
    else
    menu_additem(menu,"\rArany \wUSP \d[300 Pont]","0",0)
    if(pont[id] >= 500)
    menu_additem(menu,"\rEzüst \wUSP \y[Feloldva]","3",0)
    else
    menu_additem(menu,"\rBronz \wUSP \d[500 Pont]","0",0)
    if(pont[id] >= 700)
    menu_additem(menu,"\rCarbon \wUSP \y[Feloldva]","4",0)
    else
    menu_additem(menu,"\rJég \wUSP \d[700 Pont]","0",0)
    if(pont[id] >= 900)
    menu_additem(menu,"\rKFUS \wUSP \y[Feloldva]","5",0)
    else
    menu_additem(menu,"\yPiros \wUSP \d[900 Pont]","0",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 0: ColorChat(id, RED, "^3[SG] » ^x03Sajnos nincs elég pontod!")
    case 1:{
    if(is_user_alive(id) && pont[id] >= 100)
    {
    pont[id] -= 100
    strip_user_weapons(id)
    give_item(id, "weapon_knife")
    give_item(id, "weapon_deagle")
    give_item(id, "ammo_50ae");
    give_item(id, "ammo_50ae");
    give_item(id, "ammo_50ae");
    fegyverek[id] = 1
    ColorChat(id, RED, "^3[SG] » ^x03Sikeres választás!")
    }
    }
    case 2:{
    if(is_user_alive(id) && pont[id] >= 150)
    {
    pont[id] -= 150
    strip_user_weapons(id)
    give_item(id, "weapon_usp")
    fegyverek[id] = 2
    ColorChat(id, RED, "^3[SG] » ^x03Sikeres választás!")
    }
    }
    case 3:{
    if(is_user_alive(id) && pont[id] >= 250)
    {
    pont[id] -= 250
    strip_user_weapons(id)
    give_item(id, "weapon_usp")
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    fegyverek[id] = 3
    ColorChat(id, RED, "^3[SG] » ^x03Sikeres választás!")
    }
    }
    case 4:{
    if(is_user_alive(id) && pont[id] >= 200)
    {
    pont[id] -= 200
    strip_user_weapons(id)
    give_item(id, "weapon_usp")
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    fegyverek[id] = 4
    ColorChat(id, RED, "^3[SG] » ^x03Sikeres választás!")
    }
    }
    case 5:{
    if(is_user_alive(id) && pont[id] >= 300)
    {
    pont[id] -= 300
    strip_user_weapons(id)
    give_item(id, "weapon_usp")
    give_item(id, "ammo_338magnum");
    give_item(id, "ammo_338magnum");
    give_item(id, "ammo_338magnum");
    fegyverek[id] = 5
    ColorChat(id, RED, "^3[SG] » ^x03Sikeres választás!")
    }
    }
    }
    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,"%i#%i", pont[id], fegyverek[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,"%i#%i", pont[id], fegyverek[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)
    pont[id] = str_to_num(m_o)
    fegyverek[id] = str_to_num(u_o)
 
    return PLUGIN_CONTINUE
    }
    public client_disconnect(id)
    {
    mentes(id)
    }
    public client_connect(id)
    {
    betoltes(id)
    }