SetDeadSpectator: Difference between revisions

From Zandronum Wiki
(Added a note about this bug: https://zandronum.com/tracker/view.php?id=2594#c17993)
m (Removed the notice about player corpses not finishing their animation when the player becomes a spectator. This is no longer an issue in 3.1.)
Line 3: Line 3:


==Usage==
==Usage==
Turns a player that is alive into a dead spectator or vice versa.  This function will only effect Dead Spectators or players that are alive, not True Spectators.  If sv_DeadPlayersCanKeepInventory is set, the Dead Spectator will be resurrected with the inventory he had before he died. If sv_SameSpawnSpot is set and you are using Zandronum 3.1 the Dead Spectator will be resurrected at his current location.
Turns a player that is alive into a dead spectator or vice versa.  This function will only effect Dead Spectators or players that are alive, not True Spectators.  If sv_DeadPlayersCanKeepInventory is set, the Dead Spectator will be resurrected with the inventory he had before he died. If sv_SameSpawnSpot is set, the dead spectator will be resurrected at his current location.
 
Note: When a player is set as spectator, they're disassociated from the corpse entirely. This means that, if called when the player is killed, it will not finish their corpse animation. A workaround for this is to remove the corpse and spawn a dummy actor in its place that just plays the same animation.


==Parameters==
==Parameters==

Revision as of 17:06, 18 January 2022

This article documents a Zandronum-specific ACS feature which may not be supported by ZDoom and its other child ports.

int SetDeadSpectator(int playernumber, bool state)

Usage

Turns a player that is alive into a dead spectator or vice versa. This function will only effect Dead Spectators or players that are alive, not True Spectators. If sv_DeadPlayersCanKeepInventory is set, the Dead Spectator will be resurrected with the inventory he had before he died. If sv_SameSpawnSpot is set, the dead spectator will be resurrected at his current location.

Parameters

  • playernumber: Number of the player to effect
  • state: The state to set on the effected player (1 DeadSpectator, 0 Alive)

Examples

This script will turn the selected player into Dead Spectator if he is alive, or resurrect him if he is a Dead Spectator.

script 29999 (int pnum)
{
  if (PlayerIsSpectator(pnum) == 0) { SetDeadSpectator(pnum,1); }
  else if (PlayerIsSpectator(pnum) == 2) {  SetDeadSpectator(pnum,0); }
}