View Single Post
aEEk
Member
Join Date: May 2012
Location: Romania
Old 05-26-2020 , 15:53   Re: [INC] nVault Array
Reply With Quote #7

Hello @Bugsy, I am facing a problem regarding Loading and Saving data using nvault_array.
Players data is missing sometimes, not immediately after changelevel... they are able to play all day and tomorrow all of the data, skins, keys, etc are not in their inventory. How is that possible? Give me a hint, I am not so friendly with SQL saving and loading data....

Source:
PHP Code:
LoadData(id)
{
    if(!
is_user_connected(id) && !isUserLoged[id])
    {
        return 
1;
    }

    new 
auth[32], szKey[32];
    
    switch(
get_pcvar_num(RANK_SAVE_TYPE))
    {
        case 
1get_user_ip(idauthcharsmax(auth), 1)
        case 
2get_user_name(idauthcharsmax(auth))
        case 
3get_user_authid(idauthcharsmax(auth))
    }    
    
    
// LOAD DATABASE to USER ID
    
formatex(szKeycharsmax(szKey), "%s-DB"auth);

    if(
nvault_get_array(vault_database_idszKeyuserDATA[id][ePlayerData:0], sizeof(userDATA[])))
    {
        
PLAYER_LEVEL[id]         =     userDATAid ][ pdLevel ];
        
PLAYER_XP[id]            =    userDATAid ][ pdExperience ];
        
PLAYER_XP_FULL[id]        =    userDATAid ][ pdFullXP ];
        
PLAYER_MONEY[id]        =    userDATAid ][ pdPoints ];
        
PLAYER_KEYS[id]            =    userDATAid ][ pdKeys ];

        for(new 
1<= MAX_CASESi++)
        {
            
playerCases[i][id]     = userDATA[id][pdCases][i];
        }
    }

    
// LOAD SKINS to USER ID
    
formatex(szKeycharsmax(szKey), "%s-SKINS"auth);

    if(
nvault_get_array(vault_skins_idszKeyuserSKINS[id][ePlayerSkins:0], sizeof(userSKINS[])))
    {                
        for(new 
1ALL_WEAPONSi++)
        {
            
playerSkin[i][id]     = userSKINS[id][pdSkinsVault][i];
        }
    }

    
// LOAD STATTRAK SKINS to USER ID
    
formatex(szKeycharsmax(szKey), "%s-STTK"auth);

    if(
nvault_get_array(vault_stattrak_idszKeyuserSTATTRAK[id][ePlayerStattrak:0], sizeof(userSTATTRAK[])))
    {        
        for(new 
1100i++)
        {
            
stattrak[i][id]     = userSTATTRAK[id][pdStatTrak][i];
            
kill[i][id]         = userSTATTRAK[id][pdStatTrakKills][i];
        }
    }

    
// LOAD SELECTED SKINS to USER ID
    
formatex(szKeycharsmax(szKey), "%s-USKINS"auth);

    if(
nvault_get_array(vault_uskins_idszKeyuserUSKINS[id][ePlayerUskins:0], sizeof(userUSKINS[])))
    {
        for(new 
0WEAPONSKINi++)
        {
            
UsingWeapon[i][id]     = userUSKINS[id][pdSelectedSkin][i];
        }
    }
    
    
check_level(id1);
    return 
0;
}

SaveData(id)
{    
    if(!
is_user_connected(id) && !isUserLoged[id])
    {
        return 
1;
    }    
    
    new 
auth[32], szKey[32], casesNumberskinsNumbersttNumberkillsNumberskinSelected;
    
    switch(
get_pcvar_num(RANK_SAVE_TYPE))
    {
        case 
1get_user_ip(idauthcharsmax(auth), 1)
        case 
2get_user_name(idauthcharsmax(auth))
        case 
3get_user_authid(idauthcharsmax(auth))
    }

    
// SAVE DATABASE to USER ID
    
formatex(szKeycharsmax(szKey), "%s-DB"auth);

    
userDATAid ][ pdLevel ]            = PLAYER_LEVEL[id];
    
userDATAid ][ pdExperience ]         = PLAYER_XP[id];
    
userDATAid ][ pdFullXP ]            = PLAYER_XP_FULL[id];
    
userDATAid ][ pdPoints ]             = PLAYER_MONEY[id];
    
userDATAid ][ pdKeys ]             = PLAYER_KEYS[id];

    for(new 
1<= MAX_CASESi++)
    {
        if(
MAX_CASES)
            break;
        
        if(
playerCases[i][id] < 0)
            
playerCases[i][id] = 0

        casesNumber 
playerCases[i][id];        
          
userDATAid ][ pdCases ][i]     = _:casesNumber;
    }
    
nvault_set_array(vault_database_idszKeyuserDATAid ][ ePlayerData:], sizeofuserDATA[] ));

    
// SAVE SKINS to USER ID
    
formatex(szKeycharsmax(szKey), "%s-SKINS"auth);

    for(new 
1ALL_WEAPONSi++)
    {
        if(
MAX)
            break;

        if(
playerSkin[i][id] < 0)
            
playerSkin[i][id] = 0

        skinsNumber 
playerSkin[i][id];

        
userSKINSid ][ pdSkinsVault ][ ] = _:skinsNumber;    
    }
    
nvault_set_array(vault_skins_idszKeyuserSKINSid ][ ePlayerSkins:], sizeofuserSKINS[] ));

    
// SAVE STATTRAK SKINS to USER ID
    
formatex(szKeycharsmax(szKey), "%s-STTK"auth);

    for(new 
1ALL_WEAPONSi++)
    {
        if(
MAX)
            break;
        
        if(
stattrak[i][id] < 0)
            
stattrak[i][id] = 0

        
if(kill[i][id] < 0)
            
kill[i][id] = 0

        sttNumber 
stattrak[i][id];
        
killsNumber kill[i][id];

        
userSTATTRAKid ][ pdStatTrak ][ ] = _:sttNumber;
        
userSTATTRAKid ][ pdStatTrakKills ][ ] = _:killsNumber;        
    }
    
nvault_set_array(vault_stattrak_idszKeyuserSTATTRAKid ][ ePlayerStattrak:], sizeofuserSTATTRAK[] ));

    
// SAVE SELECTED SKINS to USER ID
    
formatex(szKeycharsmax(szKey), "%s-USKINS"auth);

    for(new 
0WEAPONSKINi++)
    {
        
skinSelected UsingWeapon[i][id];        
        
userUSKINSid ][ pdSelectedSkin ][ ] = _:skinSelected;
    }
    
nvault_set_array(vault_uskins_idszKeyuserUSKINSid ][ ePlayerUskins:], sizeofuserUSKINS[] ));
    

    return 
0;

how much information can be stored using nvault_array?

Last edited by aEEk; 05-26-2020 at 15:54.
aEEk is offline
Send a message via Yahoo to aEEk Send a message via Skype™ to aEEk