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

Zapis tablicy do vault


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

#1 NiczegoWinien

    Wszechpomocny

  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

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 ?


  • +
  • -
  • 0

#2 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

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);
	}
}

  • +
  • -
  • 1

#3 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

Napisano 08.11.2017 19:42

Nie zapisuje nic. W pliku tylko takie cos jest

TLVn   

  • +
  • -
  • 0

#4 _McHappy

    Wszechwiedzący

  • Support Team

Reputacja: 243
Wszechwidzący

  • Postów:501
  • GG:
  • Imię:Radek
  • Lokalizacja:Tak
Offline

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

  • +
  • -
  • 0

#5 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

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 ?
 


  • +
  • -
  • 0

#6 _McHappy

    Wszechwiedzący

  • Support Team

Reputacja: 243
Wszechwidzący

  • Postów:501
  • GG:
  • Imię:Radek
  • Lokalizacja:Tak
Offline

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żytkownicy przeglądający ten temat: 0

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