←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Zapis wieeelu zmiennych

Locked

  • +
  • -
d0naciak's Photo 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
Quote

  • +
  • -
speedkill's Photo 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:
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]);
Quote

  • +
  • -
d0naciak's Photo 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
Quote

  • +
  • -
Ojciec Dyrektor's Photo 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
Quote
Locked