Code:
public client_disconnect(id)
{
new szAuth[35], szTemp[60];
get_user_authid(id, szAuth, charsmax(szAuth));
formatex(szTemp, charsmax(szTemp), "%i#%i#%i", iPoints[id], iTsKilled[id], iCtKilled[id]);
nvault_set(szVaultName, szAuth, szTemp);
}
get_user_authid() should not be called until client_authorized()
public client_connect(id)
{
new szAuth[35], szTemp[60], szTsKills[33], szCtKills[33], szPoints[33];
get_user_authid(id, szAuth, charsmax(szAuth));
It makes no sense to format this string since it gets immediately overwritten with what nvault_get() retrieves from the vault
formatex(szTemp, charsmax(szTemp), "%i#%i#%i", iPoints[id], iTsKilled[id], iCtKilled[id]);
nvault_get(szVaultName, szAuth, szTemp);
replace_all(szTemp, charsmax(szTemp), "#", " ");
You are missing the szCtKills variable before charsmax(szCtKills)
parse(szTemp, szTsKills, charsmax(szTsKills), charsmax(szCtKills), szPoints, charsmax(szPoints));
iTsKilled[id] = str_to_num(szTsKills);
iCtKilled[id] = str_to_num(szCtKills);
iPoints[id] = str_to_num(szPoints);
}