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

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

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
420
Реакции
9
Наткнулся на весьма годную техническую базу для 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 из игровых структур.

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