Player utilities

Stuff related to dealing with players and teams.

Constants

MAX_PLAYERS = 64 – maximum player count in Zandronum multiplayer.

MAX_PLAYERS_ZDOOM = 8 – maximum player count in ZDoom multiplayer.

TEAM_NONE = 255 – team number meaning “no team”.

Also, remember that “no player” is player number -1, while player number 0 is the first player.

SetActivatorToPlayer2

int SetActivatorToPlayer2(int player)

A replacement for both SetActivator with AAPTR_PLAYERx and SetActivatorToPlayer that works in any port.

SetActivator with AAPTR_PLAYERx only supports up to 8 players, while SetActivatorToPlayer isn't supported in ZDoom. This function attemps to use SetActivatorToPlayer, and then SetActivator(AAPTR_PLAYERx). This way, it works in both ZDoom and Zandronum.

Player classification

bool PlayerIsConnected(int player) – returns true if the player is connected to the server.

PlayerIsBot

PlayerInGame

PlayerIsSpectator

bool PlayerIsDeadSpectator(int player) – returns true if the player is a dead spectator.

Functions to count various classes of players:

int ClientCount()

int BotCount()

PlayerCount

int SpectatorConunt()

int DeadSpectatorCount()

Functions to pick a random player:

int PickRandomClient()

int PickRandomBot()

int PickRandomPlayer()

int PickRandomSpectator()

int PickRandomDeadSpectator()

int PickRandomTeamPlayer(int team) – pick a random in-game player from the team.

Actor information

ActorPlayerNumber

int ActorPlayerNumber(int tid)

If the actor is a player, returns its player number. Otherwise returns -1.

IsPlayer

bool IsPlayer()

bool ActorIsPlayer(int tid)

Returns true if the actor is a player.

Player information

PlayerName

str PlayerName(int player)

Returns the player's name. Shorthand for StrParam(n:player + 1).

GetPlayerTeam

int GetPlayerTeam(int player)

Returns the player's team number, or TEAM_NONE. Shorthand for GetPlayerInfo(player, PLAYERINFO_TEAM).

Team information

TeamPlayerCount

int TeamPlayerCount(int team)

Returns the number of players on the specified team. Shorthand for GetTeamProperty(team, TPROP_NumPlayers).

ConsolePlayer shorthands

bool ConsolePlayerInGame() – shorthand for PlayerInGame(ConsolePlayerNumber()).

str ConsolePlayerName() – shorthand for PlayerName(ConsolePlayerNumber()).

int ConsolePlayerTeam() – shorthand for GetPlayerTeam(ConsolePlayerNumber()).

bool SetActivatorToConsolePlayer() – shorthand for SetActivatorToPlayer2(ConsolePlayerNumber()).