mam Problem z Zapisem/Odczytem Pliku vault...
Robiąc Xp Moda coś zepsułem i nie zapisuje mnie danych...
Oto mój Zapis, odczyt oraz stock...
public SaveXp(id) {
new vaultkey[64], vaultdata[256];
new name[64];
if(!is_user_steam(id)){
get_user_name(id,name,charsmax(name));
}
else
{
get_user_authid(id,name,charsmax(name));
}
format(vaultkey, 63, "%s-mod", name);
format(vaultdata, 255, "%i#%i#%i#%i#%i#", PlayerXP[id], PlayerLevel[id],SkillPoints[id], PtkGraw[id], PtkSpeed[id]);
nvault_set(g_Vault, vaultkey, vaultdata);
return PLUGIN_CONTINUE;
}
public LoadXp(id) {
new vaultkey[64], vaultdata[256];
new name[64];
if(!is_user_steam(id)){
get_user_name(id,name,charsmax(name));
}
else
{
get_user_authid(id,name,charsmax(name));
}
format(vaultkey, 63, "%s-mod", name);
format(vaultdata, 255, "%i#%i#%i#%i#%i#", PlayerXP[id], PlayerLevel[id],SkillPoints[id], PtkGraw[id], PtkSpeed[id]);
nvault_get(g_Vault, vaultkey, vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new playerxp[32], playerlevel[32], skillpoints[32], ptkgraw[32], ptkspeed[32];
parse(vaultdata, playerxp, 31, playerlevel, 31, skillpoints, 31, ptkgraw, 31, ptkspeed, 32);
PlayerXP[id] = str_to_num(playerxp);
PlayerLevel[id] = str_to_num(playerlevel);
SkillPoints[id] = str_to_num(skillpoints);
PtkGraw[id] = str_to_num(ptkgraw);
PtkSpeed[id] = str_to_num(ptkspeed);
return PLUGIN_CONTINUE;
}
Stock:
stock bool: is_user_steam(id)
{
static pcv_dp_r_id_provider;
pcv_dp_r_id_provider = get_cvar_pointer("dp_r_id_provider");
server_cmd("dp_clientinfo %d", id);
server_exec();
static uClient;
uClient = get_pcvar_num(pcv_dp_r_id_provider);
if ( uClient == 2)
return true;
return false;
}
Co tu jest źle?
Nie wiem czy to wina że sprawdzam to na lanie lub dla tego że na NS, a może po prostu coś zrąbałem nie wiem [nie sprawdzam na steam bo zanim on się włączy to zdążę 3 razy sprawdzić, nie testuje na serwerach bo mam tylko 1 i nie chce by gracze chwilowo wiedzieli że robię takie coś jak XP mod.]
Pozdrawiam !
Użytkownik AmD edytował ten post 30.09.2010 11:45