fix changer

This commit is contained in:
_or_75
2026-05-08 15:20:25 +03:00
parent 3a9328da23
commit d0c37d92ed
7 changed files with 21 additions and 22 deletions
@@ -155,7 +155,7 @@ auto CInventoryChanger::OnFrameStageNotify( int FrameStage ) -> void
pWeapon->m_nFallbackPaintKit() = pWeaponInLoadoutItemView->GetCustomPaintKitIndex(); pWeapon->m_nFallbackPaintKit() = pWeaponInLoadoutItemView->GetCustomPaintKitIndex();
C_EconItemView_set_attribute_value_by_name( pWeaponItemView , "set item texture prefab" , pWeaponInLoadoutItemView->GetCustomPaintKitIndex() ); C_EconItemView_SetAttributeValueByName( pWeaponItemView , "set item texture prefab" , pWeaponInLoadoutItemView->GetCustomPaintKitIndex() );
const auto& AddedItems = GetInventoryItemsManager()->GetAddedItems(); const auto& AddedItems = GetInventoryItemsManager()->GetAddedItems();
const auto& Skin = AddedItems.find( pWeaponInLoadoutItemView->m_iItemID() ); const auto& Skin = AddedItems.find( pWeaponInLoadoutItemView->m_iItemID() );
@@ -193,6 +193,7 @@ auto CInventoryChanger::OnFrameStageNotify( int FrameStage ) -> void
pWeapon->UpdateSubclass(); pWeapon->UpdateSubclass();
pWeapon->UpdateCompositeMaterial( pCompositeMaterial ); pWeapon->UpdateCompositeMaterial( pCompositeMaterial );
pWeapon->UpdateCompositeMaterialSet();
pWeapon->UpdateSkin(); pWeapon->UpdateSkin();
pWeapon->m_pGameSceneNode()->PostDataUpdate(); pWeapon->m_pGameSceneNode()->PostDataUpdate();
@@ -289,18 +290,6 @@ auto CInventoryChanger::OnEquipItemInLoadout( int iTeam , int iSlot , uint64_t i
auto CInventoryChanger::OnFireEventClientSide( IGameEvent* pGameEvent ) -> void auto CInventoryChanger::OnFireEventClientSide( IGameEvent* pGameEvent ) -> void
{ {
if ( _strcmpi( pGameEvent->GetName() , XorStr( "item_pickup" ) ) == 0 )
{
if ( const auto* pItemPickupController = pGameEvent->GetPlayerController( XorStr( "userid" ) ); pItemPickupController )
{
if ( pItemPickupController == GetCL_Players()->GetLocalPlayerController() )
{
if ( _strcmpi( pGameEvent->GetString( "item" ) , XorStr( "defuser" ) ) == 0 )
m_bApplyGloves = true;
}
}
}
if ( _strcmpi( pGameEvent->GetName() , XorStr( "player_death" ) ) == 0 ) if ( _strcmpi( pGameEvent->GetName() , XorStr( "player_death" ) ) == 0 )
{ {
if ( auto* pPlayerInventory = CCSPlayerInventory::Get(); pPlayerInventory ) if ( auto* pPlayerInventory = CCSPlayerInventory::Get(); pPlayerInventory )
@@ -60,7 +60,7 @@ auto CFunctionList::OnInit() -> bool
&C_CSWeaponBase_UpdateSubclass, &C_CSWeaponBase_UpdateSubclass,
&C_CSWeaponBase_UpdateSkin, &C_CSWeaponBase_UpdateSkin,
&C_CSWeaponBase_UpdateCompositeMaterial, &C_CSWeaponBase_UpdateCompositeMaterial,
&C_BaseEntity_SetBodyGroup, &C_CSPlayerPawn_SetBodyGroup,
&GetCUserCmdTick, &GetCUserCmdTick,
&GetCUserCmdArray, &GetCUserCmdArray,
&GetCUserCmdBySequenceNumber, &GetCUserCmdBySequenceNumber,
@@ -70,7 +70,8 @@ auto CFunctionList::OnInit() -> bool
&CCSGO_HudWeaponSelection_ClearHudWeaponIcon, &CCSGO_HudWeaponSelection_ClearHudWeaponIcon,
&C_BaseEntity_GetHitBoxSet, &C_BaseEntity_GetHitBoxSet,
&C_BaseEntity_UpdateBodyGroupChoice, &C_BaseEntity_UpdateBodyGroupChoice,
&C_EconItemView_set_attribute_value_by_name, &C_EconItemView_SetAttributeValueByName,
&C_CSWeaponBase_UpdateCompositeMaterialSet,
}; };
auto Searched = true; auto Searched = true;
@@ -132,7 +132,7 @@ public:
CBasePattern C_CSWeaponBase_UpdateSubclass = { VmpStr( "C_CSWeaponBase::UpdateSubclass" ) , VmpStr( "4C 8B DC 53 48 81 EC ? ? ? ? 48 8B 41" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE }; CBasePattern C_CSWeaponBase_UpdateSubclass = { VmpStr( "C_CSWeaponBase::UpdateSubclass" ) , VmpStr( "4C 8B DC 53 48 81 EC ? ? ? ? 48 8B 41" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE };
CBasePattern C_CSWeaponBase_UpdateSkin = { VmpStr( "C_CSWeaponBase::UpdateSkin" ) , VmpStr( "48 89 5C 24 08 57 48 83 EC 20 8B DA 48 8B F9 E8 ? ? ? ? F6 C3 01 74 0A 33 D2 48 8B CF E8 ? ? ? ? 48 8D 8F 60 19 00 00" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE }; CBasePattern C_CSWeaponBase_UpdateSkin = { VmpStr( "C_CSWeaponBase::UpdateSkin" ) , VmpStr( "48 89 5C 24 08 57 48 83 EC 20 8B DA 48 8B F9 E8 ? ? ? ? F6 C3 01 74 0A 33 D2 48 8B CF E8 ? ? ? ? 48 8D 8F 60 19 00 00" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE };
CBasePattern C_CSWeaponBase_UpdateCompositeMaterial = { VmpStr( "C_CSWeaponBase::UpdateCompositeMaterial" ) , VmpStr( "E8 ? ? ? ? 48 8D 8B ? ? ? ? 48 89 BC 24" ) , CLIENT_DLL , 0 , SEARCH_TYPE_CALL }; CBasePattern C_CSWeaponBase_UpdateCompositeMaterial = { VmpStr( "C_CSWeaponBase::UpdateCompositeMaterial" ) , VmpStr( "E8 ? ? ? ? 48 8D 8B ? ? ? ? 48 89 BC 24" ) , CLIENT_DLL , 0 , SEARCH_TYPE_CALL };
CBasePattern C_BaseEntity_SetBodyGroup = { VmpStr( "C_BaseEntity::SetBodyGroup" ) , VmpStr( "85 D2 0F 88 CB 01 00 00" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE }; CBasePattern C_CSPlayerPawn_SetBodyGroup = { VmpStr( "C_CSPlayerPawn::SetBodyGroup" ) , VmpStr( "E8 ? ? ? ? EB 0C 48 8B CF" ) , CLIENT_DLL , 0 , SEARCH_TYPE_CALL };
CBasePattern GetCUserCmdTick = { VmpStr( "GetCUserCmdTick" ) , VmpStr( "48 83 EC ? 4C 8B 0D ? ? ? ? 4C 8B DA" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE }; CBasePattern GetCUserCmdTick = { VmpStr( "GetCUserCmdTick" ) , VmpStr( "48 83 EC ? 4C 8B 0D ? ? ? ? 4C 8B DA" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE };
CBasePattern GetCUserCmdArray = { VmpStr( "GetCUserCmdArray" ) , VmpStr( "48 89 4C 24 ? 41 56 41 57" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE }; CBasePattern GetCUserCmdArray = { VmpStr( "GetCUserCmdArray" ) , VmpStr( "48 89 4C 24 ? 41 56 41 57" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE };
CBasePattern GetCUserCmdBySequenceNumber = { VmpStr( "GetCUserCmdBySequenceNumber" ) , VmpStr( "40 53 48 83 EC ? 8B DA E8 ? ? ? ? 4C 8B C0" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE }; CBasePattern GetCUserCmdBySequenceNumber = { VmpStr( "GetCUserCmdBySequenceNumber" ) , VmpStr( "40 53 48 83 EC ? 8B DA E8 ? ? ? ? 4C 8B C0" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE };
@@ -142,7 +142,8 @@ public:
CBasePattern CCSGO_HudWeaponSelection_ClearHudWeaponIcon = { VmpStr( "CCSGO_HudWeaponSelection::ClearHudWeaponIcon" ) , VmpStr( "E8 ? ? ? ? 8B F8 C6 84 24" ) , CLIENT_DLL , 0 , SEARCH_TYPE_CALL }; CBasePattern CCSGO_HudWeaponSelection_ClearHudWeaponIcon = { VmpStr( "CCSGO_HudWeaponSelection::ClearHudWeaponIcon" ) , VmpStr( "E8 ? ? ? ? 8B F8 C6 84 24" ) , CLIENT_DLL , 0 , SEARCH_TYPE_CALL };
CBasePattern C_BaseEntity_GetHitBoxSet = { VmpStr( "C_BaseEntity::GetHitBoxSet" ) , VmpStr( "48 89 5C 24 ? 48 89 74 24 ? 57 48 81 EC ? ? ? ? 8B DA 48 8B F9 E8 ? ? ? ? 48 8B F0" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE }; CBasePattern C_BaseEntity_GetHitBoxSet = { VmpStr( "C_BaseEntity::GetHitBoxSet" ) , VmpStr( "48 89 5C 24 ? 48 89 74 24 ? 57 48 81 EC ? ? ? ? 8B DA 48 8B F9 E8 ? ? ? ? 48 8B F0" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE };
CBasePattern C_BaseEntity_UpdateBodyGroupChoice = { VmpStr( "C_BaseEntity::UpdateBodyGroupChoice" ) , VmpStr( "E8 ? ? ? ? 4C 8B AC 24 ? ? ? ? 48 8B BC 24" ) , CLIENT_DLL , 0 , SEARCH_TYPE_CALL }; CBasePattern C_BaseEntity_UpdateBodyGroupChoice = { VmpStr( "C_BaseEntity::UpdateBodyGroupChoice" ) , VmpStr( "E8 ? ? ? ? 4C 8B AC 24 ? ? ? ? 48 8B BC 24" ) , CLIENT_DLL , 0 , SEARCH_TYPE_CALL };
CBasePattern C_EconItemView_set_attribute_value_by_name = { VmpStr( "C_EconItemView::set_attribute_value_by_name" ) , VmpStr( "E8 ? ? ? ? 66 41 0F 6E D4" ) , CLIENT_DLL , 0 , SEARCH_TYPE_CALL }; CBasePattern C_EconItemView_SetAttributeValueByName = { VmpStr( "C_EconItemView::SetAttributeValueByName" ) , VmpStr( "E8 ? ? ? ? 66 41 0F 6E D4" ) , CLIENT_DLL , 0 , SEARCH_TYPE_CALL };
CBasePattern C_CSWeaponBase_UpdateCompositeMaterialSet = { VmpStr( "C_CSWeaponBase::UpdateCompositeMaterialSet" ) , VmpStr( "40 55 53 41 57 48 8D AC 24 00 FE ? ?" ) , CLIENT_DLL , 0 , SEARCH_TYPE_NONE };
}; };
@@ -109,7 +109,7 @@ DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , CGameSceneNode_SetMeshGroupMask , (
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_CSWeaponBase_UpdateSubclass , ( C_CSWeaponBase* pWeaponBase ) , ( C_CSWeaponBase* ) , ( pWeaponBase ) ); DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_CSWeaponBase_UpdateSubclass , ( C_CSWeaponBase* pWeaponBase ) , ( C_CSWeaponBase* ) , ( pWeaponBase ) );
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_CSWeaponBase_UpdateSkin , ( C_CSWeaponBase* pWeaponBase , bool Update ) , ( C_CSWeaponBase* , bool ) , ( pWeaponBase , Update ) ); DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_CSWeaponBase_UpdateSkin , ( C_CSWeaponBase* pWeaponBase , bool Update ) , ( C_CSWeaponBase* , bool ) , ( pWeaponBase , Update ) );
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_CSWeaponBase_UpdateCompositeMaterial , ( CCompositeMaterialOwner* pCompositeMaterialOwner , bool unk1 ) , ( CCompositeMaterialOwner* , bool ) , ( pCompositeMaterialOwner , unk1 ) ); DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_CSWeaponBase_UpdateCompositeMaterial , ( CCompositeMaterialOwner* pCompositeMaterialOwner , bool unk1 ) , ( CCompositeMaterialOwner* , bool ) , ( pCompositeMaterialOwner , unk1 ) );
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_BaseEntity_SetBodyGroup , ( C_BaseEntity* pC_BaseEntity , int unk1 , unsigned int unk2 ) , ( C_BaseEntity* , int , unsigned int ) , ( pC_BaseEntity , unk1 , unk2 ) ); DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_CSPlayerPawn_SetBodyGroup , ( C_CSPlayerPawn* pC_CSPlayerPawn , const char* Group , int unk1 ) , ( C_CSPlayerPawn* , const char* , int ) , ( pC_CSPlayerPawn , Group , unk1 ) );
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , GetCUserCmdTick , ( CCSPlayerController* pPlayerController , int32_t* pOutputTick ) , ( CCSPlayerController* , int32_t* ) , ( pPlayerController , pOutputTick ) ); DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , GetCUserCmdTick , ( CCSPlayerController* pPlayerController , int32_t* pOutputTick ) , ( CCSPlayerController* , int32_t* ) , ( pPlayerController , pOutputTick ) );
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( CUserCmdArray* , GetCUserCmdArray , ( CUserCmd** ppCUserCmd , int Tick ) , ( CUserCmd** , int ) , ( ppCUserCmd , Tick ) ); DECLARATE_CS2_FUNCTION_SDK_FASTCALL( CUserCmdArray* , GetCUserCmdArray , ( CUserCmd** ppCUserCmd , int Tick ) , ( CUserCmd** , int ) , ( ppCUserCmd , Tick ) );
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( CUserCmd* , GetCUserCmdBySequenceNumber , ( CCSPlayerController* pPlayerController , uint32_t SequenceNumber ) , ( CCSPlayerController* , uint32_t ) , ( pPlayerController , SequenceNumber ) ); DECLARATE_CS2_FUNCTION_SDK_FASTCALL( CUserCmd* , GetCUserCmdBySequenceNumber , ( CCSPlayerController* pPlayerController , uint32_t SequenceNumber ) , ( CCSPlayerController* , uint32_t ) , ( pPlayerController , SequenceNumber ) );
@@ -119,7 +119,8 @@ DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , CTraceFilter_Constructor , ( CTraceF
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , CCSGO_HudWeaponSelection_ClearHudWeaponIcon , ( CCSGO_HudWeaponSelection* pCCSGO_HudWeaponSelection , int unk1 , int64_t unk2 ) , ( CCSGO_HudWeaponSelection* , int , int64_t ) , ( pCCSGO_HudWeaponSelection , unk1 , unk2 ) ); DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , CCSGO_HudWeaponSelection_ClearHudWeaponIcon , ( CCSGO_HudWeaponSelection* pCCSGO_HudWeaponSelection , int unk1 , int64_t unk2 ) , ( CCSGO_HudWeaponSelection* , int , int64_t ) , ( pCCSGO_HudWeaponSelection , unk1 , unk2 ) );
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( CHitBoxSet* , C_BaseEntity_GetHitBoxSet , ( C_BaseEntity* pC_BaseEntity , uint32_t Index = 0 ) , ( C_BaseEntity* , uint32_t ) , ( pC_BaseEntity , Index ) ); DECLARATE_CS2_FUNCTION_SDK_FASTCALL( CHitBoxSet* , C_BaseEntity_GetHitBoxSet , ( C_BaseEntity* pC_BaseEntity , uint32_t Index = 0 ) , ( C_BaseEntity* , uint32_t ) , ( pC_BaseEntity , Index ) );
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_BaseEntity_UpdateBodyGroupChoice , ( C_BaseEntity* pC_BaseEntity ) , ( C_BaseEntity* ) , ( pC_BaseEntity ) ); DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_BaseEntity_UpdateBodyGroupChoice , ( C_BaseEntity* pC_BaseEntity ) , ( C_BaseEntity* ) , ( pC_BaseEntity ) );
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_EconItemView_set_attribute_value_by_name , ( C_EconItemView* pC_EconItemView , const char* szAttributeName , float flValue ) , ( C_EconItemView* , const char* , float ) , ( pC_EconItemView , szAttributeName , flValue ) ); DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_EconItemView_SetAttributeValueByName , ( C_EconItemView* pC_EconItemView , const char* szAttributeName , float flValue ) , ( C_EconItemView* , const char* , float ) , ( pC_EconItemView , szAttributeName , flValue ) );
DECLARATE_CS2_FUNCTION_SDK_FASTCALL( void , C_CSWeaponBase_UpdateCompositeMaterialSet , ( C_CSWeaponBase* pC_CSWeaponBase , bool unk1 ) , ( C_CSWeaponBase* , bool ) , ( pC_CSWeaponBase , unk1 ) );
// Helpers: // Helpers:
@@ -181,9 +181,9 @@ auto C_BaseEntity::ComputeHitboxSurroundingBox( Vector3& mins , Vector3& maxs )
return C_BaseEntity_ComputeHitboxSurroundingBox( this , mins , maxs ); return C_BaseEntity_ComputeHitboxSurroundingBox( this , mins , maxs );
} }
auto C_BaseEntity::SetBodyGroup() -> void auto C_CSPlayerPawn::SetBodyGroup() -> void
{ {
return C_BaseEntity_SetBodyGroup( this , m_iTeamNum() == TEAM_TT ? 0 : 1 , 1 ); return C_CSPlayerPawn_SetBodyGroup( this , "first_or_third_person" , 1 );
} }
auto C_BaseEntity::GetBoneIdByName( const char* szName ) -> int auto C_BaseEntity::GetBoneIdByName( const char* szName ) -> int
@@ -306,6 +306,11 @@ auto C_CSWeaponBase::UpdateCompositeMaterial( CCompositeMaterialOwner* pCComposi
C_CSWeaponBase_UpdateCompositeMaterial( pCCompositeMaterialOwner , true ); C_CSWeaponBase_UpdateCompositeMaterial( pCCompositeMaterialOwner , true );
} }
auto C_CSWeaponBase::UpdateCompositeMaterialSet() -> void
{
C_CSWeaponBase_UpdateCompositeMaterialSet( this , false );
}
auto C_CSWeaponBase::UpdateSubclass() -> void auto C_CSWeaponBase::UpdateSubclass() -> void
{ {
return C_CSWeaponBase_UpdateSubclass( this ); return C_CSWeaponBase_UpdateSubclass( this );
@@ -463,6 +463,7 @@ public:
auto GetViewModels() -> std::vector<C_CS2HudModelWeapon*>; auto GetViewModels() -> std::vector<C_CS2HudModelWeapon*>;
auto GetViewModel() -> C_CS2HudModelWeapon*; auto GetViewModel() -> C_CS2HudModelWeapon*;
auto GetKnifeModel() -> C_CS2HudModelWeapon*; auto GetKnifeModel() -> C_CS2HudModelWeapon*;
auto SetBodyGroup() -> void;
public: public:
inline auto IsAlive() -> bool inline auto IsAlive() -> bool
@@ -534,6 +535,7 @@ public:
public: public:
auto UpdateCompositeMaterial( CCompositeMaterialOwner* pCCompositeMaterialOwner ) -> void; auto UpdateCompositeMaterial( CCompositeMaterialOwner* pCCompositeMaterialOwner ) -> void;
auto UpdateCompositeMaterialSet() -> void;
auto UpdateSubclass() -> void; auto UpdateSubclass() -> void;
auto UpdateSkin() -> void; auto UpdateSkin() -> void;
}; };
@@ -7,7 +7,7 @@
#define CONFIG_FILE "config.json" #define CONFIG_FILE "config.json"
#define CHEAT_NAME "Andromeda CS2 Base" #define CHEAT_NAME "Andromeda CS2 Base"
#define CHEAT_VERSION "1.2.0" #define CHEAT_VERSION "1.2.1"
// Project Buid Config: // Project Buid Config: