CBasePlayer

From Valve Developer Community
Jump to navigation Jump to search

Stub

This article or section is a stub. You can help by expanding it.

Class hierarchy
CBasePlayer
CBaseCombatCharacter
CBaseFlex
CBaseAnimatingOverlay
CBaseAnimating
CBaseEntity
player.cpp

CBasePlayer is the class from which all player classes should inherit. See also Category:CBasePlayer.

Icon-Bug.pngBug:On the client, CBasePlayer is #define C_BasePlayer so that shared code works. Unfortunately, Visual Studio's Intellisense system (prior to 2010, which fixes this) is confused by this and will apply the #def even when you are looking at the server: you'll keep getting sent to C_BasePlayer when looking up references, definitions, and so on. This issue doesn't affect the compiler, thankfully!  [todo tested in?]

Mapping

Using trigger_ brushes and !activator, !player, or !pvsplayer keywords, you can access player entities. Some of these functions can be called using input/output systems.

Server

Functions

This list is cursory and may be inaccurate: (see: player for properties and functions.)

  • Weapon selection
  • Viewmodel state
  • FOV (including zoom)
  • Eye position & smoothing
  • Current PVS (for network updates)
  • Flashlight state
* DisableFlashlight: Disables the player's flashlight.
* EnableFlashlight: Enables the player's flashlight.
  • Battery state (sprinting, flashight drain, oxygen supply...)
  • Ladder state
  • Hint system
  • Respawn state
  • Connection state
  • Receiving & managing usercmds (CPlayerMove executes)
  • Some prediction setup
  • CreatePlayer (called from <game>_client)
  • Autokick enabled/disabled
  • Player name, chat, team & serverID
  • Spectator system
  • Bot plug-in support
  • Client-to-server console commands
  • MP tonemap Hammer input (new addition, available in SDK but has yet to roll out to Valve's own games)
  • Armour amount
  • Score, kills, deaths
  • Suicide
  • Time-based damage (drowning, fire...)
  • VPhysics shadow
  • Special QPhysics movement code
  • "Player-simulated entities"
  • Auto-aim
  • HEV suit (vox, Geiger counter)
  • HUD updates (inc. damage received)
  • Using/picking up objects
  • Vehicle interaction
  • "Replay mode"
  • Footsteps
  • Gamepad rumble
  • Debug overlays
  • Level fog

Related classes

Client

...