diff --git a/saco/game/playerped.cpp b/saco/game/playerped.cpp index cf6b7b5..30baeb9 100644 --- a/saco/game/playerped.cpp +++ b/saco/game/playerped.cpp @@ -1106,3 +1106,23 @@ VECTOR* CPlayerPed::GetBonePosition(int iBone, VECTOR *vecPos) //----------------------------------------------------------- +VECTOR* CPlayerPed::GetTransformedBonePosition(int iBone, VECTOR *vecOffset) +{ + if(!m_pPed) return NULL; + if(m_pPed->entity.vtable == 0x863C40) return NULL; + + DWORD dwPedPtr = (DWORD)m_pPed; + VECTOR* vecResult; + + _asm push 0 + _asm push iBone + _asm push vecOffset + _asm mov ecx, dwPedPtr + _asm mov edx, 0x5E01C0 ; CPed__GetTransformedBonePosition + _asm call edx + _asm mov vecResult, eax + + return vecResult; +} + +//----------------------------------------------------------- diff --git a/saco/game/playerped.h b/saco/game/playerped.h index 8104fa8..0e6d0b9 100644 --- a/saco/game/playerped.h +++ b/saco/game/playerped.h @@ -105,6 +105,7 @@ public: void SetWeaponSkillLevel(int iSkill, float fLevel); VECTOR* GetBonePosition(int iBone, VECTOR *vecPos); + VECTOR* GetTransformedBonePosition(int iBone, VECTOR *vecOffset); //char _gap0[813]; //char _gap0[741];