hi,
I used many ways to count the players on the server
Each of them wailed me
I way:
PHP Code:
GetPlayersNum(team, alive) {
new iPlayers;
for(new i = maxpl; i > 0; i--) {
if(!is_user_connected(i)) continue;
if(get_user_team(i) == team && (is_user_alive(i) == alive || alive == 2)) iPlayers++;
}
return iPlayers;
}
II way:
PHP Code:
stock GetPlayersNum(team, alive) {
if(!(1 <= team <= 2)) return 0;
static Players[33], num;
for(new i = 1; i <= maxpl; i++) {
if(get_user_team(i) != team || is_user_alive(i) != alive) continue;
Players[++num] = i;
}
return Players[num];
}
III way:
PHP Code:
stock GetPlayersNum(team, alive) {
static players[32], num, count;
get_players(players, num, alive ? "ach" : "ch");
for(new i; i < num; i++)
if(get_user_team(players[i]) == team) count++;
return count;
}
IV way:
PHP Code:
stock GetPlayersNum(team, alive) {
for(new num, i = 1; i <= maxpl; i++) {
if(!is_user_connected(i) || get_user_team(i) != team) continue;
if(alive && !is_user_alive(i)) continue;
num++;
}
return num;
}
V way:
PHP Code:
stock GetPlayersNum(team, alive) {
static players[32], num;
get_players(players, num, alive ? "ach" : "ch", team == 2 ? "CT" : "TERRORIST");
return count;
}
maxpl = get_maxplayers()
stock is used every second (in task)
every stock working at 90%
10% - sometimes bad counts, for example, when 2 terrorists it shows 7