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] Rezerwacja "slotów" na byty typu player


Najlepsza odpowiedź GwynBleidD, 18.01.2015 00:10

1. Żaden ent inny od gracza nie dostanie ID o wartości z przedziału <1; MAX_GRACZY>
2. Gracz w wyjątkowych okolicznościach MOŻE dostać ID z poza tego przedziału
3. Przedział ten może wynosić <1; 32> mimo mniejszej ilości slotów. Kilka razy się z tym spotkałem

ad 2. przypadek taki to np zbugowany/zlagowany gracz czyli gracz który utracił połączenie z serwerem na tyle niefortunnie, że brak jego obecności na serwerze nie został przez serwer do końca odnotowany. Czasem model takiego gracza po prostu zostanie zamrożony tam, gdzie stał, czasem przyjmie dziwną pozę albo zacznie się dziwnie ruszać, czasem po jego zabiciu się tak stanie, a czasem nawet będzie on całkowicie niewidzialny (co może spowodować konieczność zabicia tego nieobecnego gracza, aby runda się skończyła! czyli strzelanie na ślepo po respie przeciwnika). W takim wypadku jeśli serwer był pełny przed tym zlagowaniem i po zlagowaniu na serwer wejdzie następny gracz to może on dostać ID z poza przedziału, co skutkuje tzw spec bugiem, czyli bugami przy obserwowaniu gracza ze speca. Kiedyś problem ten pojawiał się już przy id równym 32, ale w nowszym silniku podobno nie występuje - nie wiem, nie miałem okazji sprawdzić  :) Przejdź do postu


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

#1 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 17.01.2015 19:43

Witam,

Jak to jest z tymi bytami? Byt o id = 0 to worldspawn, 1 to player itd. Czy silnik rezerwuje 32 miejsca na graczy? Czy jest to dynamiczne? Czy może zależne od slotów?

 

Proszę o info...


  • +
  • -
  • 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.01.2015 23:45

Nie wiem o co Ci chodzi dokładnie, wiec takie domysly

Ale ID gracza nigdy nie przekroczy MAXPLAYERS, czyli jak masz 16 slotow, to gracz nie bedzie mial nigdy ID 17.

Nie wiem tylko, czy te dalsze są rezerwowane, a zapewne o to też pytasz, w sumie ta wiedza nigdy nie była mi potrzebna.

Ale sprawdziłem to.

Nie rezerwuje (a sadzilem inaczej xD)

 

Serwer 25 slotow

 

plugin ktorym sprawdzalem


#include <amxmodx>
#include <engine>


#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Drozduuuu"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /cos", "cos");
}

public cos(id)
{
	for(new i=0; i<50; i++)
	if(is_valid_ent(i))
	client_print(id, print_console, "tak %d", i);
}

Plugin wydrukował:


tak 1
tak 26
tak 27
tak 28
tak 29
tak 30
tak 31
tak 32
tak 33
tak 34
tak 35
tak 36
tak 37
tak 38
tak 39
tak 40
tak 41
tak 42
tak 43
tak 44
tak 45
... (funkcja copy w cs przyciela, ale do konca lecialo :D)

Użytkownik Droso edytował ten post 17.01.2015 23:54

  • +
  • -
  • 1

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

Na zlecenie i bez zlecenia zresztą też!


#3 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

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

Napisano 18.01.2015 00:10   Najlepsza odpowiedź

1. Żaden ent inny od gracza nie dostanie ID o wartości z przedziału <1; MAX_GRACZY>
2. Gracz w wyjątkowych okolicznościach MOŻE dostać ID z poza tego przedziału
3. Przedział ten może wynosić <1; 32> mimo mniejszej ilości slotów. Kilka razy się z tym spotkałem

ad 2. przypadek taki to np zbugowany/zlagowany gracz czyli gracz który utracił połączenie z serwerem na tyle niefortunnie, że brak jego obecności na serwerze nie został przez serwer do końca odnotowany. Czasem model takiego gracza po prostu zostanie zamrożony tam, gdzie stał, czasem przyjmie dziwną pozę albo zacznie się dziwnie ruszać, czasem po jego zabiciu się tak stanie, a czasem nawet będzie on całkowicie niewidzialny (co może spowodować konieczność zabicia tego nieobecnego gracza, aby runda się skończyła! czyli strzelanie na ślepo po respie przeciwnika). W takim wypadku jeśli serwer był pełny przed tym zlagowaniem i po zlagowaniu na serwer wejdzie następny gracz to może on dostać ID z poza przedziału, co skutkuje tzw spec bugiem, czyli bugami przy obserwowaniu gracza ze speca. Kiedyś problem ten pojawiał się już przy id równym 32, ale w nowszym silniku podobno nie występuje - nie wiem, nie miałem okazji sprawdzić  :)
  • +
  • -
  • 2

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


#4 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 18.01.2015 11:26

Czyli najczęściej jest to <1;get_maxplayers> ?

Myślałem że to jest jakoś dynamicznie :X
  • +
  • -
  • 0

#5 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

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

Napisano 18.01.2015 13:08

Czyli najczęściej jest to <1;get_maxplayers> ?

tak, chyba, że wystąpi ten bug, ale wtedy i tak gracz jakby nie jest graczem xD, więc można to zignorować

 

gracz dostaje zawsze najmniejsze wolne ID, czyli jak na serwerze jest 1,2,3,4,5 i wyjdzie 2. Czyli będzie 1,3,4,5, to gracz, który teraz wejdzie dostanie 2.


  • +
  • -
  • 2

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

Na zlecenie i bez zlecenia zresztą też!


#6 radim

    Godlike

  • Moderator

Reputacja: 939
Master

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

Napisano 18.01.2015 21:07

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