This article's documentation is for anything that uses the Source engine. Click here for more information.

player

From Valve Developer Community
Revision as of 14:35, 9 November 2024 by Sirhephaestus (talk | contribs) (Tested in css)
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)
edit
Icon-NotInFGD.png
This entity is not in the FGD by default.
It should not be put directly in a map because it can only be configured through code.
C++ Class hierarchy
... Game Specific ...
CBasePlayer
CBaseCombatCharacter
CBaseFlex
CBaseAnimatingOverlay
CBaseAnimating
CBaseEntity

player is an entity available in all Source Source games. The player itself or a bot. NPCs are not players. This entity still exists even if the player is dead.

Note.pngNote:Keyvalues, inputs, outputs and Dimensions vary depending on game and engine version.
Tip.pngTip:In singleplayer, a pointer to the player can be acquired by using UTIL_GetLocalPlayer().
Warning.pngWarning:Removing a player entity that a human player is in control of will cause them to either be kicked from the game or prevented them from doing anything.
Icon-Important.pngImportant:This is a preserved entity in Counter-Strike: SourceHalf-Life 2: DeathmatchDay of Defeat: SourceTeam Fortress 2Left 4 DeadLeft 4 Dead 2Alien SwarmAlien Swarm: Reactive DropPortal 2Counter-Strike: Global Offensive.
If the game has round restart mechanics this entity may not behave as expected:
More info
  • On a new round entities with this classname will intentionally not reset. You can use logic_auto to emulate resetting it.
  • Killing it removes it forever, as it is not respawned on a new round.
  • It cannot be spawned with a point_template.
  • Parenting this with non-preserved entities may have undesirable effects.
Icon-Important.pngImportant:This entity is not intended to be placed in a map manually. Doing so will result in an instant fatal error on map load!
The consequences of player entity generation.

Keyvalues

Note.pngNote:Keyvalues can be changed on a player with AddOutput.
Health (health) <integer>
The player's health.
Maximum Health (max_health) <integer>
The value of "health" cannot exceed this.
Base Velocity (BaseVelocity) <vector>
Adds to the velocity of the player.
Format: <x> <y> <z>
Todo: Test for games other than Half-Life 2PortalPortal 2Team Fortress 2

Inputs

SetHealth <integerRedirectInput/integer>
Sets the player's health. Values clamped between 0 and max_health.
HandleMapEvent <stringRedirectInput/string>
Tells the game to perform a function, such as unlock an achievement. Hardcoded for specific map names.
SetHUDVisibility <booleanRedirectInput/boolean> (not in Half-Life 2 series Half-Life 2 series)
Hides or displays the HUD.
Note.pngNote:The menu can still be accessed, and some HUD elements such as kill-icons may still be visible.
Icon-Bug.pngBug:Using this input with a parameter override of 0 will disable any weapon-switching of the target.
Todo: Test in other games.
  (tested in: Team Fortress 2Counter-Strike: Global OffensiveLeft 4 Dead 2Counter-Strike: Source)
SetFogController <stringRedirectInput/string> (not in Half-Life 2 series Half-Life 2 series)
Sets the env_fog_controller to use.
PerformForcedWeaponDeploy <stringRedirectInput/string> (only in Black Mesa)
Forces the player to use specified weapon with pickup animation.
Note.pngNote:Pickup animation doesn't always work, this somehow depends on player's ammo and other weapons.