Szerző Téma: GetPlayerPoolSize  (Megtekintve 2428 alkalommal)

Nem elérhető divkn

  • 3259
    • Profil megtekintése
GetPlayerPoolSize
« Dátum: 2015. május 02. - 23:42:14 »
0 Show voters
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)

 
VisszatéréseA legnagyobb létrehozott playerid számával.
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
« Utoljára szerkesztve: 2015. május 03. - 00:30:12 írta ƒlaﻛh »

GetPlayerPoolSize
« Válasz #1 Dátum: 2016. január 03. - 17:20:22 »
0 Show voters
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.
« Utoljára szerkesztve: 2016. január 03. - 17:22:22 írta _[G]M[K]_Sh1ft_ »

Nem elérhető divkn

  • 3259
    • Profil megtekintése
GetPlayerPoolSize
« Válasz #2 Dátum: 2016. január 03. - 18:16:17 »
0 Show voters
É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ó.

Nem elérhető kos

  • 292
    • Profil megtekintése
GetPlayerPoolSize
« Válasz #3 Dátum: 2017. július 22. - 07:25:15 »
0 Show voters
Idézetet írta: _[G
M[K]_Sh1ft_ date=1451838022]


   
      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.
« Utoljára szerkesztve: 2017. július 26. - 19:02:35 írta kos »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal