Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Jedna zmienna używana wiele razy w tym samym czasie przy rozłączaniu się graczy


Najlepsza odpowiedź DarkGL, 01.12.2014 17:49

Nie

Przejdź do postu


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

#1 TibacK

    Diler pod gimnazjum dla niepełnosprawnych dzieci

  • Power User

Reputacja: 466
Wszechobecny

  • Postów:2448
Offline

Napisano 01.12.2014 17:48

Witam,

 

Mam taki kod:

new tab[300]

client_disconnect(id)
{
    //tu używam tej globalnej tablicy, działam sobie
}

Co się stanie, gdy zmiana mapy nastąpi?

Wszyscy gracze są rozłączani wtedy ?

Czy może dojść do wariacji wartości ? W sensie, że zostaną pozamieniane, bo będzie natłok wywołań w tym samym czasie.


  • +
  • -
  • 0

Sprzedam Paczkę CoD pod CS 1.6 (JEST WIELE WERSJI DO WYBORU TEJ PACZKI) na lvl od 201 - 601

Silnik (8 nowych statystyk, poprawiony zapis, dodatkowy exp, pozbyto się CurWeapon). Ponad 100 perków (do wyboru do koloru). Sklep, NOWE MISJE (QUESTY), premium i super premium, AUKCJE, KLANY, zapis nVault, 4 zestawy modeli bronii do wyboru!

JESTEŚ ZAINTERESOWANY KUPNEM? NAPISZ WIADOMOŚĆ DO MNIE!


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6033
Godlike

  • Postów:10831
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 01.12.2014 17:49   Najlepsza odpowiedź

Nie


  • +
  • -
  • 3

#3 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 01.12.2014 17:59

Procesor nie myli się.

 

każde rozłączenie to osobne wywołanie funkcji client_disconnect(id) u mnie jak i w każdym innym pluginie nie sprawia to problemu o ile kod jest poprawnie napisany.  :)


Użytkownik NoLiFeR edytował ten post 01.12.2014 17:59

  • +
  • -
  • 1

#4 grankee

    Godlike

  • Support Team

Reputacja: 507
Wszechwiedzący

  • Postów:1500
  • Lokalizacja:Radom
Offline

Napisano 01.12.2014 19:45

W momencie zakończenia mapy nie następuje rozłączenie klienta (o ile sam się nie rozłączy).


  • +
  • -
  • 1

#5 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

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

Napisano 01.12.2014 22:22

W momencie zakończenia mapy nie następuje rozłączenie klienta (o ile sam się nie rozłączy).

To zależy jak na to patrzeć, funkcja "client_disconnect" się wywołuje, ale ostatnio dowiedziałem się, że funkcja rozłączania graczy z fakemety nie wywołuje się przy zmianie mapy.
  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#6 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

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

Napisano 02.12.2014 13:06

z client_disconnect jest dość różnie... Samo rozłączenie faktycznie nie następuje, ale client_disconnect przed zmianą mapy się wykonuje, tak samo client_connect po zmianie. Brak faktycznego rozłączenia daje m.in to, że przy zmianie mapy nas nie wyrzuci z serwera, bo ktoś się "wbił" na nasz slot, a serwer jest pełny. Jednak jest kilka wyjątków.

1. Gdy gracz potrzebuje pobrać jakieś pliki, a serwer posiada fastdownload, właściwe rozłączenie i ponowne połączenie nastąpi.
2. Czasem client_disconnect się nie wywołuje, zauważyłem że ma wpływ tutaj to, jak długo serwer zmienia mapę. Jednak plugin_end wywołuje się po wszystkich client_disconnect i w nim próba pobrania graczy zwróci tylko tych, dla których client_diconnect się nie wywołał. Możemy więc tam w razie czego dokończyć swoje "dyrdymały" na graczu. Pamiętać trzeba jednak, że w plugin_end kategorycznie nie wykonujemy zapytań do bazy danych przez ThreadQuery. Tak samo w client_disconnect tego nie powinniśmy robić, gdyż jeśli zapytanie się nie wykona przed zmianą mapy, może zostać "zgubione", co nie tylko pozbawi nas możliwości podglądnięcia jego wyniku ale też doprowadzić może do wycieków pamięci i błędów typu Thread worker was unable to start!

W client_disconnect nie polecam wykonywać żadnych zapytań, lepiej je zostawić do plugin_end i wykonać metodą nie-threaded :) Ewentualnie wrzucić task wykonujący się co X czasu, który będzie zapisywał wszystkie rzeczy z client_disconnect.
  • +
  • -
  • 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