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

Player: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Technically the player pretty much /has/ to be in the map, so this is a better description)
No edit summary
 
(83 intermediate revisions by 29 users not shown)
Line 1: Line 1:
{{Ent not in fgd}}
{{LanguageBar}}
{{TabsBar}}
{{Ent not in fgd|codeonly=1}}
{{Preserved entity}}
{{CD|player{{!}}... Game Specific ...|base=CBasePlayer|nolink=1|file1=[https://github.com/ValveSoftware/source-sdk-2013/blob/master/src/game/server/player.cpp CBasePlayer definition]}}
{{this is a|entity|name=player}} The player itself or a [[bot]]. [[NPC]]s are not players. This entity still exists even if the player is dead.


{{base point|player}} The player itself. This entity still exists even if the player is dead. A pointer to the player can be acquired by using <code>UTIL_GetLocalPlayer()</code>.
{{note|Keyvalues, inputs, outputs and [[Dimensions]] vary depending on game and engine version.}}
{{tip|In singleplayer, a pointer to the player can be acquired by using <code>UTIL_GetLocalPlayer()</code>.}}
{{warning|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.}}


{{Note|This entity is not listed in the FGD, and is not intended to be placed in a map manually.}}
{{Important|This entity is not intended to be placed in a map manually. Doing so will result in an instant fatal error on map load!}}
{{Note|Keyvalues, inputs and outputs vary depending on game and engine version.}}
{{Warning|Placing a player entity in a map will result in an instant fatal error on map load!}}


== Keyvalues ==
[[File:entcreateplayer.jpg|thumb|580px|The consequences of player entity generation.]]
{{KV|Health (health)|integer|The player's health.}}
==Keyvalues==
{{KV|Maximum Health (max_health)|integer|The value of "health" cannot exceed this.}}
{{note|Keyvalues can be changed on a player with [[AddOutput]].}}
{{KV|Model Index (modelindex)|integer|Changes the player's model to a precached model on the map. Not available in {{tf2}}.}}
{{KV|Health|intn=health|integer|The player's health. {{note|Use SetHealth input instead, as this may not update health properly, leaving player at 0 health while still alive.}}}}
{{KV BaseEntity}}
{{KV|Maximum Health|intn=max_health|integer|The value of "health" cannot exceed this.}}
{{KV|Base Velocity|intn=BaseVelocity|Vector|Adds to the velocity of the player. <br>Format:<code> <x> <y> <z> </code>}}


== Inputs ==
==Inputs==
{{IO|SetHealth|param=integer|Sets the player's health. Values clamped between 0 and <code>max_health</code>.}}
{{I|SetHealth|param=integer|Sets the player's health. Values clamped between 0 and <code>max_health</code>.}}
{{IO|HandleMapEvent|param=string|Tells the game to perform a function, such as unlock an achievement. Hardcoded for specific map names.}}
{{I|HandleMapEvent|param=string|Tells the game to perform a function, such as unlock an achievement. Hardcoded for specific map names.}}
{{IO|SetHUDVisibility|param=boolean|Hides or displays the HUD. Not available in {{hl2}} series.}}
{{I|SetHUDVisibility|param=boolean|Hides or displays the HUD.}}
:{{note|The menu can still be accessed, and some HUD elements such as kill-icons may still be visible.}}
:{{note|The menu can still be accessed, and some HUD elements such as kill-icons may still be visible.}}
{{IO|SetFogController|param=string|Sets the [[env_fog_controller|fog controller]] to use for the [[!activator]]. Not available in {{hl2}} series.}}
:{{warning|Hiding the HUD will disable any weapon-switching of the target. Still available with {{cmd|use}} console command. {{todotest|{{tf2}}{{csgo}}{{l4d2}}{{css}}{{hl2}}{{bms}}}}}}
{{IO|SpeakResponseConcept|param=string|Speak the specified [[Response System|response concept]] immediately. Not available in {{hl2}} series.}}
{{I|SetFogController|param=string|special targets = [[Targetname#Keywords|special targetname]]s are unsupported|Sets the {{ent|env_fog_controller}} to use.}}
{{IO|IgnoreFallDamage|param=float|{{hl2}} Prevent the player from taking fall damage for [n] seconds, but reset back to taking fall damage after the first impact (so players will be hurt if they bounce off what they hit).}}
{{I|PerformForcedWeaponDeploy|param=string|only={{bms}}|Forces the player to use specified weapon with pickup animation.
{{IO|IgnoreFallDamageWithoutReset|param=float|{{hl2}} Absolutely prevent the player from taking fall damage for [n] seconds.}}
:{{note|Pickup animation doesn't always work, this somehow depends on player's ammo and other weapons.}}
{{IO|OnSquadMemberKilled|{{hl2}} Notification of a player's [[NPC]] ally in the players squad being killed.}}
}}
{{IO|DisableFlashlight|{{hl2}} Disables the player's flashlight.}}
{{IO|EnableFlashlight|{{hl2}} Enables the player's flashlight.}}
{{IO|ForceDropPhysObjects|{{hl2}} Force the player to drop any [[prop_physics|physics objects]] they are carrying.}}
{{IO|OnRescueZoneTouch|{{css}}{{csgo}} Fired when a [[hostage_entity|hostage]] is rescued. This input is also available in the code for {{l4d}} and {{l4d2}}.}}
{{IO|SetCommentaryStatueMode|{{l4d}} {{todo}}.}}
{{IO|DisableLedgeHang|{{l4d2}} Disable ledge hanging by player.}}
{{IO|EnableLedgeHang|{{l4d2}} Enable ledge hanging by player.}}
{{IO|IgnitePlayer|param=integer|{{tf2}} Ignites the player with a specified lifetime and causes a reaction (sound and speech).}}
:{{note|Does not fire the <code>OnIgnite</code> output.}}
:{{bug|Broken since the [https://wiki.teamfortress.com/wiki/Jungle_Inferno_Update Jungle Inferno] update, only initiates sound and speech but no actual fire. Use [[trigger_ignite]] as a workaround.}}
{{IO|ExtinguishPlayer|{{tf2}} Extinguishes the player.}}
{{IO|BleedPlayer|param=integer|{{tf2}} Bleeds the player with a specified length.}}
{{IO|RollRareSpell|{{tf2}} Forces the player to roll a rare spell. Only available if spells are enabled on the map.}}
{{IO|SetCustomModel|param=string|{{tf2}} Set a custom player model ''without'' animations.}}
{{IO|SetCustomModelOffset|param=vector|{{tf2}} Set a custom player model position on the player.}}
{{IO|SetCustomModelRotation|param=vector|{{tf2}} Set a custom player model rotation on the player.}}
{{IO|ClearCustomModelRotation|{{tf2}} Clears the custom player model rotation.}}
{{IO|SetCustomModelRotates|param=boolean|{{tf2}} Set if the custom model rotates or not to the player's angles.}}
{{IO|SetCustomModelVisibleToSelf|param=boolean|{{tf2}} Set if the custom model is visible to the player, in thirdperson.}}
{{IO|SetForcedTauntCam|param=boolean|{{tf2}} Forces the player into thirdperson mode.}}
{{IO|SpeakResponseConcept|param=string|{{tf2}} Forces the player to speak the specified response concept, an example being <code>halloweenlongfall</code>.}}
{{IO|TriggerLootIslandAchievement|{{tf2}} {{todo}}.}}
{{IO|TriggerLootIslandAchievement2|{{tf2}} {{todo}}.}}
{{IO|RoundSpawn|{{tf2}} {{todo}}.}}
{{I BaseEntity}}
{{I BaseAnimating}}
 
== Outputs ==
{{O BaseEntity|l4d=1}}
{{O BaseAnimating}}

Latest revision as of 07:46, 29 May 2025

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.
Recycle-warning.png
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.
C++ Class hierarchy
... Game Specific ...
CBasePlayer
CBaseCombatCharacter
CBaseFlex
CBaseAnimatingOverlay
CBaseAnimating
CBaseEntity
C++ CBasePlayer definition

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 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.
Note.pngNote:Use SetHealth input instead, as this may not update health properly, leaving player at 0 health while still alive.
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>

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>
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.
Warning.pngWarning:Hiding the HUD will disable any weapon-switching of the target. Still available with use console command.  (tested in: Team Fortress 2Counter-Strike: Global OffensiveLeft 4 Dead 2Counter-Strike: SourceHalf-Life 2Black Mesa)
SetFogController <stringRedirectInput/string>
special targetnames are unsupported
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.