[ROZWIĄZANE] Problem z nvault
mimo114
24.02.2013
Witam.
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
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.
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
}
K!113r
24.02.2013
Jest coś w logach? Przy pobieraniu nicku dodaj warunek czy gracz jest połączony.
mimo114
25.02.2013
może problem tkwi w deklaracji zmiennej:
Użytkownik mimo114 edytował ten post 25.02.2013 14:36
new player_b_premium[][] = { 0,0,0,0,0,0,0 };Ale niestety w inny sposób nie potrafię tego zrobić bo gdy zmieniam player_b_premium[][] na player_b_premium[33][] lub player_b_premium[33][8] to mam błąd:
Error: Multi-dimensional arrays must be fully initialized on line 37po za tym w logach cały czas wyskakują errory albo przy odpalaniu menu w którym są zapytania o tą zmienną.
Użytkownik mimo114 edytował ten post 25.02.2013 14:36
K!113r
25.02.2013
jakie są to błędy w logach?
deklaracja w postaci
wywala błędy? niemożliwe raczej
Przykład z pierwszego lepszego sma:
deklaracja w postaci
new player_b_premium[33][8];
wywala błędy? niemożliwe raczej
Przykład z pierwszego lepszego sma:
new Float:damage_after[33][33];// nie przejmuj się tagiem Float:, potrzebna była tablica liczb rzeczywistych
mimo114
25.02.2013
Ok teraz wszystko już działa wystarczyło że zamieniłem
new player_b_premium[][] = { 0,0,0,0,0,0,0 };na
new player_b_premium[33][8];Dzięki za pomoc.
sebul
26.02.2013
Tak na przyszłość, tutaj
próbowałeś przypisać tablicę dwuwymiarową do danych w jednym wymiarze, więc to nie miało prawa działać.
new player_b_premium[][] = { 0,0,0,0,0,0,0 };
próbowałeś przypisać tablicę dwuwymiarową do danych w jednym wymiarze, więc to nie miało prawa działać.
sebul
26.02.2013
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL