Показать сообщение отдельно

  #7595  
Старый 12.08.2025, 01:50
swlm
Познающий
Регистрация: 03.08.2022
Сообщений: 57
С нами: 1990627

Репутация: 8
По умолчанию

game_ped почему-то nullptr

cpp:





Код:
uintptr_t getPlayerEntity() {
    uintptr_t player_pool = getPlayerPool();
    uintptr_t local_info = player_pool + 0x2F14;
    uintptr_t* local_player = reinterpret_cast(local_info + 0x26);
    uintptr_t samp_ped = *local_player;
    uintptr_t game_ped = samp_ped + 0x2A4;

    return game_ped;
}

CVector* getPos() {
    uintptr_t gamePed = getPlayerEntity();
    if (!gamePed) {
        return reinterpret_cast(0x4043A0)(gamePed);
    }

    return new CVector{ 1.0, 0.0, 10.0 };
}




Получилось, получил координаты.

Правильный вариант оказался таким:

cpp:





Код:
uintptr_t getPlayerEntity() {
    uintptr_t player_pool = getPlayerPool();
    uintptr_t local = player_pool + 0x2F14;

    uintptr_t local_info = *reinterpret_cast(local + 0x26);
    if (!local_info) return 0;

    uintptr_t samp_ped = *reinterpret_cast(local_info + 0x0);
    uintptr_t game_ped = *reinterpret_cast(samp_ped + 0x2A4);

    return game_ped;
}

CVector* getPos() {
    uintptr_t gamePed = getPlayerEntity();
    if (gamePed) {
        return reinterpret_cast(0x4043A0)(gamePed);
    }

    return new CVector{ 1.0, 0.0, 10.0 };
}
 
Ответить с цитированием