From d0c37d92ed826bfad3a1d1bc121ae74b4ac4d57b Mon Sep 17 00:00:00 2001 From: _or_75 Date: Fri, 8 May 2026 15:20:25 +0300 Subject: [PATCH] fix changer --- .../CInventoryChanger/CInventoryChanger.cpp | 15 ++------------- .../Andromeda-CS2-Base/CS2/SDK/CFunctionList.cpp | 5 +++-- .../Andromeda-CS2-Base/CS2/SDK/CFunctionList.hpp | 5 +++-- .../CS2/SDK/FunctionListSDK.hpp | 5 +++-- .../CS2/SDK/Types/CEntityData.cpp | 9 +++++++-- .../CS2/SDK/Types/CEntityData.hpp | 2 ++ .../Andromeda-CS2-Base/Common/Include/Config.hpp | 2 +- 7 files changed, 21 insertions(+), 22 deletions(-) diff --git a/Andromeda-CS2-Base/Andromeda-CS2-Base/AndromedaClient/Features/CInventoryChanger/CInventoryChanger.cpp b/Andromeda-CS2-Base/Andromeda-CS2-Base/AndromedaClient/Features/CInventoryChanger/CInventoryChanger.cpp index 778cded..d5acf93 100644 --- a/Andromeda-CS2-Base/Andromeda-CS2-Base/AndromedaClient/Features/CInventoryChanger/CInventoryChanger.cpp +++ b/Andromeda-CS2-Base/Andromeda-CS2-Base/AndromedaClient/Features/CInventoryChanger/CInventoryChanger.cpp @@ -155,7 +155,7 @@ auto CInventoryChanger::OnFrameStageNotify( int FrameStage ) -> void 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& Skin = AddedItems.find( pWeaponInLoadoutItemView->m_iItemID() ); @@ -193,6 +193,7 @@ auto CInventoryChanger::OnFrameStageNotify( int FrameStage ) -> void pWeapon->UpdateSubclass(); pWeapon->UpdateCompositeMaterial( pCompositeMaterial ); + pWeapon->UpdateCompositeMaterialSet(); pWeapon->UpdateSkin(); pWeapon->m_pGameSceneNode()->PostDataUpdate(); @@ -289,18 +290,6 @@ auto CInventoryChanger::OnEquipItemInLoadout( int iTeam , int iSlot , uint64_t i 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 ( auto* pPlayerInventory = CCSPlayerInventory::Get(); pPlayerInventory ) diff --git a/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/CFunctionList.cpp b/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/CFunctionList.cpp index 6e8fe29..51faa8b 100644 --- a/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/CFunctionList.cpp +++ b/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/CFunctionList.cpp @@ -60,7 +60,7 @@ auto CFunctionList::OnInit() -> bool &C_CSWeaponBase_UpdateSubclass, &C_CSWeaponBase_UpdateSkin, &C_CSWeaponBase_UpdateCompositeMaterial, - &C_BaseEntity_SetBodyGroup, + &C_CSPlayerPawn_SetBodyGroup, &GetCUserCmdTick, &GetCUserCmdArray, &GetCUserCmdBySequenceNumber, @@ -70,7 +70,8 @@ auto CFunctionList::OnInit() -> bool &CCSGO_HudWeaponSelection_ClearHudWeaponIcon, &C_BaseEntity_GetHitBoxSet, &C_BaseEntity_UpdateBodyGroupChoice, - &C_EconItemView_set_attribute_value_by_name, + &C_EconItemView_SetAttributeValueByName, + &C_CSWeaponBase_UpdateCompositeMaterialSet, }; auto Searched = true; diff --git a/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/CFunctionList.hpp b/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/CFunctionList.hpp index 1c1c47c..21ad506 100644 --- a/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/CFunctionList.hpp +++ b/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/CFunctionList.hpp @@ -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_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_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 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 }; @@ -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 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_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 }; }; diff --git a/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/FunctionListSDK.hpp b/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/FunctionListSDK.hpp index f61398d..92903f3 100644 --- a/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/FunctionListSDK.hpp +++ b/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/FunctionListSDK.hpp @@ -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_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_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( 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 ) ); @@ -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( 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_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: diff --git a/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/Types/CEntityData.cpp b/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/Types/CEntityData.cpp index 9e7e033..dd272e3 100644 --- a/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/Types/CEntityData.cpp +++ b/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/Types/CEntityData.cpp @@ -181,9 +181,9 @@ auto C_BaseEntity::ComputeHitboxSurroundingBox( Vector3& mins , Vector3& 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 @@ -306,6 +306,11 @@ auto C_CSWeaponBase::UpdateCompositeMaterial( CCompositeMaterialOwner* pCComposi C_CSWeaponBase_UpdateCompositeMaterial( pCCompositeMaterialOwner , true ); } +auto C_CSWeaponBase::UpdateCompositeMaterialSet() -> void +{ + C_CSWeaponBase_UpdateCompositeMaterialSet( this , false ); +} + auto C_CSWeaponBase::UpdateSubclass() -> void { return C_CSWeaponBase_UpdateSubclass( this ); diff --git a/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/Types/CEntityData.hpp b/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/Types/CEntityData.hpp index 2e35235..051fd56 100644 --- a/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/Types/CEntityData.hpp +++ b/Andromeda-CS2-Base/Andromeda-CS2-Base/CS2/SDK/Types/CEntityData.hpp @@ -463,6 +463,7 @@ public: auto GetViewModels() -> std::vector; auto GetViewModel() -> C_CS2HudModelWeapon*; auto GetKnifeModel() -> C_CS2HudModelWeapon*; + auto SetBodyGroup() -> void; public: inline auto IsAlive() -> bool @@ -534,6 +535,7 @@ public: public: auto UpdateCompositeMaterial( CCompositeMaterialOwner* pCCompositeMaterialOwner ) -> void; + auto UpdateCompositeMaterialSet() -> void; auto UpdateSubclass() -> void; auto UpdateSkin() -> void; }; diff --git a/Andromeda-CS2-Base/Andromeda-CS2-Base/Common/Include/Config.hpp b/Andromeda-CS2-Base/Andromeda-CS2-Base/Common/Include/Config.hpp index b5a4cec..cfce254 100644 --- a/Andromeda-CS2-Base/Andromeda-CS2-Base/Common/Include/Config.hpp +++ b/Andromeda-CS2-Base/Andromeda-CS2-Base/Common/Include/Config.hpp @@ -7,7 +7,7 @@ #define CONFIG_FILE "config.json" #define CHEAT_NAME "Andromeda CS2 Base" -#define CHEAT_VERSION "1.2.0" +#define CHEAT_VERSION "1.2.1" // Project Buid Config: