-
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
-
new players[MAX_PLAYERS];
WTF? Ez minek?
new players = 0;
De gondolom, félreírtad, attól függetlenül jó ;)
-
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.
-
Ö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 :)
-
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());