CBasePlayer

From Valve Developer Community
Jump to: navigation, search

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

Bug: 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!

Server

Functions

This list is cursory and may be inaccurate:

  • Weapon selection
  • Viewmodel state
  • FOV (including zoom)
  • Eye position & smoothing
  • Current PVS (for network updates)
  • Flashlight state
  • 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

...