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

Исходник [Сурс] Apex Legends — Clean API Wrapper (Math, Ballistics, Targeting)

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
658
Реакции
18
Наткнулся на весьма годную техническую базу для Apex. Это не готовый чит, а именно структурированная обертка (API), которая берет на себя всю грязную работу по математике, структурам данных и предикшну. Если планируете писать свой internal или external с нуля, этот сурс сэкономит пару недель потного кодинга.

Что внутри пакета:
  1. Полноценный математический модуль: Vec2, Vec3, Angles с нормализацией и расчетом дистанций.
  2. Система баллистики: расчет времени полета пули, компенсация падения (gravity drop) и предикшн позиции цели.
  3. Таргетинг: готовые фильтры по FOV, видимости, дистанции и состоянию игрока.
  4. Структуры данных: PlayerData, WeaponData, LocalPlayer — всё разложено по полочкам.
  5. Взаимодействие с игрой: получение уровня, проверка коннекта, запись углов обзора.

Особенно порадовал модуль баллистики. Автор не просто считает дистанцию, а учитывает Bullet Speed и Bullet Gravity для каждой пушки отдельно.

Код:
Expand Collapse Copy
inline PredictionResult CalculatePrediction(
    const Vec3& shooter_pos,
    const Vec3& target_pos,
    const Vec3& target_velocity,
    float bullet_speed,
    float bullet_gravity
) {
    PredictionResult result;
    float distance = shooter_pos.Distance(target_pos);
    result.travel_time = distance / (bullet_speed < 1.0f ? 30000.0f : bullet_speed);
    result.gravity_drop = 0.5f * 750.0f * bullet_gravity * result.travel_time * result.travel_time;
    result.predicted_position = target_pos + (target_velocity * result.travel_time);
    result.predicted_position.z += result.gravity_drop;
    result.aim_angle = Math::CalcAngle(shooter_pos, result.predicted_position);
    result.valid = true;
    return result;
}

Технические нюансы:
Код написан под стандартный C++. Для работы вам понадобятся актуальные оффсеты (OFF_LOCAL_PLAYER, OFF_VIEW_ANGLES и т.д.), так как в самом API они вынесены как внешние константы. Враппер довольно легко портируется под любой драйвер или чистый RPM/WPM.

Код:
Expand Collapse Copy
enum class TeamRelation { SELF, TEAMMATE, ENEMY, UNKNOWN };
enum class PlayerState { ALIVE, DOWNED, DEAD, UNKNOWN };
enum class WeaponType { AR, SMG, LMG, SNIPER, SHOTGUN, PISTOL, MARKSMAN, BOW, MELEE, UNKNOWN };

Для тех, кто хочет сделать качественный легит — тут уже есть готовые функции проверки нахождения цели на экране и расчет дистанции в FOV-пикселях. Предикшн работает адекватно, если правильно прокинуть Bullet Speed из игровых структур.

Кто уже пробовал этот метод расчета гравитации в текущем патче, как оно по точности на дальних дистанциях?
 
Назад
Сверху Снизу