Member
Join Date: May 2012
Location: Romania
|
05-26-2020
, 15:53
Re: [INC] nVault Array
|
#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 1: get_user_ip(id, auth, charsmax(auth), 1) case 2: get_user_name(id, auth, charsmax(auth)) case 3: get_user_authid(id, auth, charsmax(auth)) } // LOAD DATABASE to USER ID formatex(szKey, charsmax(szKey), "%s-DB", auth);
if(nvault_get_array(vault_database_id, szKey, userDATA[id][ePlayerData:0], sizeof(userDATA[]))) { PLAYER_LEVEL[id] = userDATA[ id ][ pdLevel ]; PLAYER_XP[id] = userDATA[ id ][ pdExperience ]; PLAYER_XP_FULL[id] = userDATA[ id ][ pdFullXP ]; PLAYER_MONEY[id] = userDATA[ id ][ pdPoints ]; PLAYER_KEYS[id] = userDATA[ id ][ pdKeys ];
for(new i = 1; i <= MAX_CASES; i++) { playerCases[i][id] = userDATA[id][pdCases][i]; } }
// LOAD SKINS to USER ID formatex(szKey, charsmax(szKey), "%s-SKINS", auth);
if(nvault_get_array(vault_skins_id, szKey, userSKINS[id][ePlayerSkins:0], sizeof(userSKINS[]))) { for(new i = 1; i < ALL_WEAPONS; i++) { playerSkin[i][id] = userSKINS[id][pdSkinsVault][i]; } }
// LOAD STATTRAK SKINS to USER ID formatex(szKey, charsmax(szKey), "%s-STTK", auth);
if(nvault_get_array(vault_stattrak_id, szKey, userSTATTRAK[id][ePlayerStattrak:0], sizeof(userSTATTRAK[]))) { for(new i = 1; i < 100; i++) { stattrak[i][id] = userSTATTRAK[id][pdStatTrak][i]; kill[i][id] = userSTATTRAK[id][pdStatTrakKills][i]; } }
// LOAD SELECTED SKINS to USER ID formatex(szKey, charsmax(szKey), "%s-USKINS", auth);
if(nvault_get_array(vault_uskins_id, szKey, userUSKINS[id][ePlayerUskins:0], sizeof(userUSKINS[]))) { for(new i = 0; i < WEAPONSKIN; i++) { UsingWeapon[i][id] = userUSKINS[id][pdSelectedSkin][i]; } } check_level(id, 1); return 0; }
SaveData(id) { if(!is_user_connected(id) && !isUserLoged[id]) { return 1; } new auth[32], szKey[32], casesNumber, skinsNumber, sttNumber, killsNumber, skinSelected; switch(get_pcvar_num(RANK_SAVE_TYPE)) { case 1: get_user_ip(id, auth, charsmax(auth), 1) case 2: get_user_name(id, auth, charsmax(auth)) case 3: get_user_authid(id, auth, charsmax(auth)) }
// SAVE DATABASE to USER ID formatex(szKey, charsmax(szKey), "%s-DB", auth);
userDATA[ id ][ pdLevel ] = PLAYER_LEVEL[id]; userDATA[ id ][ pdExperience ] = PLAYER_XP[id]; userDATA[ id ][ pdFullXP ] = PLAYER_XP_FULL[id]; userDATA[ id ][ pdPoints ] = PLAYER_MONEY[id]; userDATA[ id ][ pdKeys ] = PLAYER_KEYS[id];
for(new i = 1; i <= MAX_CASES; i++) { if(i > MAX_CASES) break; if(playerCases[i][id] < 0) playerCases[i][id] = 0
casesNumber = playerCases[i][id]; userDATA[ id ][ pdCases ][i] = _:casesNumber; } nvault_set_array(vault_database_id, szKey, userDATA[ id ][ ePlayerData:0 ], sizeof( userDATA[] ));
// SAVE SKINS to USER ID formatex(szKey, charsmax(szKey), "%s-SKINS", auth);
for(new i = 1; i < ALL_WEAPONS; i++) { if(i > MAX) break;
if(playerSkin[i][id] < 0) playerSkin[i][id] = 0
skinsNumber = playerSkin[i][id];
userSKINS[ id ][ pdSkinsVault ][ i ] = _:skinsNumber; } nvault_set_array(vault_skins_id, szKey, userSKINS[ id ][ ePlayerSkins:0 ], sizeof( userSKINS[] ));
// SAVE STATTRAK SKINS to USER ID formatex(szKey, charsmax(szKey), "%s-STTK", auth);
for(new i = 1; i < ALL_WEAPONS; i++) { if(i > 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];
userSTATTRAK[ id ][ pdStatTrak ][ i ] = _:sttNumber; userSTATTRAK[ id ][ pdStatTrakKills ][ i ] = _:killsNumber; } nvault_set_array(vault_stattrak_id, szKey, userSTATTRAK[ id ][ ePlayerStattrak:0 ], sizeof( userSTATTRAK[] ));
// SAVE SELECTED SKINS to USER ID formatex(szKey, charsmax(szKey), "%s-USKINS", auth);
for(new i = 0; i < WEAPONSKIN; i++) { skinSelected = UsingWeapon[i][id]; userUSKINS[ id ][ pdSelectedSkin ][ i ] = _:skinSelected; } nvault_set_array(vault_uskins_id, szKey, userUSKINS[ id ][ ePlayerUskins:0 ], sizeof( userUSKINS[] ));
return 0; }
how much information can be stored using nvault_array?
Last edited by aEEk; 05-26-2020 at 15:54.
|
|