sampapi::CVector getLocalPosition() { sampapi::CVector pos{0, 0, 0}; auto pNetGame = sampapi::v037r3::RefNetGame(); if (!pNetGame) return pos; auto pPlayerPool = pNetGame->GetPlayerPool(); if (!pPlayerPool) return pos; auto pLocalPlayer = pPlayerPool->GetLocalPlayer(); if (!pLocalPlayer) return pos; pos.x = pLocalPlayer->m_onfootData.m_position.x; pos.y = pLocalPlayer->m_onfootData.m_position.y; pos.z = pLocalPlayer->m_onfootData.m_position.z; return pos; }
CVector getLocalPlayerPositionRaw() { void* pPlayerPed = *reinterpret_cast(0xB6F5F0); if (!pPlayerPed) return { 0,0,0 }; void* pMatrix = *reinterpret_cast( reinterpret_cast(pPlayerPed) + 0x14 ); if (!pMatrix) return { 0,0,0 }; const CVector pos = *reinterpret_cast( reinterpret_cast(pMatrix) + 0x30 ); return pos; }