#define Q_NUMBER 2
public zapisz_aktualny_quest(id) {
new key[128], data[64], name[64];
get_user_name(id, name, charsmax(name));
format(key, charsmax(key), "questy-%i-%s", dbm_get_user_class(id), name);
formatex(data, charsmax(data), "#%i#%i", quest_gracza[id][0]+1, ile_juz[id][0]);
for(new i=1; i<Q_NUMBER; i++) {
formatex(data, charsmax(data), "%s#%i#%i", data, quest_gracza[id][i]+1, ile_juz[id][i]);
}
nvault_set(vault_questy2, key, data);
}
I teraz do tego pytanie... Jak podobnym sposobem zrobić wczytywanie tych danych? Czyli ilość danych do wczytania będzie zależeć od definicji "Q_NUMBER", bo aktualnie mam to napisane w ten sposób
public wczytaj_aktualny_quest(id) {
new key[128], data[64], name[64];
get_user_name(id, name, charsmax(name));
format(key, charsmax(key), "questy-%i-%s", dbm_get_user_class(id), name);
nvault_get(vault_questy2, key, data, charsmax(data));
replace_all(data, charsmax(data), "#", " ");
new questt[32], ile[32], questt1[32], ile1[32];
parse(data, questt, 31, ile, 31, questt1, 31, ile1, 31);
ile_juz[id][0] = str_to_num(ile);
ile_juz[id][1] = str_to_num(ile1);
quest_gracza[id][0] = str_to_num(questt)-1;
quest_gracza[id][1] = str_to_num(questt1)-1;
}
Wszystko działa, ale chyba lepiej (jakby się dało) te wczytywanie zrobić podobnie tak jak przy zapisywaniu.