GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: Sramm - 2012. július 23. - 16:48:18

Cím: GetOnlinePlayers()
Írta: Sramm - 2012. július 23. - 16:48:18
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
     
Cím: GetOnlinePlayers()
Írta: lackos888 - 2012. július 23. - 16:50:42
new players[MAX_PLAYERS];
WTF? Ez minek?
new players = 0;
De gondolom, félreírtad, attól függetlenül jó ;)
Cím: GetOnlinePlayers()
Írta: Sramm - 2012. július 23. - 16:54:52
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.
Cím: GetOnlinePlayers()
Írta: tonyo - 2012. július 23. - 23:44:49
Ö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 :)
Cím: GetOnlinePlayers()
Írta: Pedró - 2012. július 23. - 23:54:52
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());