SRHook .ASI .DLL C++ вопросец.

ya_noob

Участник
Автор темы
57
7
У SR_team есть свой хук https://gitlab.com/SR_team/llmo/-/blob/master/SRHook.hpp

Кто-нибудь может написать пару простейших примеров с ним, если вам не трудно. (Например: *(int*)0xBAB22C - цвет ХП в худе; *(float*)0x00B7C4F0 - дистанция тумана и так далее, что только вашей фантазии угодно). Буду благодарен.


У меня в SRHook ошибка не позволяющая скомпилировать проект. Почему? /std:c++17
 

Вложения

  • Снимок экрана (208).png
    Снимок экрана (208).png
    120.9 KB · Просмотры: 115
Последнее редактирование:

VanBer

Новичок
11
0
У SR_team есть свой хук https://gitlab.com/SR_team/llmo/-/blob/master/SRHook.hpp

Кто-нибудь может написать пару простейших примеров с ним, если вам не трудно. (Например: *(int*)0xBAB22C - цвет ХП в худе; *(float*)0x00B7C4F0 - дистанция тумана и так далее, что только вашей фантазии угодно). Буду благодарен.

У меня в SRHook ошибка не позволяющая скомпилировать проект. Почему? /std:c++17
Проект -> Настройки -> C++ -> Отключение проверки SDL
 

Receiver

🥩 Передай meat, всё в скип, я в темпе
Проверенный
597
819
У SR_team есть свой хук https://gitlab.com/SR_team/llmo/-/blob/master/SRHook.hpp

Кто-нибудь может написать пару простейших примеров с ним, если вам не трудно. (Например: *(int*)0xBAB22C - цвет ХП в худе; *(float*)0x00B7C4F0 - дистанция тумана и так далее, что только вашей фантазии угодно). Буду благодарен.

У меня в SRHook ошибка не позволяющая скомпилировать проект. Почему? /std:c++17
Хуки можно поставить только на функции. Если тебе нужно отследить значения переменной, то можно сделать просто проверку:
C++:
// Для удобства получения
namespace hud {
    std::uint32_t health_color() {
        return *reinterpret_cast<std::uint32_t*>(0xBAB22C);
    }
}

// Для удобства вынес в лямбду, можешь этот код прям в цикл вставить
auto color_event = [](std::uint32_t prev, std::uint32_t next) {
    std::cout
        << std::hex << std::uppercase
        << "Цвет изменился с {0x" << prev
        << "} на {0x" << next << "}.\n";
};
// Инициализируем переменную начальным цветом, чтобы
// не получить срабатывания при первом проходе цикла
std::uint32_t prev_color{hud::health_color()};

// Бесконечные циклы в основном потоке игры
// использовать нельзя, нужно будет заменить на хук update
while (true) {
    const std::uint32_t color{hud::health_color()};
    // Если прошлый цвет не равен текущему цвету
    if (prev_color != color) {
        std::invoke(color_event, prev_color, color);
        prev_color = color;
    }
}
На счёт ошибки: тебе надо открыть "Твой проект -> Свойства ->C/C++ -> Препроцессор -> Определения препроцессора" и добавить туда _CRT_SECURE_NO_WARNINGS
 
Последнее редактирование: