Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Nvault - powiększenie tablic = nie działa


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 12.12.2011 16:22

Siema. Otuż chciałem sobie zmienić w nowym codzie zapis i wczytywanie danych aby odbywało się tylko przy connect i disconnect więc powiększyłem tablice poziom_gracza , doswiadczenie_gracza żeby przechowywały też klasę i wszystko niby super ale zapis/wczytywanie danych nie działa (zapis nie wiem bo nie wczytuje ;P)
oto mój kod

public ZapiszDane(id, i)
{
new vaultkey[128],vaultdata[256], identyfikator[64];
format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id][i], poziom_gracza[id][i], inteligencja_gracza[id][i], zdrowie_gracza[id][i], wytrzymalosc_gracza[id][i], kondycja_gracza[id][i]);

new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);

switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}

format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa_gracza[id]], typ_zapisu);
nvault_set(vault,vaultkey,vaultdata);

return PLUGIN_CONTINUE;
}

public WczytajDane(id, klasa)
{
new vaultkey[128],vaultdata[256], identyfikator[64];

new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);

switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}

format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa], typ_zapisu);

nvault_get(vault,vaultkey,vaultdata,255)

replace_all(vaultdata, 255, "#", " ");

new danegracza[6][32];

parse(vaultdata, danegracza[0], 31, danegracza[1], 31, danegracza[2], 31, danegracza[3], 31, danegracza[4], 31, danegracza[5], 31);

doswiadczenie_gracza[id][klasa] = str_to_num(danegracza[0]);
poziom_gracza[id][klasa] = str_to_num(danegracza[1])>0?str_to_num(danegracza[1]):1;
inteligencja_gracza[id][klasa] = str_to_num(danegracza[2]);
zdrowie_gracza[id][klasa] = str_to_num(danegracza[3]);
wytrzymalosc_gracza[id][klasa] = str_to_num(danegracza[4]);
kondycja_gracza[id][klasa] = str_to_num(danegracza[5]);
punkty_gracza[id][klasa] = (poziom_gracza[id][klasa]-1)*2-inteligencja_gracza[id][klasa]-zdrowie_gracza[id][klasa]-wytrzymalosc_gracza[id][klasa]-kondycja_gracza[id][klasa];

return PLUGIN_CONTINUE;
}


Dodam że wczytuję dane za pomocą

for(new i=1; i<sizeof ilosc_klas; i++)
WczytajDane(id, i)

w client connect
a zapisuję w disconnect za pomocą

for(new i=1; i<sizeof ilosc_klas; i++)
ZapiszDane(id,i);


tu dla pewnosci macie moje zmienne

new punkty_gracza[33][MAX_ILOSC_KLAS],
zdrowie_gracza[33][MAX_ILOSC_KLAS],
inteligencja_gracza[33][MAX_ILOSC_KLAS],
wytrzymalosc_gracza[33][MAX_ILOSC_KLAS],
kondycja_gracza[33][MAX_ILOSC_KLAS];


i inne poziom_gracza i doswiadczenie_gracza

Użytkownik Jak się nazwać edytował ten post 12.12.2011 16:25

  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych