Szerző Téma: GetOnlinePlayers()  (Megtekintve 1833 alkalommal)

Nem elérhető Sramm

  • 596
    • Profil megtekintése
GetOnlinePlayers()
« Dátum: 2012. július 23. - 16:48:18 »
0 Show voters
A kód segítségével lekérheted, hogy mennyi játékos van a szerveren. Ez azért lehet hasznos, mert pl. ciklusnál nem 500-on fut végig, hanem csak mondjuk 2-n.
Példa:
 
for(new i; i<GetOnlinePlayers(); i++)
{
//ide
return 1;
}

 
Kód:
 

#include <a_samp>
 
    public OnPlayerConnect(playerid) for(new i = 0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)  && MaxID < i) MaxID = i;
    public OnPlayerDisconnect(playerid) for(new i = 0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i) && MaxID < i) MaxID = i;
     
    stock GetOnlinePlayers() return MaxID;
     
    //by Crazy
     
« Utoljára szerkesztve: 2012. július 23. - 17:02:36 írta Sramm »

GetOnlinePlayers()
« Válasz #1 Dátum: 2012. július 23. - 16:50:42 »
0 Show voters
new players[MAX_PLAYERS];
WTF? Ez minek?
new players = 0;
De gondolom, félreírtad, attól függetlenül jó ;)

Nem elérhető Sramm

  • 596
    • Profil megtekintése
GetOnlinePlayers()
« Válasz #2 Dátum: 2012. július 23. - 16:54:52 »
0 Show voters
Idézetet írta: lackos888 date=1343055042\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"24905\" data-ipsquote-contentclass=\"forums_Topic
new players[MAX_PLAYERS];
WTF? Ez minek?
new players = 0;
De gondolom, félreírtad, attól függetlenül jó ;)
 
Igen tudom, mert elõször máshogy akartam megoldani, de aztán mégis ez lett, és úgy maradt. Köszi, hogy szóltál. Javítva.

Nem elérhető tonyo

  • 1335
  • Moderális Generátor
    • Profil megtekintése
GetOnlinePlayers()
« Válasz #3 Dátum: 2012. július 23. - 23:44:49 »
0 Show voters
Öhm. Minek ehhez 2 ciklus?
 
#include <a_samp>
new MaxID;
public OnPlayerConnect(playerid)
{
    if(playerid > MaxID) MaxID = playerid;
    return 1;
}
public OnPlayerDisconnect(playerid)
{
    if(playerid == Max_ID)
    {
         new i = Max_ID-1;
         new j = 0;
         while(j == 0 && i >= 0)
         {
              if(IsPlayerConnected(i){ j = i;}
              i--;
         }
         MaxID = j;
    }
}

 
Ugyanazt csinálja, csak nem fut felesleges köröket :)

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
GetOnlinePlayers()
« Válasz #4 Dátum: 2012. július 23. - 23:54:52 »
0 Show voters
stock GetOnlinePlayers() {
    new value;
    for(new i; i < GetMaxPlayers(); i++) {
        if(!IsPlayerConnected(i)) continue;
        value++;
    }
    return value;
}

 

printf(\"Jelenleg %02i játékos van fent.\", GetOnlinePlayers());

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal