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...
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.
|
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
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...
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 )
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
Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!
Na zlecenie i bez zlecenia zresztą też!
Napisano 18.01.2015 00:10 Najlepsza odpowiedź
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ę.
Napisano 18.01.2015 11:26
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 , 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.
Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!
Na zlecenie i bez zlecenia zresztą też!
Napisano 18.01.2015 21:07
Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !
0 użytkowników, 0 gości, 0 anonimowych