Witam. Czy moglby mi ktos pokazac jak zapisac i odczytac taka tablice
CzasKupieniaPistoletow[33][sizeof nazwy_pistoletow];
Probowalem kilku sposobow i zapis byl ok ale nie odczytywalo.
Moglby ktos pokazac przyklad ?
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Napisano 08.11.2017 16:45
Witam. Czy moglby mi ktos pokazac jak zapisac i odczytac taka tablice
CzasKupieniaPistoletow[33][sizeof nazwy_pistoletow];
Probowalem kilku sposobow i zapis byl ok ale nie odczytywalo.
Moglby ktos pokazac przyklad ?
Napisano 08.11.2017 17:07
#include <amxmodx>
#include <nvault>
new nazwy_pistoletow[][] = { "P228", "Scout", "HE Grenade" }; //itd
new CzasKupieniaPistoletow[33][sizeof nazwy_pistoletow];
new g_hVault;
public plugin_cfg()
{
if((g_hVault = nvault_open("Nazwa_pliku")) == INVALID_HANDLE)
{
set_fail_state("nValut zwrocilo nieprawidlowy uchwyt");
}
}
public plugin_end()
{
nvault_close(g_hVault);
}
public client_disconnected(id)
{
static i, szAuthid[42];
get_user_authid(id, szAuthid, 24);
formatex(szAuthid, 31, "Bronie-%s", szAuthid);
for(i = 0; i < sizeof nazwy_pistoletow; i++)
{
nvault_set(g_hVault, szAuthid, CzasKupieniaPistoletow[id][i]);
}
}
public client_putinserver(id)
{
static i, szAuthid[42];
get_user_authid(id, szAuthid, 24);
formatex(szAuthid, 31, "Bronie-%s", szAuthid);
for(i = 0; i < sizeof nazwy_pistoletow; i++)
{
nvault_get(g_hVault, szAuthid, CzasKupieniaPistoletow[id][i], 23);
}
}
Napisano 08.11.2017 19:42
Nie zapisuje nic. W pliku tylko takie cos jest
TLVn
Napisano 08.11.2017 22:59
for(i = 0; i < sizeof nazwy_pistoletow; i++)
{
nvault_set(g_hVault, szAuthid, CzasKupieniaPistoletow[id][i]);
}
Nadpisywanie jednego rekordu w nVault kolejnymi wartościami.
W tym przypadku należy albo użyć oddzielnych kluczy (NazwaGracza-NumerBroni), albo zimplodować całą tablicę do string'a - i jego zapisać jako dane dla klucza (w tym wypadku - authID gracza).
Użytkownik _McHappy edytował ten post 08.11.2017 23:26
Napisano 09.11.2017 14:00
for(i = 0; i < sizeof nazwy_pistoletow; i++) { nvault_set(g_hVault, szAuthid, CzasKupieniaPistoletow[id][i]); }Nadpisywanie jednego rekordu w nVault kolejnymi wartościami.
W tym przypadku należy albo użyć oddzielnych kluczy (NazwaGracza-NumerBroni), albo zimplodować całą tablicę do string'a - i jego zapisać jako dane dla klucza (w tym wypadku - authID gracza).
Pokazesz na przykladzie ?
Napisano 09.11.2017 14:52
new szTmp[8], szDaneVault[(sizeof aJakasTablica)*charsmax(szTmp)+1];
for(new iIndeksJakiejsTablicy; iIndeksJakiejsTablicy < (sizeof aJakasTablica); iIndeksJakiejsTablicy++)
{
formatex(szTmp, charsmax(szTmp), "^"%i^" ", iJakasInnaTablica[id][iIndeksJakiejsTablicy]);
add(szDaneVault, charsmax(szDaneVault), szTmp);
}
nvault_set(g_hJakisVault, szJakisKlucz, szDaneVault);
Użytkownik _McHappy edytował ten post 09.11.2017 14:59
0 użytkowników, 1 gości, 0 anonimowych