• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Вопрос Немогу прочесть имена игроков на карте

Начинающий
Начинающий
Статус
Онлайн
Регистрация
19 Окт 2022
Сообщения
45
Реакции
17
Хотел прочесть имена игроков в игре, написал код но всё равно ошибка. Немогу понять в чём проблема, брал самые последние оффсеты.
1758364555987.png

Код:
Expand Collapse Copy
#include <iostream>
#include <string>
#include "memory.h"

uint64_t dwLocalPlayer = 0x1E0E578;
uint64_t dwEntityList = 0x1D05458;
uint64_t m_iszPlayerName = 0x6E8;

int main() {
    int pid = memory::get_process_id_by_name("cs2.exe");
    if (pid <= 0)
    {
        std::cout << "Cs2 not found.\n";
        return 1;
    }
    std::cout << pid << std::endl;

    uint64_t base_addr = reinterpret_cast<uint64_t>(memory::main_module.lpBaseOfDll);
    uint64_t entity_list = memory::read<uint64_t>(base_addr + dwEntityList);

    std::cout << "Player entity:\n";

    for (uint64_t i = 0; i < 32; i++)
    {
        uint64_t entity_addr = memory::read<uint64_t>(entity_list + i * 0x10); // address syshnosti + entity size
        if (entity_addr == 0)
            continue;

        uint64_t name_ptr = memory::read<uint64_t>(entity_addr + m_iszPlayerName); // player address name
        if (name_ptr == 0)
            continue;

        char player_name[32] = { 0 };
        if (!ReadProcessMemory(memory::proc_handle, reinterpret_cast<LPCVOID>(name_ptr), &player_name, sizeof(player_name), nullptr)) {
            std::cout << "Error for read" << std::endl;
        }
        else {
            std::cout << i << ": " << player_name << std::endl;
        }
    }

    return 0;
}
 
оффсет constexpr std::ptrdiff_t m_sSanitizedPlayerName = 0x850;
Что бы прочесть тебе надо контроллер игрока + этот оффсет, и он выводит тебе строку с ником у тебя на клиенте.
 
оффсет constexpr std::ptrdiff_t m_sSanitizedPlayerName = 0x850;
Что бы прочесть тебе надо контроллер игрока + этот оффсет, и он выводит тебе строку с ником у тебя на клиенте.
не в этом дело. ну по крайней мере до этого ещё далеко
 
оффсет constexpr std::ptrdiff_t m_sSanitizedPlayerName = 0x850;
Что бы прочесть тебе надо контроллер игрока + этот оффсет, и он выводит тебе строку с ником у тебя на клиенте.
Помогло, благодарю.
 
Назад
Сверху Снизу