Get Online Player Count
#1

Hello, how can i get the online player count for example: Player ID 0 joined (1/50) and when id 1 joined (2/50) and when id 1 left (1/50), how to get this? thanks.
Reply
#2

Increment and Decrement a variable in OnPlayerConnect and OnPlayerDisconnect respectively. Or use foreach's Itter_Count.
Reply
#3

pawn Код:
new gPlayersConnected[MAX_PLAYERS];



// OnPlayerConnect

gPlayersConnected[playerid]++;
new string[124];
format(string, sizeof(string), "Player %s connected. There are %d/50 players connected", GetName(playerid), gPlayersConnected[playerid]);
SendClientMessage(playerid, -1, string);


// OnPlayerDisconnect

gPlayersConnected[playerid]--;
new string[124];
format(string, sizeof(string), "Player %s left the server. There are %d/50 players connected", GetName(playerid), gPlayersConnected[playerid]);
SendClientMessage(playerid, -1, string);


stock GetName(playerid)
{
        new pName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pName, sizeof(pName));
        return pName;
}
Reply
#4

@Loox This is wrong. This version you posted has one variable for each player with increments to 1 and decrements to 0 when he leaves.
new gPlayerConnected must not be an array.
So this would be better:
Код:
new gPlayersConnected = 0;



// OnPlayerConnect

gPlayersConnected++;
new string[124], name[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "Player %s connected. There are %d/50 players connected", name, gPlayersConnected);
SendClientMessage(playerid, -1, string);


// OnPlayerDisconnect

gPlayersConnected--;
new string[124];
new name[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "Player %s left the server. There are %d/50 players connected", name, gPlayersConnected);
SendClientMessage(playerid, -1, string);
Reply
#5

~fixed~
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)