PlayerNumber

int PlayerNumber (void)

Usage

Returns the player number for the player who activated the script, starting at 0. For scripts that were not activated by a player, PlayerNumber will return -1.

Examples

A useful application of this command is to give each player an individual TID. The code to do this is:

script 5 ENTER
{
	Thing_ChangeTID(0, 1000 + PlayerNumber());
}

This will assign players TIDs of 1000, 1001, 1002... so they can be accessed individually. They can also be accessed as a group using for loops. The following script gives all players maximum health based on the TIDs from script 5.

script 10 (void)
{
	for (int n = 0; n < PlayerCount(); n++)
		SetActorProperty(1000 + n, APROP_HEALTH, 200);
}

This example will add to a map level variable if the activator of the script is a player. It takes advantage of the fact that PlayerNumber will return -1 for a non-player activator.

int teamkills;
 
script 15 (void)
{
	if (PlayerNumber() >= 0)
	{
		teamkills++;
	}
}

This article is issued from Zdoom. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.