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
 
(61 intermediate revisions by 20 users not shown)
Line 1: Line 1:
{{lang|Player}}
{{LanguageBar}}
{{Ent not in fgd|nolink=1}}
{{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.
{{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.}}


{{Warning|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!}}
{{Note|Keyvalues, inputs, outputs and [[Dimensions]] vary depending on game and engine version.}}
{{Tip|A pointer to the player can be acquired by using <code>UTIL_GetLocalPlayer()</code>.}}
{{Note|[[NPC]]s are ''not'' players, whereas [[bot]]s are.}}


== Keyvalues ==
[[File:entcreateplayer.jpg|thumb|580px|The consequences of player entity generation.]]
{{note|These keyvalues should be changed on a player with [[AddOutput]].}}
==Keyvalues==
{{KV|Health|intn=health|integer|The player's health.}}
{{note|Keyvalues can be changed on a player with [[AddOutput]].}}
{{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|Collisions|intn=solid|choices|Method of collision for the player.}}
{{KV|Base Velocity|intn=BaseVelocity|Vector|Adds to the velocity of the player. <br>Format:<code> <x> <y> <z> </code>}}
:*0: None
:*1: BSP ([[QPhysics]]) {{not in FGD}}
:*2: [[Bounding box]]
:*3: [[Bounding box]] {{not in FGD}}
:*4: [[Bounding box]], constrained to Yaw only {{not in FGD}}
:*5: Custom/Test {{not in FGD}}
:*6: [[VPhysics]]
{{KV|Model Index|intn=modelindex|integer|Changes the player's model to a precached model on the map.|not={{tf2}}}}
{{KV|Lighting Origin|intn=LightingOrigin|targetname|Select an entity (not {{ent|info_lighting}}!) from which to sample lighting instead of the entity's [[origin]].}}
{{KV|Lighting Origin Offset|intn=LightingOriginHack|targetname|The {{ent|info_lighting_relative}} from which to sample lighting instead of the entity's origin.|not={{l4ds}}}}
{{KV|Damage Filter Name|intn=damagefilter|targetname|When this entity receives damage, it will [[filter]] by this entity.}}
{{KV|Start Fade Distance|intn=fademindist|float|Distance at which the entity starts fading. If <0, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a [[3D Skybox]].}}
{{KV|End Fade Distance|intn=fademaxdist|float|Distance at which the entity ends fading. If <0, the entity won't disappear at all. The value will scale appropriately if the entity is in a [[3D Skybox]].}}
{{KV|Fade Scale|intn=fadescale|float|If specified in the {{ent|worldspawn}}, or if the engine is running below DirectX 8, entities will fade out even if the fade distances above aren't specified. This value gives more control over when this happens: numbers smaller than 1 cause the entity to fade out at further distances, and greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also {{ent|$noforcedfade}}.}}
{{KV|[[Render Mode]]|intn=rendermode|choices|Set a non-standard rendering mode on this entity.}}
:{{ExpandBox|
:*0: Normal
:*1: Color
:*2: Texture
:*3: Glow
:*4: Solid/Alphatest
:*5: Additive
:*6: Removed, does nothing
:*7: Additive Fractional Frame
:*8: Alpha Add
:*9: World Space Glow
:*10: Don't Render}}
{{KV|Render FX / Transparency (0 - 255)|intn=renderamt|int|Transparency amount, requires a Render Mode other than '''Normal'''. 0 is invisible, 255 is fully visible.}}
{{KV|Render Color (R G B)|intn=rendercolor|color255|Color tint.}}
{{KV Render FX}}
{{KV|Shadow Cast Distance|intn=shadowcastdist|int|Sets how far the entity casts dynamic shadows. 0 means default distance from the [[shadow_control]] entity.}}
{{KV|Disable Shadows|intn=disableshadows|boolean|Prevent the entity from creating cheap render-to-texture shadows. Does not affect [[shadow mapping]].}}
{{KV|Disable Receiving Shadows|intn=disablereceiveshadows|boolean|Prevent the entity from receiving shadows on itself.}}
{{KV|Model Scale|intn=modelscale|float|A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.|since=OB|not={{portal}}{{l4ds}}{{src13}}}}
:{{warning|Negative or extremely high values can cause crashes!}}
{{KV|Glow Backface Multiple|intn=glowbackfacemult|float|nofgd=1|If this object has a glow effect, multiply the effect by this much on the sides of the object that are facing away from the viewer.|since=L4D2}}
{{KV|[[MoveType|Move Type]]|intn=MoveType|choices|Sets a movetype for this entity, which changes its movement behavior.|since=AS|nofgd=1}}
:{{ExpandBox|
:*0: None, don't move
:*1: Isometric
:*2: Walk, player only, moving on ground
:*3: NPC, movement
:*4: Fly, no gravity
:*5: Fly, with gravity
:*6: Physics
:*7: Push
:*8: [[Noclip]]
:*9: Ladder, for players on ladders
:*10: Spectator
:*11: Custom}}
{{KV|Collision Group|intn=CollisionGroup|choices|Sets a collision group for this entity, which changes its collision behavior.|since=AS|nofgd=1}}
:{{ExpandBox|
:*0: None
:*1: Debris, collides only with the world and static props
:*2: Debris, with trigger interaction
:*3: Interactive Debris, doesn't collide with other debris
:*4: Interactive, collides with everything except debris
:*5: Player
:*6: Breakable Glass
:*7: Vehicle
:*8: Player Movement
:*9: In-Vehicle
:*10: Weapon
:*11: Vehicle Clip
:*12: Projectile
:*13: Door blocker, not permitted to go near doors
:*14: Passable Door
:*15: Dissolving
:*16: Pushaway
:*17: NPC Actor, NPCs ignore the player
:*18: NPC Scripted, NPCs do not collide with each other}}
{{KV|Base Velocity|intn=BaseVelocity|Vector|Adds to the velocity of the player. <br>Format:<code> <x> <y> <z> </code>|nofgd=1}}
:{{todo|Test for games other than {{portal}}{{portal2}}{{tf2}}}}
{{KV|Disable ShadowDepth|intn=disableshadowdepth|boolean|Makes this entity not cast a shadow from {{ent|env_projectedtexture}}s.|since=P2}}
{{KV|Projected Texture Cache|intn=shadowdepthnocache|choices|Used to hint [[env_projectedtexture|projected texture system]] whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead.|since=P2}}
:*0: Default
:*1: No cache - render every frame
:*2: Cache it - render only once
{{KV|Disable Flashlight|intn=disableflashlight|boolean|Used to disable [[env_projectedtexture|projected texture]] lighting and shadows on this entity.|since=P2}}
{{KV BaseEntity}}


== 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}}}}
:{{note|Pickup animation doesn't always work, this somehow depends on player's ammo and other weapons.}}
{{IO|IgnoreFallDamageWithoutReset|param=float|Absolutely prevent the player from taking fall damage for [n] seconds.|only={{hl2}}and {{l4d2}}}} {{note|Should use "OnStartTrouch - !avivator". Consider the Time to be short, if there's another ledge they could jump off while being in the "no damage" timer.}}  
}}
{{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}}.|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|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.}}
{{I BaseEntity}}
{{I BaseAnimating}}
 
== Outputs ==
{{O BaseEntity|l4d=1}}
{{warning|Sending <tt>Kill</tt> to the player will cause the player to be unable to move or act and may cause the server to think they aren't there.}}
{{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.