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

Problem z zapisem nvault


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 Czaso Umilacz

    Profesjonalista

  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 12.02.2012 13:27

Czy da się to jakoś skrócić, jakąś pętle dać etc?

public ZapiszMagazyn(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-magazyn", nazwa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i", informacje_przedmiotu_magazyn[id][0][0], informacje_przedmiotu_magazyn[id][0][1], informacje_przedmiotu_magazyn[id][0][2], informacje_przedmiotu_magazyn[id][0][3],
																	  informacje_przedmiotu_magazyn[id][1][0], informacje_przedmiotu_magazyn[id][1][1], informacje_przedmiotu_magazyn[id][1][2], informacje_przedmiotu_magazyn[id][1][3],
					 informacje_przedmiotu_magazyn[id][2][0], informacje_przedmiotu_magazyn[id][2][1], informacje_przedmiotu_magazyn[id][2][2], informacje_przedmiotu_magazyn[id][2][3]);
nvault_set(save,vaultkey,vaultdata);
}

public WczytajMagazyn(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-magazyn", nazwa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i", informacje_przedmiotu_magazyn[id][0][0], informacje_przedmiotu_magazyn[id][0][1], informacje_przedmiotu_magazyn[id][0][2], informacje_przedmiotu_magazyn[id][0][3],
																	  informacje_przedmiotu_magazyn[id][1][0], informacje_przedmiotu_magazyn[id][1][1], informacje_przedmiotu_magazyn[id][1][2], informacje_przedmiotu_magazyn[id][1][3],
					 informacje_przedmiotu_magazyn[id][2][0], informacje_przedmiotu_magazyn[id][2][1], informacje_przedmiotu_magazyn[id][2][2], informacje_przedmiotu_magazyn[id][2][3]);
nvault_get(save,vaultkey,vaultdata,255);

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

new dane1[32], dane2[32], dane3[32], dane4[32], dane5[32], dane6[32], dane7[32], dane8[32], dane9[32], dane10[32], dane11[32], dane12[32];

parse(vaultdata, dane1, 31, dane2, 31, dane3, 31, dane4, 31, dane5, 31, dane6, 31, dane7, 31, dane8, 31, dane9, 31, dane10, 31, dane11, 31, dane12, 31);

informacje_przedmiotu_magazyn[id][0][0] = str_to_num(dane1);
informacje_przedmiotu_magazyn[id][0][1] = str_to_num(dane2);
informacje_przedmiotu_magazyn[id][0][2] = str_to_num(dane3);
informacje_przedmiotu_magazyn[id][0][3] = str_to_num(dane4);
informacje_przedmiotu_magazyn[id][1][0] = str_to_num(dane5);
informacje_przedmiotu_magazyn[id][1][1] = str_to_num(dane6);
informacje_przedmiotu_magazyn[id][1][2] = str_to_num(dane7);
informacje_przedmiotu_magazyn[id][1][3] = str_to_num(dane8);
informacje_przedmiotu_magazyn[id][2][0] = str_to_num(dane9);
informacje_przedmiotu_magazyn[id][2][1] = str_to_num(dane10);
informacje_przedmiotu_magazyn[id][2][2] = str_to_num(dane11);
informacje_przedmiotu_magazyn[id][2][3] = str_to_num(dane12);
//#%i#%i#%i#%i#%i#%i#%i
}

  • +
  • -
  • 0

#2 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 13.02.2012 09:27


new dane1[32], dane2[32], dane3[32], dane4[32], dane5[32], dane6[32], dane7[32], dane8[32], dane9[32], dane10[32], dane11[32], dane12[32];

parse(vaultdata, dane1, 31, dane2, 31, dane3, 31, dane4, 31, dane5, 31, dane6, 31, dane7, 31, dane8, 31, dane9, 31, dane10, 31, dane11, 31, dane12, 31);

informacje_przedmiotu_magazyn[id][0][0] = str_to_num(dane1);
informacje_przedmiotu_magazyn[id][0][1] = str_to_num(dane2);
informacje_przedmiotu_magazyn[id][0][2] = str_to_num(dane3);
informacje_przedmiotu_magazyn[id][0][3] = str_to_num(dane4);
informacje_przedmiotu_magazyn[id][1][0] = str_to_num(dane5);
informacje_przedmiotu_magazyn[id][1][1] = str_to_num(dane6);
informacje_przedmiotu_magazyn[id][1][2] = str_to_num(dane7);
informacje_przedmiotu_magazyn[id][1][3] = str_to_num(dane8);
informacje_przedmiotu_magazyn[id][2][0] = str_to_num(dane9);
informacje_przedmiotu_magazyn[id][2][1] = str_to_num(dane10);
informacje_przedmiotu_magazyn[id][2][2] = str_to_num(dane11);
informacje_przedmiotu_magazyn[id][2][3] = str_to_num(dane12);


\/


new szDane[12][32];
parse(vaultdata, szDane[0], 31, szDane[1], 31, szDane[2], 31, szDane[3], 31, szDane[4], 31, szDane[5], 31, szDane[6], 31, szDane[7], 31, szDane[8], 31, szDane[9], 31, szDane[10], 31, szDane[11], 31)

for(new i=0; i<11; i++)
{
if(i > 7)
informacje_przedmiotu_magazyn[id][2][i-8] = str_to_num(szData[i])
else if(i > 3)
informacje_przedmiotu_magazyn[id][1][i-4] = str_to_num(szData[i])
else
informacje_przedmiotu_magazyn[id][0][i] = str_to_num(szData[i])
}

  • +
  • -
  • 1

marwit-0.png


#3 Czaso Umilacz

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 13.02.2012 10:08

thx :)
  • +
  • -
  • 0

#4 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 13.02.2012 12:13

Ogólnie w zapisie vault nie trzeba danych oddzielać znakiem #, więc całość może wyglądać tak
public ZapiszMagazyn(id)
{
new vaultkey[64], vaultdata[256];
formatex(vaultkey, 63, "%s-magazyn", nazwa_gracza[id]);

formatex(vaultdata, 255, "%i %i %i %i %i %i %i %i %i %i %i %i", informacje_przedmiotu_magazyn[id][0][0], informacje_przedmiotu_magazyn[id][0][1], informacje_przedmiotu_magazyn[id][0][2], informacje_przedmiotu_magazyn[id][0][3],
informacje_przedmiotu_magazyn[id][1][0], informacje_przedmiotu_magazyn[id][1][1], informacje_przedmiotu_magazyn[id][1][2], informacje_przedmiotu_magazyn[id][1][3],
informacje_przedmiotu_magazyn[id][2][0], informacje_przedmiotu_magazyn[id][2][1], informacje_przedmiotu_magazyn[id][2][2], informacje_przedmiotu_magazyn[id][2][3]);
nvault_set(save, vaultkey, vaultdata);
}

public WczytajMagazyn(id)
{
new vaultkey[64], vaultdata[256];
formatex(vaultkey,63, "%s-magazyn", nazwa_gracza[id]);
nvault_get(save, vaultkey, vaultdata, 255);

new dane[32], bool:end, i, a;
for(i=0; i<3; i++) {
if(end)
break;

for(a=0; a<4; a++) {
if(!vaultdata[0]) {
end = true;
break;
}

strbreak(vaultdata, dane, 31, vaultdata, 255);
informacje_przedmiotu_magazyn[id][i][a] = str_to_num(dane);
}
}
}

Zapis też chyba dało by się inaczej zapisać, ale nie wiem czy to będzie krócej/lepiej.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#5 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 13.02.2012 13:31

Marwit sprawdzales swoj kod ?? bo masz warunki zle jesli drugi jest spelniony to spelniony jest tez pierwszy przez co drugi nigdy sie nie wykona :P
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D




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

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