Zapis wieeelu zmiennych
d0naciak
09.11.2012
public SaveData(id)
{
new vaultkey[128],vaultdata[256], name[64], szOsiagniecie[5];
get_user_name(id, name, 63);
for(new i = 1; i <= ILOSC_OSIAGNIEC; i++)
{
format(szOsiagniecie, 4, "#%d", osiagniecie[i]);
add(vaultdata, 255, szOsiagniecie, 4);
}
format(vaultkey, charsmax(vaultkey),"%s-osiagniecie", name);
nvault_set(vault,vaultkey,vaultdata);
return PLUGIN_CONTINUE;
}
public ReadData(id)
{
new vaultkey[128],vaultdata[256], name[64];
get_user_name(id, name, 63);
format(vaultkey, charsmax(vaultkey),"%s-osiagniecie", name);
if(!nvault_get(vault,vaultkey,vaultdata,255))
{
format(vaultkey, charsmax(vaultkey), "%s-osiagniecie", name);
nvault_get(vault,vaultkey,vaultdata,255);
}
replace_all(vaultdata, 255, "#", "");
for(new i = 1; i <= ILOSC_OSIAGNIEC; i++)
{
osiagniecie[id][i] = str_to_num(vaultdata[i]);
}
return PLUGIN_CONTINUE;
}
Odnośnie chciałbym aby mój kod zapisywał dużo zmiennych, ten kod wyżej to sposób z jakim dotychczas się męczyłem, i nie wiem co możę być w nim nie tak ;[
P.S. Prośże o dokładne wytłumaczenie błędu jeśli można
speedkill
09.11.2012
Musiałbym zobaczyć jak tworzysz zmienną osiągnięcie. Ale ogólnie Twój problem znajduje się w funkcji SaveData(id).
Domyślam się, że Twoja zmienna osiągnięcia wygląda w tym stylu:
Jeśli tak, to Twój błąd jest tutaj:
A odczytujesz ją tak:
W takim razie błąd jest taki, że w zapisie w format nie podałeś indexu gracza, w funkcji z zapisem podmień sobie ten format na ten i sprawdź czy zadziała
Domyślam się, że Twoja zmienna osiągnięcia wygląda w tym stylu:
osiagniecie[33][24];
Jeśli tak, to Twój błąd jest tutaj:
format(szOsiagniecie, 4, "#%d", osiagniecie[i]);
A odczytujesz ją tak:
osiagniecie[id][i] = str_to_num(vaultdata[i]);
W takim razie błąd jest taki, że w zapisie w format nie podałeś indexu gracza, w funkcji z zapisem podmień sobie ten format na ten i sprawdź czy zadziała

format(szOsiagniecie, 4, "#%d", osiagniecie[id][i]);
d0naciak
09.11.2012
speedkill, sprawdze zara ale jak cos to zmienna osiagniecie[id][i] = 1, kiedy gracz zdobyl osiagniecie, a na 0, kiedy jeszcze tego nie zrobil
Ojciec Dyrektor
09.11.2012
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL