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
No edit summary
 
(33 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Ent not in fgd|nolink=1}}
{{LanguageBar}}
{{Tabs|player|source=1|main=source
{{TabsBar}}
| custom1=player (Left 4 Dead series)|custom1alt=Left 4 Dead series
{{Ent not in fgd|codeonly=1}}
| custom2=player (Half-Life series)|custom2alt=Half-Life series
{{Preserved entity}}
| custom3=player (Counter-Strike series)|custom3alt=Counter-Strike series
{{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]}}
| portal=1
{{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.
| portal2=1
| tf2=1
}}
{{this is a|point entity|name=player}} The player itself or a [[bot]]. [[NPC]]s are not players. This entity still exists even if the player is dead.


{{note|Keyvalues, inputs, outputs and [[Dimensions]] vary depending on game and engine version.{{clarify}}{{split}}}}
{{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>.}}
{{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.}}


{{PreservedEnt|player}}
== Limitations/Bugs ==
{{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!}}
{{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!}}


== Keyvalues ==
[[File:entcreateplayer.jpg|thumb|580px|The consequences of player entity generation.]]
==Keyvalues==
{{note|Keyvalues can be changed on a player with [[AddOutput]].}}
{{note|Keyvalues can be changed on a player with [[AddOutput]].}}
{{KV|Health|intn=health|integer|The player's health.}}
{{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|Maximum Health|intn=max_health|integer|The value of "health" cannot exceed this.}}
{{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>|nofgd=1}}
{{KV|Base Velocity|intn=BaseVelocity|Vector|Adds to the velocity of the player. <br>Format:<code> <x> <y> <z> </code>}}
:{{todo|Test for games other than {{portal}}{{portal2}}{{tf2}}}}


== 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={{hl2}}{{hl2dm}}{{hl2xbox}}{{hl2episodes}}}}
{{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.}}
:{{bug|In {{tf2}} and {{csgo}}, using this input with a parameter override of 0 will disable any weapon-switching of the target. {{todo|Test in other games.}}}}
:{{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|SetFogController|param=string|Sets the {{ent|env_fog_controller}} to use.|not={{hl2}}{{hl2dm}}{{hl2xbox}}{{hl2episodes}}}}
{{I|SetFogController|param=string|special targets = [[Targetname#Keywords|special targetname]]s are unsupported|Sets the {{ent|env_fog_controller}} to use.}}
{{IO|SpeakResponseConcept|param=string|Speak the specified [[Response System|response concept]] immediately.|not={{hl2}}{{hl2dm}}{{hl2xbox}}{{hl2episodes}}}}
{{I|PerformForcedWeaponDeploy|param=string|only={{bms}}|Forces the player to use specified weapon with pickup animation.
{{IO|IgnoreFallDamage|param=float|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).|only={{hl2}}}}
{{IO|IgnoreFallDamageWithoutReset|param=float|Absolutely prevent the player from taking fall damage for [n] seconds.|only={{hl2}}and {{l4d2}}}}<br>
{{note|Should use "OnStartTouch - !activator - IgnoreFallDamageWithoutReset - 5 - Delay of 0". To disable fall damage for five seconds. Don't give it too much time, else players can exploit it to continue falling nearby areas without taking any damage.}}  
{{IO|OnSquadMemberKilled|only={{hl2}}|Notification of a player's [[NPC]] ally in the players squad being killed.}}
{{IO|DisableFlashlight|only={{hl2}}|Disables the player's flashlight.}}
{{IO|EnableFlashlight|only={{hl2}}|Enables the player's flashlight.}}
{{IO|ForceDropPhysObjects|only={{hl2}}|Force the player to drop any [[prop_physics|physics objects]] they are carrying.}}
{{IO|OnRescueZoneTouch|only={{css}}{{csgo}}|Fired when a [[hostage_entity|hostage]] is rescued. This input is also available in the code for {{l4d}} and {{l4d2}}.}}
{{IO|SetCommentaryStatueMode|{{todo}}.|only=l4d2}}
{{IO|DisableLedgeHang|only={{l4d2}}|Disable ledge hanging by player.}}
{{IO|EnableLedgeHang|only={{l4d2}}|Enable ledge hanging by player.}}
{{IO|TeleportToSurvivorPosition|param=string|Teleport a player to an {{ent|info_survivor_position}} entity, then freezes them. To unfreeze them, use the <code>ReleaseSurvivorPositions</code> input from {{ent|info_director}} or the player's <code>ReleaseFromSurvivorPosition</code> input.|only={{l4d2}}}}
{{IO|ReleaseFromSurvivorPosition|Unfreezes and releases the player from an {{ent|info_survivor_position}} entity if they are at one.|only={{l4d2}}}}
{{IO|SetGlowEnabled|param=boolean|Sets if this player is allowed to glow through walls if not visible.|only={{l4d2}}}}
{{IO|RemoveWeaponUpgrades|Removes laser sights from guns.|only={{l4d2}}}}
{{IO|CancelCurrentScene|Makes the player's character quit talking immediately.|only={{l4d2}}}}
{{IO|IgnitePlayer|param=integer|only={{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, initiating sound and speech but no actual fire. Use {{ent|trigger_ignite}} as a workaround.}}
{{IO|ExtinguishPlayer|Extinguishes the player.|only={{tf2}}}}
{{IO|BleedPlayer|param=integer|only={{tf2}}|Bleeds the player with a specified length.}}
{{IO|RollRareSpell|only={{tf2}}|Forces the player to roll a rare spell. Only available if spells are enabled on the map.}}
{{IO|SetCustomModel|param=string|only={{tf2}}|Set a custom player model ''without'' animations.}}
:{{note|Using <code>""</code> as the model argument will instead clear the target's custom model, returning the player to normal.}}
{{IO|SetCustomModelWithClassAnimations|param=string|only={{tf2}}|Set a custom player model '''with''' animations.}}
{{IO|SetCustomModelOffset|param=vector|only={{tf2}}|Set a custom player model position on the player.}}
{{IO|SetCustomModelRotation|param=vector|only={{tf2}}|Set a custom player model rotation on the player.}}
{{IO|ClearCustomModelRotation|only={{tf2}}|Clears the custom player model rotation.}}
{{IO|SetCustomModelRotates|param=boolean|only={{tf2}}|Set if the custom model rotates or not to the player's angles.}}
{{IO|SetCustomModelVisibleToSelf|param=boolean|only={{tf2}}|Set if the custom model is visible to the player, in thirdperson.}}
{{IO|SetForcedTauntCam|param=boolean|only={{tf2}}|Forces the player into thirdperson mode.}}
{{IO|SpeakResponseConcept|param=string|only={{tf2}}|Forces the player to speak the specified response concept, an example being <code>halloweenlongfall</code>.}}
{{IO|SetScriptOverlayMaterial|only={{tf2}}|Sets a custom [[Overlays|overlay]] material. This overlay is separate from normal overlays (e.g. burning or [[env_screenoverlay]]) and will not get overriden.}}
{{IO|TriggerLootIslandAchievement|only={{tf2}}|{{todo}}.}}
{{IO|TriggerLootIslandAchievement2|only={{tf2}}|{{todo}}.}}
{{IO|RoundSpawn|only={{tf2}}|Clears any [https://wiki.teamfortress.com/wiki/Magic_spells magic spell] within the player's current spell book.}}
{{IO|PerformForcedWeaponDeploy|param=string|only={{bms}}|nofgd=1|Forces the player to use specified weapon with pickup animation.
:{{note|Pickup animation doesn't always work, this somehow depends on player's ammo and other weapons.}}
:{{note|Pickup animation doesn't always work, this somehow depends on player's ammo and other weapons.}}
}}
}}
== See also ==
* [[Player/Left_4_Dead_series]]

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.