Skocz do zawartości

39dll - Maxplayers i ten sam login


Luksor

Rekomendowane odpowiedzi

  • Administratorzy

Max liczbę graczy dajesz na początku inicjując połączenie ( tcplisten( port, liczba graczy) ), a z tym samym nickiem - sprawdzasz, czy już takiej osoby nie ma. Najlepiej trzymać graczy w jakiejś tablicy.

Odnośnik do komentarza
Udostępnij na innych stronach

Max liczbę graczy dajesz na początku inicjując połączenie ( tcplisten( port, liczba graczy) ), a z tym samym nickiem - sprawdzasz, czy już takiej osoby nie ma. Najlepiej trzymać graczy w jakiejś tablicy.

Zmieniłem kod na:

listen = tcplisten(21001, 2, true);

 

A nadal może grać więcej niż 2 graczy. :/

Odnośnik do komentarza
Udostępnij na innych stronach

To teraz właśnie ten kod :/ Tyle już sposobów miałem...

 

Ostatnio spróbowałem tak, ze gdy dołącza gracz to id jego obiektu zapisuje się w zmiennej newestplayer.

W każdym obiekcie gracza co step jest sprawdzany warunek czy allplayers jest większe niż maxplayers.

Jeśli tak to kolejny warunek: jeśli twoje id to newestplayer - wyślij wiadomość kick.

 

Powinno działać, ale serwer nic nie robi, można odpalić ile się klientów chce.

 

Proszę o pomoc.

 

EDIT: Wracam za 20min

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Zrób tablicę global.players[10], daj każdemu elementowi wartość -1, a gdy ktoś dołącza w pierwsze wolne miejsce dawaj ID jego obiektu. Gdy ktoś inny dołącza i w global.players nie ma żadnego elementu o wartości -1, wysyłaj info, że serwer jest pełen i rozłączaj (closesocket() bodaj).

Odnośnik do komentarza
Udostępnij na innych stronach

Ok, już mniej więcej działa, gracze i serwer nie widzą więcej niż 2 graczy, tyle że te pozostałe osoby mogą grać samemu ale od serwera nie otrzymują danych. Powinienem sprawdzać czy w tabeli players jest wolne miejsce, wtedy bym go rozłączał, jaką funkcją mogę to sprawdzić?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...