Skip to content

CCSPlayer_WeaponServices (server)

Component attached to CCSPlayerPawn that manages the active weapon and weapon-switch timing for a CS2 player.

CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json

Kind: classSize: 6272 bytes (0x1880)Alignment: unspecified (0xff sentinel)Module: serverBinary: server.dll

Relationships

Inherits from: CPlayer_WeaponServices

Same name in another module: CCSPlayer_WeaponServices (client)

Inheritance tree
Relationship diagram (4 edges)
classDiagram
    CPlayerPawnComponent <|-- CPlayer_WeaponServices
    CPlayer_WeaponServices <|-- CCSPlayer_WeaponServices
    CCSPlayer_WeaponServices *-- GameTime_t
    CCSPlayer_WeaponServices --> CBasePlayerWeapon
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

20 fields, 13 declared here and 7 inherited. Offsets are absolute from the object base on windows-x86_64.

CPlayerPawnComponentCPlayer_WeaponServicesCCSPlayer_WeaponServices

OffsetFieldTypeFromAnnotations
0x8__m_pChainEntityCNetworkVarChainerCPlayerPawnComponentMNotSaved
0x30m_pComponentGraphControllerCAnimGraphControllerPtrCPlayerPawnComponent
0x48m_hMyWeaponsCNetworkUtlVectorBase< CHandle< CBasePlayerWeapon > >CPlayer_WeaponServices
0x60m_hActiveWeaponCHandle< CBasePlayerWeapon >CPlayer_WeaponServices
0x64m_hLastWeaponCHandle< CBasePlayerWeapon >CPlayer_WeaponServices
0x68m_iAmmouint16[32]CPlayer_WeaponServices
0xa8m_bPreventWeaponPickupboolCPlayer_WeaponServices
0xc0m_flNextAttackGameTime_tGameTime before which no weapon switch is permitted (e.g. after throwing a grenade).
0xc4m_hSavedWeaponCHandle< CBasePlayerWeapon >
0xc8m_nTimeToMeleeint32
0xccm_nTimeToSecondaryint32
0xd0m_nTimeToPrimaryint32
0xd4m_nTimeToSniperRifleint32
0xd8m_bIsBeingGivenItembool
0xd9m_bIsPickingUpItemWithUsebool
0xdam_bPickedUpWeaponbool
0xdbm_bDisableAutoDeploybool
0xdcm_bIsPickingUpGroundWeaponbool
0x1860m_networkAnimTimingCNetworkUtlVectorBase< uint8 >Byte array encoding animation transition timing for the active weapon, used to synchronise viewmodel animations across client and server.
0x1878m_bBlockInspectUntilNextGraphUpdateboolTrue when the inspect animation is suppressed until the animation graph ticks again (prevents stutter).