Raised This Month: $51 Target: $400
 12% 

How to save in nvault?


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Gasior
Member
Join Date: Mar 2012
Old 11-21-2016 , 10:45   How to save in nvault?
Reply With Quote #1

Hi guys,

I try to edit my plugin in which VIP has an option of selecting one of 4 models per team, I just try to make it save the option, so with every map change he doesn't have to type /modele again.

I tried it myself but it just doesn't save the option, any suggestions?

Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine> 
#include <nvault>


#pragma semicolon 1


#define MENUITEM_DISABLED   (1<<26)


new g_Model[33];
new plik_vault;


new g_ModelFiles[][][] = {
    {"saperterro", "ctsplinter"},
    {"oranget", "camoct"},
    {"phoenixt", "urbanos"},
    {"viptt", "snowct"}
};


new g_ModelNames[][] = {
    "Model 1",
    "Model 2",
    "Model 3",
    "Model 4"
};


#if ( sizeof g_ModelNames != sizeof g_ModelFiles )
    #error You have to format the g_ModelFiles to the same size as g_ModelNames
#endif


public plugin_init() {
register_plugin("Modele VIP", "1.3", "Gasior");
    
register_event("ResetHUD", "resetModel", "b");
register_clcmd("say /modele", "modelevip");
    
plik_vault = nvault_open("g_Model");
if(plik_vault == INVALID_HANDLE)
set_fail_state("Nie moge otworzyc pliku :/");
    
return PLUGIN_CONTINUE;
}


public plugin_precache() {


    new tempfile[128];
    
    for ( new i = 0 ; i < sizeof g_ModelFiles ; i++ ) {
        for ( new j = 0 ; j < 2 ; j++ ) {
            formatex(tempfile, 127, "models/player/%s/%s.mdl", g_ModelFiles[i][j], g_ModelFiles[i][j]);
            precache_model(tempfile);
        }
    }
}


public client_connect(id) {
    g_Model[id] = 0;
    LoadData(id);
}


public modelevip(id) {
    if ( ! ( get_user_flags(id) & ADMIN_LEVEL_H ) )
        return;
    
    new menu = menu_create( "\yWybierz swoj VIP Model:", "menu_handler" );
    
    new i;
    for ( i = 0 ; i < sizeof g_ModelFiles ; i++ ) {
        new menuitem[64];
        formatex(menuitem, charsmax(menuitem), "\%c%s", g_Model[id] - 1 == i ? 'd' : 'w', g_ModelNames[i]);
        menu_additem(menu, menuitem,_, g_Model[id] - 1 == i ? MENUITEM_DISABLED : 0);
    }
    
    menu_addblank(menu, 0);
    menu_additem(menu, "Pokaz Modele");
    menu_addblank(menu, 0);
    menu_addtext(menu, "Dziekujemy za bycie VIPem na FFA ProjektSpark.pl", 0);
    
    menu_display(id, menu);
}


public menu_handler(id, menu, item) {


if ( item == MENU_EXIT ) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}


if ( item == sizeof g_ModelFiles ) {
g_Model[id] = 0;
}
else {
g_Model[id] = item + 1;
}
resetModel(id);


switch(item)
{
case 4:
show_motd(id, "modele.txt", "Modele");
}


SaveData(id);
        
return PLUGIN_CONTINUE;
}


public resetModel(id) {


    if ( ! is_user_connected(id) )
        return;
    
    new userTeam2, CsTeams:userTeam = cs_get_user_team(id);
    
    switch ( userTeam ) {
        case CS_TEAM_T: userTeam2 = 1;
        case CS_TEAM_CT: userTeam2 = 2;
    }
    
    if ( g_Model[id] && userTeam2 )
        cs_set_user_model(id, g_ModelFiles[g_Model[id] - 1][userTeam2 - 1]);
    else
        cs_reset_user_model(id);


    return;
}


public SaveData(id)
{ 
new authid[32];
get_user_authid(id, authid, 31);


new vaultkey[64],vaultdata[64];
formatex(vaultkey, 63, "%s-modele", authid);
formatex(vaultdata,63,"%d", g_Model[id]);
nvault_set(plik_vault,vaultkey,vaultdata);


return PLUGIN_CONTINUE;
}


public LoadData(id) 
{ 
new authid[32];
get_user_authid(id, authid, 31);
new vaultkey[64],vaultdata[64];
formatex(vaultkey, 63, "%s-modele", authid);


g_Model[id] = str_to_num(vaultdata);


format(vaultkey, 63, "%s-modele", authid);
get_vaultdata(vaultkey, vaultdata, 63);


return PLUGIN_CONTINUE;
}
Gasior is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 04:58.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode