divkn

GetPlayerPoolSize

4 hozzászólás ebben a témában

GetPlayerPoolSize


Lekérdezi a legnagyobb létrehozott playerid számát.

Szükséges kliens/szerver verzió: 0.3.7 RC2 vagy újabb.

Paraméterei

(Nincsenek paraméterei)

[table]

[tr][td]Visszatérése[/td][td]A legnagyobb létrehozott playerid számával.[/td][/tr]

[/table]

Példa

for(new i = 0; i <= GetPlayerPoolSize(); i++)
{
if(IsPlayerConnected(i))
{
	SetPlayerHealth(i,100.0);
}
}

Kapcsolódó funkciók

GetVehiclePoolSize

Forrás: http://wiki.sa-mp.com/wiki/GetPlayerPoolSize

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Megjegyzés/Érdekesség/Észrevétel: Nem tudom hogy azóta javítva lett, ((vagy csak nekem csinál olyat,)) hogy mikor újraindítom a szervert, az első játékos mikor fellép, a GetPlayerPoolSize() fgv. nem működik megfelelően az OnPlayerConnect() fgv. alatt. Annak ellenére hogy a visszaadott értéke =0.

!De ha a játékos kilép, és újra belép/vagy más akkor már megfelelően működik.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

És tényleg. Először lehívja az OnPlayerConnect eljárást aztán változik meg PlayerPool mérete. gj kye.

Mondjuk nem nagy meglepetés, mert van pár funkció amivel hasonló problémákkal ütközik, mint például a Kick funkció.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon
Idézet _[G]M[K]_Sh1ft_ felhasználótól, On ‎2016‎.‎01‎.‎03‎. at 17:20

Megjegyzés/Érdekesség/Észrevétel: Nem tudom hogy azóta javítva lett, ((vagy csak nekem csinál olyat,)) hogy mikor újraindítom a szervert, az első játékos mikor fellép, a GetPlayerPoolSize() fgv. nem működik megfelelően az OnPlayerConnect() fgv. alatt. Annak ellenére hogy a visszaadott értéke =0.

!De ha a játékos kilép, és újra belép/vagy más akkor már megfelelően működik.

 

 Azèrt van ez mert a player id 1 ember esetèn 0 és a 0 értek a poolsize-ban 1re ugrik 0ról. Tehàt vagy képtelen érzékelni 1 embert vagy a script hibás mert i < pool érték kell mert ha egyenlőt is adunk az 2 értéket fog szàmolni. Mikor meghívja az érték 1 lesz de az i =0 értékkel meg 2 számolást végez. Tehát i = 1 <= pool vagy i = 0 < poll.

Lehetséges javítás:

for(new i = 0; i < GetPlayerPoolSize(); i++)

for(new i = 0; i < GetPlayerPoolSize()+1; i++)

Vagy

for(new i = 1; i <= GetPlayerPoolSize(); i++)

for(new i = 1; i <= GetPlayerPoolSize()+1; i++)

Amíg nem javítják +1 értéket kell adni.

Szerkesztve kos által

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Regisztrálj vagy jelentkezz be, hogy válaszolhass

Csak felhasználóként kommentelhetsz.

Regisztrálj

Légy közösségünk tagja még ma! Csak fél perc.


Regisztrálok

Jelentkezz be

Már van felhasználód? Lépj be!


Bejelentkezek