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

[ROZWIĄZANE] Resetowanie się zapisu vault


Najlepsza odpowiedź Rivit , 10.02.2015 16:54

Skoro to dzieje się przez te "cvary" z pliku, to musi być tego wina.

 

Używasz nvault_prune? Do czyszczenia starych wpisów.

 

 

Podaj bardziej szczegółowe info + dowiedz się czy na pewno wczytywanie z pliku jest powodem.

Przejdź do postu


  • Zamknięty Temat jest zamknięty
10 odpowiedzi w tym temacie

#1 Danny OK

    Zaawansowany

  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:148
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Internet
Offline

Napisano 10.02.2015 16:09

Szanowny forumowiczu,

Mam pytanie dotyczące resetowania się danych z zapisu nvault. 

Zrobiłem pobieranie danych "cvars" z pliku (optymalizacja) i po wgraniu na serwer resetuje mi stary zapis danych, a nic w nim nie edytowałem.

 

Jakieś pomysły?

 

Prosiłbym również o różne powody które mogą spowodować skasowanie się danych np. zbyt duża objętość (słyszałem, że jest coś takiego, ale po przekroczeniu jakiej wielkości się kasuje?).

Pozdrawiam, Daniel.


  • +
  • -
  • 0

Battlefield 2 Exp Mod

www.BF2Mod.pl


#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 16:54   Najlepsza odpowiedź

Skoro to dzieje się przez te "cvary" z pliku, to musi być tego wina.

 

Używasz nvault_prune? Do czyszczenia starych wpisów.

 

 

Podaj bardziej szczegółowe info + dowiedz się czy na pewno wczytywanie z pliku jest powodem.


  • +
  • -
  • 0

#3 Danny OK

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:148
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Internet
Offline

Napisano 10.02.2015 17:16

	new iFile, szLine[256], szCvar[32], szValue[64], szTemp[2], configFile[128];	
	get_localinfo("amxx_configsdir", configFile, charsmax(configFile));
	format(configFile, charsmax(configFile), "%s/plik.cfg", configFile);

	if(!file_exists(configFile)) {
		new szError[512];
		formatex(szError, charsmax(szError), "Nie mozna znależć pliku bf2mod.cfg w lokalizacji %s", configFile)
		set_fail_state(szError);
		return
	}
	
	iFile = fopen(configFile, "rt");
	if(!iFile) {
		server_print("Brak pliku ^"%s^"", configFile);
		server_print("Ustawiam domyslne wartosci");
		return;
	}
	server_print("Odczyt ustawien z pliku ^"%s^"", configFile);
	while(!feof(iFile)) {
		fgets(iFile, szLine, 255);
		trim(szLine);

		if(!isalpha(szLine[0])) continue;

		strtok(szLine, szLine, 255, szTemp, 1, ';' );
		strtok(szLine, szLine, 255, szTemp, 1, '\' );
		parse(szLine, szCvar, charsmax(szCvar), szValue, charsmax(szValue));
		trim(szCvar);
		trim(szValue);

		if(equal(szCvar, "cvar1")) value[cvar1] = _:str_to_num(szValue) ? true : false;
		else if(equal(szCvar, "cvar2")) value[cvar2] = _:str_to_num(szValue) ? true : false;
	}
	fclose(iFile);

  • +
  • -
  • 0

Battlefield 2 Exp Mod

www.BF2Mod.pl


#4 Danny OK

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:148
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Internet
Offline

Napisano 10.02.2015 18:51

	new iFile, szLine[256], szCvar[32], szValue[64], szTemp[2], configFile[128];	
	get_localinfo("amxx_configsdir", configFile, charsmax(configFile));
	format(configFile, charsmax(configFile), "%s/plik.cfg", configFile);

	if(!file_exists(configFile)) {
		new szError[512];
		formatex(szError, charsmax(szError), "Nie mozna znależć pliku bf2mod.cfg w lokalizacji %s", configFile)
		set_fail_state(szError);
		return
	}
	
	iFile = fopen(configFile, "rt");
	if(!iFile) {
		server_print("Brak pliku ^"%s^"", configFile);
		server_print("Ustawiam domyslne wartosci");
		return;
	}
	server_print("Odczyt ustawien z pliku ^"%s^"", configFile);
	while(!feof(iFile)) {
		fgets(iFile, szLine, 255);
		trim(szLine);

		if(!isalpha(szLine[0])) continue;

		strtok(szLine, szLine, 255, szTemp, 1, ';' );
		strtok(szLine, szLine, 255, szTemp, 1, '\' );
		parse(szLine, szCvar, charsmax(szCvar), szValue, charsmax(szValue));
		trim(szCvar);
		trim(szValue);

		if(equal(szCvar, "cvar1")) value[cvar1] = _:str_to_num(szValue) ? true : false;
		else if(equal(szCvar, "cvar2")) value[cvar2] = _:str_to_num(szValue) ? true : false;
	}
	fclose(iFile);

 

 

Chyba to jest powodem (jednak nie):

	new pruneDelay = (NEGATIVE_SECONDSINDAY * value[cvarprunedays]);
	if ( pruneDelay < 0 )
	{
		nvault_prune(g_Vault, 0, get_systime(pruneDelay));
	}

Użytkownik Danny OK edytował ten post 10.02.2015 18:56

  • +
  • -
  • 0

Battlefield 2 Exp Mod

www.BF2Mod.pl


#5 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 18:57

Jakoś nie specjalnie widzę tu ingerencje w zapis...

	new pruneDelay = (NEGATIVE_SECONDSINDAY * value[cvarprunedays]);
	if ( pruneDelay < 0 )
	{
		nvault_prune(g_Vault, 0, get_systime(pruneDelay));
	}

A sprawdz tak:

nvault_prune(g_Vault, 0, get_systime()-(86400 * value[cvarprunedays]));

PS. jeden warunek mniej, nie wiem po co stosujesz tam offset...


  • +
  • -
  • 0

#6 Danny OK

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:148
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Internet
Offline

Napisano 10.02.2015 20:46

Wywaliłem to całkiem ale nie pomogło.

 

Tak jest standardowo w bf2 :)


Użytkownik Danny OK edytował ten post 10.02.2015 20:51

  • +
  • -
  • 0

Battlefield 2 Exp Mod

www.BF2Mod.pl


#7 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 20:48

A zakomentuj kod od wczytywania "cvarów". Trzeba zlokalizować czy to problem kodu czy nie.

 

 

W plugin_end() używasz nvault_close()? Czy może otwierasz vault za każdym razem?


  • +
  • -
  • 0

#8 Danny OK

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:148
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Internet
Offline

Napisano 10.02.2015 20:52

Zakomentuj?

 

Używam zamykania vault w plugin end.


  • +
  • -
  • 0

Battlefield 2 Exp Mod

www.BF2Mod.pl


#9 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 21:03

No wyłącz to wczytywanie po prostu, SPRAWDŹ CO JEST PRZYCZYNĄ, bo tak to strzelanka...


  • +
  • -
  • 0

#10 Danny OK

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:148
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Internet
Offline

Napisano 11.02.2015 10:46

Już naprawione, dzięki.

Znalazłem jeszcze jedno czyszczenie danych w kodzie, które się jakimś cudem wywoływało :D

 


  • +
  • -
  • 0

Battlefield 2 Exp Mod

www.BF2Mod.pl


#11 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 11.02.2015 13:57

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !





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

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