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

Otwieranie vault przy zapisie/odczycie, a w init/end, co lepiej?


Najlepsza odpowiedź GwynBleidD, 18.02.2015 13:15

Ogólnie nie spowoduje to błędu, ale nie powinieneś tak robić. Otwarcie i zamknięcie pliku nvault przy dużym jego rozmiarze może trwać dłuższą chwilę, ponieważ cały plik musi zostać załadowany do pamięci RAM. Jeśli będziesz to robił w trakcie rozgrywki może to powodować lagi serwera. Wykonywanie tego w plugin_end nie spowoduje jakiegoś szczególnego negatywnego efektu, ale nic Ci nie da jeśli będziesz chciał omijać otwieranie i zamykanie pliku w trakcie rozgrywki.

Właściwie to dobrym miejscem na otwarcie/zamknięcie pliku byłaby nowa runda (moment respawnowania graczy), czyli event HLTV. W tym miejscu mógłbyś po prostu zamknąć plik i otworzyć go na nowo, a w trakcie rundy po prostu się nim posługiwać, w ten sposób po każdej rundzie masz pewność, że dane zostaną zapisane w pliku. Przejdź do postu


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

#1 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 17.02.2015 18:15

Witam, co będzie lepsze?

Mam 5 zapisów do vault. I jaka metoda będzie lepsza?

Otwieranie vault przy zapisie/odczycie czy w init/end.

 

Dodam, że 2 zapisy tak zrobiłem, bo rzadko ich się używa.

 

Proszę o propozycje


  • +
  • -
  • 0

#2 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 17.02.2015 19:44

wydaje mi sie, ze czasami zadajecie takie glupie pytania xD

 

Jak istnieje szansa, że dane nie zostaną użyte, ale też nie będą częściej pobierane/zapisywane niż 1 (1-odczyt 1-zapis) raz - to wiadomo lepiej Otwieranie przy zapisie/odczycie

 

Inne wypadki init/end - to chyba logiczne.

 

też zależy co siedzi w środku nvault - bo jak chodzi o zapis informacji o graczu - to lepiej pobierac i zapisywac przy jego wejsciu/wyjsciu niz pobierac na poczatku mapy - tyle 'wyników'

 

 


  • +
  • -
  • 2

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#3 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 17.02.2015 20:56

Hm, a jak otworzę w end? Nigdy się nie bawiłem z tym co tam się dzieje.


Chodzi mi o zamykanie nvault żeby w razie crasha danych nie utracić
  • +
  • -
  • 0

#4 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 17.02.2015 22:23

Jeśli nie chcesz utracić danych przy crashu - użyj SQL.
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#5 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 18.02.2015 05:55

Tak, wiem, ale czy mogę otwierać w end? Co tam się dzieje tak w ogóle? Używam plugin end do niszczenia array co tam jeszcze można
  • +
  • -
  • 0

#6 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 18.02.2015 13:15   Najlepsza odpowiedź

Ogólnie nie spowoduje to błędu, ale nie powinieneś tak robić. Otwarcie i zamknięcie pliku nvault przy dużym jego rozmiarze może trwać dłuższą chwilę, ponieważ cały plik musi zostać załadowany do pamięci RAM. Jeśli będziesz to robił w trakcie rozgrywki może to powodować lagi serwera. Wykonywanie tego w plugin_end nie spowoduje jakiegoś szczególnego negatywnego efektu, ale nic Ci nie da jeśli będziesz chciał omijać otwieranie i zamykanie pliku w trakcie rozgrywki.

Właściwie to dobrym miejscem na otwarcie/zamknięcie pliku byłaby nowa runda (moment respawnowania graczy), czyli event HLTV. W tym miejscu mógłbyś po prostu zamknąć plik i otworzyć go na nowo, a w trakcie rundy po prostu się nim posługiwać, w ten sposób po każdej rundzie masz pewność, że dane zostaną zapisane w pliku.
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark





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

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