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

Gubi informacje. Nvault


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

#1 Kropka.

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:49
  • Lokalizacja:Janów Lubelski
Offline

Napisano 02.02.2014 18:14

Witam, mam problem dotyczące zapisu i odczytu informacji.

Czasami z niewiadomego powodu gracz utraci lvl i wraz z tym wszystkie dane ( statystyki )

Kod

public ZapiszDane(id)
{	
	new vaultkey[128],vaultdata[256];
	format(vaultdata, charsmax(vaultdata),"%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#", doswiadczenie_gracza[id], poziom_gracza[id], punkty_gracza[id],
	ultra_punkty_gracza[id], zycie_gracza[id], nowe_zycie_gracza[id], niewidzialnosc_gracza[id], nowa_niewidzialnosc_gracza[id], obrazenia_gracza[id],
	nowe_obrazenia_gracza[id], szybkosc_gracza[id], floatround(nowa_szybkosc_gracza[id]), grawitacja_gracza[id], floatround(nowa_grawitacja_gracza[id]),
	kasa_gracza[id], nowa_kasa_gracza[id], skoki_gracza[id], nowe_skoki_gracza[id], longjump_gracza[id], nowy_longujmp_gracza[id], longjump_s_czas[id], monety_gracza[id])
		
	nvault_set(g_vault,vaultkey,vaultdata);
	
	return PLUGIN_CONTINUE;
}
public WczytajDane(id)
{
	get_user_name(id, nazwa_gracza, 32)
	new dane[512]
	
	nvault_get(g_vault, nazwa_gracza, dane, 511)
	
	replace_all(dane, 255, "#", " ")
	
	new dg[16], pg[16], pkt[16], upkt[16], hp[16], nhp[16], ng[16], 
	nng[16], og[16], nog[16], sg[16], nsg[16], gg[16], ngg[16], kg[16], 
	nkg[16], skokig[16], noweskg[16], lg[16], nlg[16], lgsc[16], mg[16]
	
	parse(dane, dg, 15, pg, 15, pkt, 15, upkt, 15, hp, 15, nhp, 15, ng, 15, nng, 15, og, 15, 
	nog, 15, sg, 15, nsg, 15, gg, 15, ngg, 15, kg , 15, nkg, 15, skokig, 15, noweskg, 15, lg,
	15, nlg, 15, lgsc, 15, mg, 15)
	
	doswiadczenie_gracza[id] = str_to_num(dg)
	poziom_gracza[id] = str_to_num(pg)
	
	punkty_gracza[id] = str_to_num(pkt)
	ultra_punkty_gracza[id] = str_to_num(upkt)
	
	monety_gracza[id] = str_to_num(mg)
	
	zycie_gracza[id] = str_to_num(hp)
	nowe_zycie_gracza[id] = str_to_num(nhp)
	
	niewidzialnosc_gracza[id] = str_to_num(ng)
	nowa_niewidzialnosc_gracza[id] = str_to_num(nng)
	
	obrazenia_gracza[id] = str_to_num(og)
	nowe_obrazenia_gracza[id] = str_to_num(nog)
	
	szybkosc_gracza[id] = str_to_num(sg)
	nowa_szybkosc_gracza[id] = float(str_to_num(nsg))
	
	grawitacja_gracza[id] = str_to_num(gg)
	nowa_grawitacja_gracza[id] = float(str_to_num(ngg))
	
	kasa_gracza[id] = str_to_num(kg)
	nowa_kasa_gracza[id] = str_to_num(nkg)
	
	skoki_gracza[id] = str_to_num(skokig)
	nowe_skoki_gracza[id] = str_to_num(noweskg)
	
	longjump_gracza[id] = str_to_num(lg)
	nowy_longujmp_gracza[id] = str_to_num(nlg)
	longjump_s_czas[id] = str_to_num(lgsc)
}

Za pomoc dzięki.


  • +
  • -
  • 0

#2 RasiaQ

    Wracam.

  • Power User

Reputacja: 307
Wszechpomocny

  • Postów:639
  • Steam:steam
  • Imię:Piotr
  • Lokalizacja:Browar Namysłów
Offline

Napisano 02.02.2014 18:29

Masz w całym kodzie taki public ?

public plugin_end()
    nvault_close(nazwa_pliku_nvault)

 


  • +
  • -
  • 0

#3 Kropka.

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:49
  • Lokalizacja:Janów Lubelski
Offline

Napisano 02.02.2014 18:51

tak :

public plugin_end()
{
	nvault_close(g_vault)
}

  • +
  • -
  • 0

#4 0-0-0

    ● 600 punktów ostrzeżeń

  • Power User

Reputacja: 222
Profesjonalista

  • Postów:599
  • Imię:___
  • Lokalizacja:___
Offline

Napisano 02.02.2014 19:01

Lepiej przed zapisem otwierać, a po zapisie zamykać nvault.


  • +
  • -
  • 0
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [4FUN][Ruletka]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [DM]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [FFA]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [Only Dust2]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [Call of Duty]

#5 Kropka.

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:49
  • Lokalizacja:Janów Lubelski
Offline

Napisano 02.02.2014 19:09

@up

 

Hmm?

 

//edit

w plugin_init?

nvault_open("g_vault");

Użytkownik Kropka. edytował ten post 02.02.2014 19:12

  • +
  • -
  • 0

#6 Ziolek

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:17
  • Imię:Kacper
  • Lokalizacja:Sosnowiec
Offline

Napisano 02.02.2014 20:34

To zrób taska co 60 sekund ma zapisywać graczy na serwerze , miałem identyczny problem i takowy task pomógł


  • +
  • -
  • 0

#7 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 02.02.2014 20:38

Źle została napisana funkcja zapisywania. Powiedz mi jaką używasz wersję expmoda?


Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#8 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 09.02.2014 09:00

moze po prostu za duzy rozmiar pliku .vault

ja tam mialem z cod modem i po wgraniu tego od sebula to dziala (wyrzuca wpisy starsze niz 30 dni)
  • +
  • -
  • 0

#9 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 09.02.2014 09:49

Kropka. Wydałem weesje 1.9.8, możesz ją pobrać z tematu expmoda, tam naprawiłem ten bug. Pozdrawiam. :)

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 





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

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