SetDeadSpectator: Difference between revisions

From Zandronum Wiki
(Added a note about this bug: https://zandronum.com/tracker/view.php?id=2594#c17993)
No edit summary
Tag: Source edit
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Template:ACSWarning}}
{{Template:ACSWarning}}
int '''SetDeadSpectator'''(int playernumber, bool state)
bool '''SetDeadSpectator''' (int ''playernumber'', bool ''state'')


==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 affect dead spectators or players that are alive; not true spectators. Additionally, a player cannot be forced to be a dead spectator if the game currently isn't in progress (i.e. waiting for players, or is in the countdown/results sequence). They may, however, be revived at anytime so as long as the game isn't in the results sequence.  


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.
If sv_deadplayerscankeepinventory is set, the dead spectator will be resurrected with the inventory they had before they died. If sv_samespawnspot is set, the dead spectator will be resurrected at their current location.


==Parameters==
=== Parameters ===
* playernumber: Number of the player to effect
* ''playernumber'': Number of the player to effect
* state: The state to set on the effected player (1 DeadSpectator, 0 Alive)
* ''state'': The state to set on the effected player (false = alive; true = dead spectator)


==Examples==
=== Return value ===
This script will turn the selected player into Dead Spectator if he is alive, or resurrect him if he is a Dead Spectator.
Returns true on success, false on failure.
 
== Examples ==
This script will turn the player specified by ''pnum'' into a dead spectator if they are alive, or resurrect them if they are a dead spectator.
<syntaxhighlight lang="c" line="1">
<syntaxhighlight lang="c" line="1">
script 29999 (int pnum)
script 29999 (int pnum)
Line 21: Line 24:
</syntaxhighlight>
</syntaxhighlight>


[[category:ACS Functions]]
== See also ==
* [[PlayerIsSpectator]]
 
[[Category:ACS functions]]

Latest revision as of 01:48, 3 July 2022

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

bool SetDeadSpectator (int playernumber, bool state)

Usage

Turns a player that is alive into a dead spectator, or vice versa. This function will only affect dead spectators or players that are alive; not true spectators. Additionally, a player cannot be forced to be a dead spectator if the game currently isn't in progress (i.e. waiting for players, or is in the countdown/results sequence). They may, however, be revived at anytime so as long as the game isn't in the results sequence.

If sv_deadplayerscankeepinventory is set, the dead spectator will be resurrected with the inventory they had before they died. If sv_samespawnspot is set, the dead spectator will be resurrected at their current location.

Parameters

  • playernumber: Number of the player to effect
  • state: The state to set on the effected player (false = alive; true = dead spectator)

Return value

Returns true on success, false on failure.

Examples

This script will turn the player specified by pnum into a dead spectator if they are alive, or resurrect them if they are a dead spectator.

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

See also