Mam 2 funkcje zapisz i wczytaj lecz niestety zapisywanie raz działa a raz nie.
Po sprawdzeniu pliku vault zobaczyłem że zapisało 2 boty
Pbmod-[P*D]Pseudolukian (100)0 0 0 0 0 0 6 0©k*Q"
i zaniepokoił mnie wynik ponieważ tylko pierwsze 2 liczby które są zapisywane mogą być większe niż 1 pozostałe w kodzie są modyfikowane tylko w sposób np. player_b_premium[id][5]=1 oraz w zapytaniach co raczej ich nie modyfikuje.
Po za tym po zwiększeniu 2 wartości nie została ona wcale zapisana.
Wartości są zapisywane po każdym zabiciu gracza oraz w funkcji client_disconect.
public zapiszpb(id)
{
new name[35]
get_user_name(id,name,34)
new key[64],data[256]
format(key,charsmax(key),"Pbmod-%s",name)
format(data,charsmax(data),"%i %i %i %i %i %i %i %i",player_b_honor[id],player_b_punktybonusowe[id],player_b_premium[id][1],player_b_premium[id][2],player_b_premium[id][3],player_b_premium[id][4],player_b_premium[id][5],player_b_premium[id][6])
nvault_set(vaultpb,key,data)
return PLUGIN_CONTINUE;
}
public wczytajpb(id)
{
new name[35]
get_user_name(id,name,34)
new key[64],data[256]
format(key,charsmax(key),"Pbmod-%s",name)
if(nvault_get(vaultpb,key,data,255))
{
new honor[24],po[24],p1[3],p2[3],p3[3],p4[3],p5[3],p6[3]
parse(data,honor,23,po,23,p1,2,p2,2,p3,2,p4,2,p5,2,p6,2)
player_b_honor[id]=str_to_num(honor)
player_b_punktybonusowe[id]=str_to_num(po)
player_b_premium[id][1]=str_to_num(p1)
player_b_premium[id][2]=str_to_num(p2)
player_b_premium[id][3]=str_to_num(p3)
player_b_premium[id][4]=str_to_num(p4)
player_b_premium[id][5]=str_to_num(p5)
player_b_premium[id][6]=str_to_num(p6)
}
return PLUGIN_CONTINUE
}