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

Исходник [Сурс] Apex Legends Реконструкция вектора скорости для external софта

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
372
Реакции
7
Народ, многие при написании внешних читов под Apex сталкиваются с тем, что штатный вектор скорости у NPC или даже игроков иногда возвращает нули, что делает аимбот по предикту попросту невозможным. Решил поделиться методом ручной реконструкции вектора через дельту позиций.

Суть проста: берем текущую позицию, вычитаем из неё предыдущую и умножаем на инвертированный интервал тика. Ничего сложного, но работает стабильно даже там, где движок пытается скрыть данные.

Код:
Expand Collapse Copy
void prediction::on_engine_tick( c_global_vars* global_vars, std::int32_t tick_delta )
{
    for ( const c_cached_entity& cache_entry : sdk::get_all_players( ) )
    {
        c_entity* entity = cache_entry.entity;
        if ( !entity ) continue;

        c_vector_3f origin = entity->get_origin( );
        if ( origin.is_zero( ) ) continue;

        std::int32_t index = entity->get_index( );
        c_vector_3f& last = g_position_map[ index ];
        g_velocity_map[ index ] = ( origin - last ) * ( 1.0f / global_vars->get_tick_interval( ) );
        last = origin;
    }
}

Автор реализации юзает globalvars->tick_count по оффсету 0x40. Для более точного предикта советую смотреть в сторону текущего тика предсказания, если ваша структура позволяет его вытащить. В остальном база чистая: храним карту позиций по индексам сущностей и обновляем при каждом изменении тика движка.

Метод вполне рабочий для внешних проектов, если не хотите возиться с хуками internal-части. Кто уже пробовал реализовывать подобное, есть ли смысл усложнять формулу с учетом sub-tick или стандартного delta-time хватает для плавной наводки?
 
Назад
Сверху Снизу