Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Исходник OMATH - Математическая библиотека для создания читов CS2

Changelog v3.6.2 → v4.4.0
Пожалуйста, авторизуйтесь для просмотра ссылки.
v4.4.0 (2025-11-17)
Добавлен алгоритм EPA, улучшены GJK/EPA для коллизий, обновлена документация.

v4.3.0 (2025-11-09)
macOS CI, пресеты CMake для vcpkg, повышена точность screen-to-world, добавлен пример PE signature scanner, реализован алгоритм GJK.

v4.2.0 (2025-11-01)
Крупное обновление документации: гайды, туториалы, описания игровых math-модулей.

v4.1.0 (2025-10-30)
Чистка: удалены лишние опции и скобки.

v4.0.1 (2025-10-27)
Принудительно отключены тесты.

v4.0 (2025-10-27)
Интеграция с vcpkg.

v3.10.1 (2025-10-22)
Небольшие исправления.

v3.10 (2025-10-22)
Добавлена поддержка Frostbite.

v3.9.4 (2025-10-21)
Хеши для Vector2/3/4, фикс диапазона pattern scan, правки NDC.

v3.9.3 (2025-10-13)
Убраны Windows-зависимости в pattern scanning.

v3.9.2 (2025-10-12)
Скрыты PE defs, улучшен интерфейс PE-сканера.

v3.9.1 (2025-10-10)
Не используется __fastcall на не-Windows платформах.

v3.9.0 (2025-10-09)
Классы для реверс-инжиниринга, улучшения pattern scanning и corner-case тесты, обновлён PE header для x64.

v3.8.2 (2025-10-03)
Поддержка AVX2 detection в CMake.

v3.8.1 (2025-09-25)
Фикс “projectile prediction look-at”, улучшения форматирования.

v3.8.0 (2025-09-20)
Багфикс для look-at.

v3.7.1 (2025-09-18)
Технические исправления.

v3.7.0 (2025-09-18)
Ускорено умножение матриц, рефактор матриц, добавлена папка performance, фикс имени std::fmodf. Новый контрибьютор: @BillyONeal.
Тут это frostbite и поддержку Cryengine завезли + еще пребилды есть для всех ОС если нужно.
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Рад представить библиотеку omath ('оч оригинально'), которую я разработал, выделив её из моих пет-проектов по созданию читов для Apex Legends и CS2. Столкнувшись с необходимостью производительных и точных математических вычислений, я решил вынести все ключевые инструменты в отдельную библиотеку, которая теперь доступна всем.

Вкратце что с ней можно делать:
  1. Матричные и векторные операции. Библиотека поддерживает базовые и продвинутые вычисления, включая работу с матрицами 4x4/NxM, необходимыми для 3D-графики и трансформаций.
  2. Пайплайн проекции мировых координат на экран. Это одна из уникальных функций, которая позволяет проецировать мировые координаты в экранные без необходимости извлекать view projection matrix из самой игры. Это экономит время и упрощает разработку ESP.
  3. Расчёт траекторий снарядов. Встроенный движок позволяет точно рассчитывать траектории пуль и снарядов, что особенно полезно при создании аимботов и других продвинутых функций читов:
    Пожалуйста, авторизуйтесь для просмотра ссылки.
    .
  4. Высокая производительность. Библиотека оптимизирована для быстрого выполнения операций (constexpr реализован для кучи всего, хоть нейросети во время компиляции обучай), что делает её идеальной для игр/читов, где каждая миллисекунда имеет значение.
Примечание!
omath подходит как для создания читов, так и для общего использования в игровых движках и 3D-приложениях. Поддерживает все ключевые вычисления, которые могут понадобиться разработчикам для реализации проекций, аимботов и тд, так же есть поддержка Linux и компиляторов GCC/CLANG (осуждаю MSVC). Так же библа перешла с GPL V3 на MIT поэтому можете исходники как угодно вертеть.

Если вы разрабатываете читы или приложения для игр, omath сэкономит ваше время и нервные клетки, позволяя сосредоточиться на создании логики чита чем на поиски матриц проекции и написания еще одного класса Vec2-4. Еще если нашли какой то баг или хотите добавить улучшение то напиши под эту тему либо заведите issue на гх.

GitHub:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Привет. Я владелец одного из проектов по читам. Есть возможность внедрить оматх в наш проект? Кодовая база: Java
 
Вышло обновление теперь можно удобно верстать ESP используя компонент omath::hud

Пример:
Expand Collapse Copy
omath::hud::EntityOverlay({m_entity_x, m_entity_top_y}, {m_entity_x, m_entity_bottom_y},
                                  std::make_shared<omath::hud::ImguiHudRenderer>())
                .contents(
                        when(m_show_box, Box{m_box_color, m_box_fill, m_box_thickness}),
                        when(m_show_cornered_box, CorneredBox{omath::Color::from_rgba(255, 0, 255, 255), m_box_fill,
                                                              m_corner_ratio, m_box_thickness}),
                        when(m_show_dashed_box, DashedBox{m_dash_color, m_dash_len, m_dash_gap, m_dash_thickness}),

                        RightSide
                        {
                                when(m_show_right_bar, bar),
                                when(m_show_right_dashed_bar, dbar),
                                when(m_show_right_labels,
                                     Label{{0.f, 1.f, 0.f, 1.f}, m_label_offset, m_outlined, "Health: 100/100"}),
                                when(m_show_right_labels,
                                     Label{{1.f, 0.f, 0.f, 1.f}, m_label_offset, m_outlined, "Shield: 125/125"}),
                                when(m_show_right_labels,
                                     Label{{1.f, 0.f, 1.f, 1.f}, m_label_offset, m_outlined, "*LOCKED*"}),
                        },
                        LeftSide
                        {
                                when(m_show_left_bar, bar),
                                when(m_show_left_dashed_bar, dbar),
                                when(m_show_left_labels, Label{omath::Color::from_rgba(255, 128, 0, 255),
                                                               m_label_offset, m_outlined, "Armor: 75"}),
                                when(m_show_left_labels, Label{omath::Color::from_rgba(0, 200, 255, 255),
                                                               m_label_offset, m_outlined, "Level: 42"}),
                        },
                        TopSide
                        {
                                when(m_show_top_bar, bar),
                                when(m_show_top_dashed_bar, dbar),
                                when(m_show_centered_top, Centered{Label{omath::Color::from_rgba(0, 255, 255, 255),
                                                                         m_label_offset, m_outlined, "*VISIBLE*"}}),
                                when(m_show_top_labels, Label{omath::Color::from_rgba(255, 255, 0, 255), m_label_offset,
                                                              m_outlined, "*SCOPED*"}),
                                when(m_show_top_labels, Label{omath::Color::from_rgba(255, 0, 0, 255), m_label_offset,
                                                              m_outlined, "*BLEEDING*"}),
                        },
                        BottomSide
                        {
                                when(m_show_bottom_bar, bar),
                                when(m_show_bottom_dashed_bar, dbar),
                                when(m_show_centered_bottom, Centered{Label{omath::Color::from_rgba(255, 255, 255, 255),
                                                                            m_label_offset, m_outlined, "PlayerName"}}),
                                when(m_show_bottom_labels, Label{omath::Color::from_rgba(200, 200, 0, 255),
                                                                 m_label_offset, m_outlined, "42m"}),
                        },
                        when(m_show_skeleton, Skeleton{m_skel_color, m_skel_thickness}),
                        when(m_show_snap, SnapLine{{vp->Size.x / 2.f, vp->Size.y}, m_snap_color, m_snap_width}));

Получаем приятный результат:)
1773593508609.png
 
Назад
Сверху Снизу