• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Исходник OHUD - Библиотека для создания ESP для CS2 и не только

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
17 Июн 2024
Сообщения
25
Реакции
17
1753915103149.png
Рад представить библиотеку ohud, которую я разработал, выделив её из моих пет-проектов по созданию читов для Apex Legends и CS2. Столкнувшись с необходимостью создания производительных и функциональных оверлеев, я решил вынести все ключевые инструменты в отдельную библиотеку, которая теперь доступна всем.
GitHub:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Вкратце что с ней можно делать:
  1. Рендеринг ESP и других визуальных элементов. Это одна из ключевых функций, которая позволяет отображать информацию о противниках, предметах и других игровых объектах прямо поверх игрового изображения.
  2. Гибкие настройки интерфейса. Встроенные инструменты для создания настраиваемых интерфейсов, от простых индикаторов до сложных информационных панелей.
Примеры кода:
C++:
Expand Collapse Copy
for (auto ent: apex_sdk::EntityList::GetAllEntities())
        {
            const auto bottom = cam.world_to_screen(ent.GetOrigin());
            const auto top = cam.world_to_screen(ent.GetBonePosition(8) + omath::Vector3<float>{0, 0, 10});

            const auto ent_health = ent.GetHealth();

            if (!top || !bottom || ent_health <= 0)
                continue;

            const auto ent_shield = ent.GetShield();
            const auto ent_max_shield = ent.GetMaxShield();
            const auto shield_color = ent.GetShieldColor().to_im_color();

            ohud::EntityOverlayRender ent_esp{top->to_im_vec2(), bottom->to_im_vec2()};
            ent_esp.add_2d_box(ImColor(255, 0, 0));

            auto col = omath::Color{1.f, 0, 0, 1.f}.blend({0.f, 1.f, 0.f, 1.f}, ent_health / 100.f);



            col.set_value(1.f);
            ent_esp.add_right_bar(col.to_im_color(), ImColor(0, 0, 0), ImColor(0, 0, 0, 0), 4, ent_health / 100.f,
                                  2);
            ent_esp.add_left_bar(shield_color, ImColor(0, 0, 0), ImColor(0, 0, 0, 0), 4,
                                 ent_shield / static_cast<float>(ent_max_shield), 2.f);

            if (localPlayer.GetOrigin().distance_to(ent.GetOrigin()) > 2048)
                continue;

            ent_esp.add_right_label(col.to_im_color(), 3, true, "Health: {}/100", ent_health);
            ent_esp.add_right_label(shield_color, 3, true, "Shield: {}/{}", ent_shield, ent_max_shield);
        }
312076
 

Вложения

  • 1753915002961.png
    1753915002961.png
    138.6 KB · Просмотры: 1,321
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
имбулечка
 
Неплохая либа для упрощения некоторых моментов.
P.S еще нравится как автор называет свои проекты - омач..., охуд...., омайфю.../
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
бесполезно на самом деле. Люди, которые умеют использовать имгуи, сделают есп элементы без проблем. Это самая основа чита которую должен освоить каждый кодер или пастер.
 
бесполезно на самом деле. Люди, которые умеют использовать имгуи, сделают есп элементы без проблем. Это самая основа чита которую должен освоить каждый кодер или пастер.
зачем каждый раз изобретать велосипед? проще просто нужную либу подключить и не париться + удобно переносить есп и логику из одного проекта в другой.
 
зачем каждый раз изобретать велосипед? проще просто нужную либу подключить и не париться + удобно переносить есп и логику из одного проекта в другой.
лично меня бесит, когда в сурсе что то лишнее, то, что можно сделать самому, но кто то предпочитает взять готовое. Короче говоря - паста. Я понимаю, может другие либы могут пригодиться без которых не обойтись, но точно не для есп на имгуи, что можно сделать самому посидев 30 минут. Мне нравится, когда в сурсе всё чисто, по код стайлу, без говна. Да и в чем проблема перенести имгуи рендер есп на другой проект который тоже на имгуи??? Просто не очень понял в чем проблема то заключается.
 
тогда уж лучше бы написал библиотеку которая полностью будет отвечать за рендер элементов произвольных, которые уже можно визуально переставлять местами, а не хардкод последовательности элементов на уровне кода
 
лично меня бесит, когда в сурсе что то лишнее, то, что можно сделать самому, но кто то предпочитает взять готовое. Короче говоря - паста. Я понимаю, может другие либы могут пригодиться без которых не обойтись, но точно не для есп на имгуи, что можно сделать самому посидев 30 минут. Мне нравится, когда в сурсе всё чисто, по код стайлу, без говна. Да и в чем проблема перенести имгуи рендер есп на другой проект который тоже на имгуи??? Просто не очень понял в чем проблема то заключается.
ну хз если исользование библиотеки это пастинг то предлагаю вообще от STD/STL или Boost отказаться и писать std::vector самому но зачем. OHUD существует для экономии времени так как он автоматом делает плейсмент текста полосок хп и тп (и много чего ещё что пока не готово). Пользовтель всё равно разницы не почувствует а разрботчик сможет потратить меньше времени и сфокусировать на чём то более важном например добавление нового функционала и тп. Но в любом случае каждый исходники дрочит как хочет.
тогда уж лучше бы написал библиотеку которая полностью будет отвечать за рендер элементов произвольных, которые уже можно визуально переставлять местами, а не хардкод последовательности элементов на уровне кода
я планирую отвязаться от imgui в будущем и сделать бекенд для OpenGL Vulkan DX[9-12] но это будет после того как все функции будут реализованы
 
ну хз если исользование библиотеки это пастинг то предлагаю вообще от STD/STL или Boost отказаться и писать std::vector самому но зачем. OHUD существует для экономии времени так как он автоматом делает плейсмент текста полосок хп и тп (и много чего ещё что пока не готово). Пользовтель всё равно разницы не почувствует а разрботчик сможет потратить меньше времени и сфокусировать на чём то более важном например добавление нового функционала и тп. Но в любом случае каждый исходники дрочит как хочет.

я планирую отвязаться от imgui в будущем и сделать бекенд для OpenGL Vulkan DX[9-12] но это будет после того как все функции будут реализованы
ну вот допустим я бы не стал использовать такую либу. Мне без разницы легче или нет, холодно или жарко, мне важно, что бы код был мой, а не чья то левая либа с функционалом который делается в 30-40 минут, а то и меньше
 
Назад
Сверху Снизу