#include <amxmodx>
        #include <engine>
        #include <nvault>
        #include <cstrike>
        #include <fun>
        #include <fakemeta>
        #include <hamsandwich>
        #include <colorchat>
 
 
 
        #define PLUGIN "USP Menu"
        #define VERSION "1.0"
        #define AUTHOR "DeRoiD"
 
        new pont[33], usp[33], vault
 
 
        public plugin_precache() {
 
        precache_model("models/v_usp.mdl")
        precache_model("models/allstarz/v_1.mdl")
        precache_model("models/allstarz/v_2.mdl")
        precache_model("models/allstarz/v_3.mdl")
        precache_model("models/allstarz/v_4.mdl")
        precache_model("models/allstarz/v_5.mdl")
        precache_model("models/allstarz/v_6.mdl")
 
 
        }
 
        public plugin_init() {
 
        register_plugin(PLUGIN, VERSION, AUTHOR)
 
        register_event("DeathMsg","death","a")
 
        register_clcmd("say /usp","menu")
        register_clcmd("say /menu","menu")
 
        vault = nvault_open("ment_nvault")
 
        register_event("CurWeapon", "ecw", "be", "1=1")
 
 
        }
 
        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/allstarz/v_1.mdl")  
        }
        if(usp[id] == 2 && fegyver == CSW_USP)
        {
        set_pev(id, pev_viewmodel2, "models/allstarz/v_2.mdl")
        }
        if(usp[id] == 3 && fegyver == CSW_USP)
        {
        set_pev(id, pev_viewmodel2, "models/allstarz/v_3.mdl")  
        }
        if(usp[id] == 4 && fegyver == CSW_USP)
        {
        set_pev(id, pev_viewmodel2, "models/allstarz/v_4.mdl")
        }
        if(usp[id] == 5 && fegyver == CSW_USP)
        {
        set_pev(id, pev_viewmodel2, "models/allstarz/v_5.mdl")
        }
        if(usp[id] == 6 && fegyver == CSW_USP)
        {
        set_pev(id, pev_viewmodel2, "models/allstarz/v_6.mdl")
        }
 
        }
 
        public death(){
 
        new killer = read_data(1)
 
        new victim = read_data(2)
 
 
 
        if(killer == victim)
 
        {
 
        return PLUGIN_HANDLED
 
        }
 
        pont[killer]++
 
        return PLUGIN_HANDLED
 
        }
 
        public menu(id) {
 
        new cim[121]
        format(cim, charsmax(cim), "\r.:[R\w4\yZ[\d3R]\r:. \wUSP Menu^n|\rPontszám\d[%d]",pont[id])
        new menu = menu_create(cim, "menu_h" )
 
        menu_additem(menu,"\r.:[R\w4\yZ[\d3R]\r:. USP \w[1] \r| \y[Megszerezve]","1",0)
 
        if(pont[id] >= 10)
 
        menu_additem(menu,"\r.:[R\w4\yZ[\d3R]\r:. USP \w[2] \r| \y[Megszerezve] ","2",0)
 
        else
 
        menu_additem(menu,"\d.:[AllStarZ]:. USP \w[2] \w| \r[10 pont]-[Lezarva]","2",0)
 
        if(pont[id] >= 30)
 
        menu_additem(menu,"\r.:[R\w4\yZ[\d3R]\r:. USP \w[3] \r| \y[Megszerezve] \y","3",0)
 
        else
 
        menu_additem(menu,"\d.:[AllStarZ]:. USP \w[3] \w| \r[30 pont]-[Lezarva]","3",0)
 
        if(pont[id] >= 75)
 
        menu_additem(menu,"\r.:[R\w4\yZ[\d3R]\r:. USP \w[4] \r| \y[Megszerezve] \y","4",0)
 
        else
 
        menu_additem(menu,"\d.:[AllStarZ]:. USP \w[4] \w| \r[50 pont]-[Lezarva]","4",0)
 
        if(pont[id] >= 100)
 
        menu_additem(menu,"\r.:[R\w4\yZ[\d3R]\r:. USP \w[5] \r| \y[Megszerezve] ","5",0)
 
        else
 
        menu_additem(menu,"\d.:[AllStarZ]:. USP \w[5] \w| \r[100 pont]-[Lezarva]","5",0)
 
        if(pont[id] >= 300)
 
        menu_additem(menu,"\r.:[R\w4\yZ[\d3R]\r:. USP \w[6] \r| \y[Megszerezve] ","5",0)
 
        else
 
        menu_additem(menu,"\d.:[RAllStarZ]:. USP \w[6] \w| \r[200 pont]-[Lezarva]","5",0)
 
        if(pont[id] >= 500)
 
        menu_additem(menu,"\r.:[R\w4\yZ[\d3R]\r:. USP \w[7] \r| \y[Megszerezve] ","5",0)
 
        else
 
        menu_additem(menu,"\d.:[AllStarZ]:. USP \w[7] \w| \r[500 pont]-[Lezarva]","5",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(pont[id] >= 0)
 
        usp[id] = 0
 
        else
 
        ColorChat(id, GREEN, ".:[AllStarZ]:.-USP Menü » Ez alap USP, nem kell feloldanod!")
 
        }
 
        case 2:{
 
        if(pont[id] >= 10)
 
        usp[id] = 1
 
        else
 
        ColorChat(id, RED, "^4.:[AllStarZ]:.-USP Menu -> ^4*^3Tul keves pontod van!^4*")
 
        }
 
        case 3:{
 
        if(pont[id] >= 30)
 
        usp[id] = 2
 
        else
 
        ColorChat(id, RED, "^4.:[AllStarZ]:.-USP Menu -> ^4*^3Tul keves pontod van!^4*")
        }
        case 4:{
 
        if(pont[id] >= 75)
 
        usp[id] = 3
 
        else
 
        ColorChat(id, RED, "^4.:[AllStarZ:.-USP Menu -> ^4*^3Tul keves pontod van!^4*")
 
        }
        case 5:{
 
        if(pont[id] >= 100)
 
        usp[id] = 4
 
        else
 
        ColorChat(id, RED, "^4.:[AllStarZ]:.-USP Menu -> ^4*^3Tul keves pontod van!^4*")
 
        }
        case 6:{
 
        if(pont[id] >= 300)
 
        usp[id] = 5
 
        else
 
        ColorChat(id, RED, "^4.:[AllStarZ]:.-USP Menu -> ^4*^3Tul keves pontod van!^4*")
 
        }
        case 7:{
 
        if(pont[id] >= 500)
 
        usp[id] = 6
 
        else
 
        ColorChat(id, RED, "^4.:[AllStarZ]:.-USP Menu -> ^4*^3Tul keves pontod van!^4*")
 
        }
 
        }
 
        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", pont[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)
 
        pont[id] = str_to_num(vaultdata)
 
        return PLUGIN_CONTINUE
 
        }
 
        public client_disconnect(id)
 
        {
 
        mentes(id)
 
        }
 
        public client_connect(id)
 
        {
 
        betoltes(id)
 
        }
 
        public kijelzo(){
 
        new players[32], szam, id
 
        get_players(players, szam)
 
        for(new i; i<szam; i++){
 
        id = players[i]
 
        }
 
        }