how to get a player position without lag compensation

enzaoboladao

Новичок
Автор темы
4
0
Tentei algumas maneiras, mas não tive sucesso. Gostaria de ajuda com isso. Desculpe se escrevi na seção errada, não sou da Rússia.
 

yorenov

Участник
61
53
Tentei algumas maneiras, mas não tive sucesso. Gostaria de ajuda com isso. Desculpe se escrevi na seção errada, não sou da Rússia.
C++:
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;
}

or without sampapi

C++:
CVector getLocalPlayerPositionRaw()
{
    void* pPlayerPed = *reinterpret_cast<void**>(0xB6F5F0);
    if (!pPlayerPed)
        return { 0,0,0 };

    void* pMatrix = *reinterpret_cast<void**>(
        reinterpret_cast<std::uintptr_t>(pPlayerPed) + 0x14
    );
    if (!pMatrix)
        return { 0,0,0 };

    const CVector pos = *reinterpret_cast<sampapi::CVector*>(
        reinterpret_cast<std::uintptr_t>(pMatrix) + 0x30
    );

    return pos;
}