@@ -17,18 +17,18 @@ class CPlayerPawnComponent
1717private:
1818 [[maybe_unused]] uint8_t __pad0008[0x28 ]; // 0x8
1919public:
20- CBasePlayerPawn * m_pPawn; // 0x30
20+ CBasePlayerPawn* m_pPawn; // 0x30
2121};
2222
2323struct CSPerRoundStats_t
2424{
2525public:
2626 DECLARE_SCHEMA_CLASS_BASE (CSPerRoundStats_t, true )
2727
28- SCHEMA_FIELD_OFFSET (int , m_iKills, 0 )
29- SCHEMA_FIELD_OFFSET (int , m_iDeaths, 0 )
30- SCHEMA_FIELD_OFFSET (int , m_iAssists, 0 )
31- SCHEMA_FIELD_OFFSET (int , m_iDamage, 0 )
28+ SCHEMA_FIELD_OFFSET (int , m_iKills, 0 );
29+ SCHEMA_FIELD_OFFSET (int , m_iDeaths, 0 );
30+ SCHEMA_FIELD_OFFSET (int , m_iAssists, 0 );
31+ SCHEMA_FIELD_OFFSET (int , m_iDamage, 0 );
3232};
3333
3434struct CSMatchStats_t : public CSPerRoundStats_t
@@ -50,16 +50,14 @@ class CPlayer_MovementServices : public CPlayerPawnComponent
5050public:
5151 DECLARE_SCHEMA_CLASS_BASE (CPlayer_MovementServices, false )
5252
53- SCHEMA_FIELD_OFFSET (CInButtonState, m_nButtons, 0 )
54- SCHEMA_FIELD_OFFSET (uint64_t , m_nQueuedButtonDownMask, 0 )
55- SCHEMA_FIELD_OFFSET (uint64_t , m_nQueuedButtonChangeMask, 0 )
56- SCHEMA_FIELD_OFFSET (uint64_t , m_nButtonDoublePressed, 0 )
57-
58- // m_pButtonPressedCmdNumber[64]
59- SCHEMA_FIELD_POINTER_OFFSET (uint32_t , m_pButtonPressedCmdNumber, 0 )
60- SCHEMA_FIELD_OFFSET (uint32_t , m_nLastCommandNumberProcessed, 0 )
61- SCHEMA_FIELD_OFFSET (uint64_t , m_nToggleButtonDownMask, 0 )
62- SCHEMA_FIELD_OFFSET (float , m_flMaxspeed, 0 )
53+ SCHEMA_FIELD_OFFSET (CInButtonState, m_nButtons, 0 );
54+ SCHEMA_FIELD_OFFSET (uint64_t , m_nQueuedButtonDownMask, 0 );
55+ SCHEMA_FIELD_OFFSET (uint64_t , m_nQueuedButtonChangeMask, 0 );
56+ SCHEMA_FIELD_OFFSET (uint64_t , m_nButtonDoublePressed, 0 );
57+ SCHEMA_FIELD_POINTER_OFFSET (uint32_t , m_pButtonPressedCmdNumber, 0 );
58+ SCHEMA_FIELD_OFFSET (uint32_t , m_nLastCommandNumberProcessed, 0 );
59+ SCHEMA_FIELD_OFFSET (uint64_t , m_nToggleButtonDownMask, 0 );
60+ SCHEMA_FIELD_OFFSET (float , m_flMaxspeed, 0 );
6361};
6462
6563class CPlayer_MovementServices_Humanoid : CPlayer_MovementServices
@@ -89,9 +87,9 @@ class CCSPlayer_ItemServices
8987
9088 virtual ~CCSPlayer_ItemServices () = 0 ;
9189
92- SCHEMA_FIELD_OFFSET (bool , m_bHasDefuser, 0 )
93- SCHEMA_FIELD_OFFSET (bool , m_bHasHelmet, 0 )
94- SCHEMA_FIELD_OFFSET (bool , m_bHasHeavyArmor, 0 )
90+ SCHEMA_FIELD_OFFSET (bool , m_bHasDefuser, 0 );
91+ SCHEMA_FIELD_OFFSET (bool , m_bHasHelmet, 0 );
92+ SCHEMA_FIELD_OFFSET (bool , m_bHasHeavyArmor, 0 );
9593
9694private:
9795 virtual void unk_01 () = 0;
@@ -108,12 +106,12 @@ class CCSPlayer_ItemServices
108106 virtual void unk_12 () = 0;
109107 virtual void unk_13 () = 0;
110108 virtual void unk_14 () = 0;
111- virtual CBaseEntity * _GiveNamedItem (const char * pchName) = 0;
109+ virtual CBaseEntity* _GiveNamedItem (const char * pchName) = 0;
112110
113111public:
114- virtual bool GiveNamedItemBool (const char * pchName) = 0;
115- virtual CBaseEntity * GiveNamedItem (const char * pchName) = 0;
116- virtual void DropPlayerWeapon (CBasePlayerWeapon * weapon) = 0;
112+ virtual bool GiveNamedItemBool (const char * pchName) = 0;
113+ virtual CBaseEntity* GiveNamedItem (const char * pchName) = 0;
114+ virtual void DropPlayerWeapon (CBasePlayerWeapon* weapon) = 0;
117115 virtual void StripPlayerWeapons () = 0;
118116};
119117
@@ -155,12 +153,20 @@ class CPlayer_WeaponServices : public CPlayerPawnComponent
155153public:
156154 DECLARE_SCHEMA_CLASS_BASE (CPlayer_WeaponServices, false )
157155
158- SCHEMA_FIELD_POINTER_OFFSET (CUtlVector<CHandle<CBasePlayerWeapon>>, m_hMyWeapons, 0 )
159- SCHEMA_FIELD_OFFSET (CHandle<CBasePlayerWeapon>, m_hActiveWeapon, 0 )
156+ SCHEMA_FIELD_POINTER_OFFSET (CUtlVector<CHandle<CBasePlayerWeapon>>, m_hMyWeapons, 0 );
157+ SCHEMA_FIELD_OFFSET (CHandle<CBasePlayerWeapon>, m_hActiveWeapon, 0 );
158+
159+ void DropWeapon (CBasePlayerWeapon* pWeapon, Vector* pVecTarget = nullptr , Vector* pVelocity = nullptr )
160+ {
161+ static int offset = g_Offsets->GetOffset (" CCSPlayer_WeaponServices_DropWeapon" );
162+ CALL_VIRTUAL (void , offset, this , pWeapon, pVecTarget, pVelocity);
163+ }
160164
161- void RemoveWeapon (CBasePlayerWeapon * weapon)
165+ void RemoveWeapon (CBasePlayerWeapon* weapon)
162166 {
167+ this ->DropWeapon (weapon);
163168 CALL_VIRTUAL (void , 20 , weapon, nullptr , nullptr );
169+ weapon->Despawn ();
164170 }
165171};
166172
@@ -169,6 +175,6 @@ class CCSPlayerController_InventoryServices
169175public:
170176 DECLARE_SCHEMA_CLASS_BASE (CCSPlayerController_InventoryServices, false )
171177
172- SCHEMA_FIELD_OFFSET (uint16_t , m_unMusicID, 0 )
173- SCHEMA_FIELD_POINTER_OFFSET (uint8_t , m_rank, 0 )
178+ SCHEMA_FIELD_OFFSET (uint16_t , m_unMusicID, 0 );
179+ SCHEMA_FIELD_POINTER_OFFSET (uint8_t , m_rank, 0 );
174180};
0 commit comments