Гайд Улучшаем точность аним ресольвера

Начинающий
Статус
Оффлайн
Регистрация
20 Янв 2018
Сообщения
574
Реакции[?]
397
Поинты[?]
62K
Чтобы получить m_flPrimaryCycle, который приходит с севрера, нужно произвести обратные расчеты, в точности как и с фиксами, которые я постил раннее
Если открыть игровой код, можно увидеть просчет playback rate для анимации:
1689423831454.png

Отсюда следует, что нужно убрать flLocalCycleIncrement из расчета этого значения
Чтобы это сделать, нужно ребилднуть расчеты, которые также показаны на скрине выше

Надеюсь, что я вам помог с данной информацией сделать ваш чит лучше :)
 
Забаненный
Статус
Оффлайн
Регистрация
14 Июл 2023
Сообщения
21
Реакции[?]
5
Поинты[?]
5K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Чтобы получить m_flPrimaryCycle, который приходит с севрера, нужно произвести обратные расчеты, в точности как и с фиксами, которые я постил раннее
Если открыть игровой код, можно увидеть просчет playback rate для анимации:
Посмотреть вложение 253445

Отсюда следует, что нужно убрать flLocalCycleIncrement из расчета этого значения
Чтобы это сделать, нужно ребилднуть расчеты, которые также показаны на скрине выше

Надеюсь, что я вам помог с данной информацией сделать ваш чит лучше :)
к слову если ты байпаснешь flLocalCycleIncrement то это тебе ничего не даст..
так как в игре за 6 лет много что изменилось( да, да этот анимстейт от 17 года.. )
бтв вот актуальный парт данного кусочка:
и как можно заметить вычисляется он совсем по другому

C++:
float feet_cycle_rate = 0.0;
if ( state->m_speed_2d > 0.0 )
{
    float sequence_cycle_rate = player->get_sequence_cycle_rate( sequence );
    float move_distance_to_rate = ( 1.0 / sequence_cycle_rate );
    
    if ( move_distance_to_rate <= 0.001 )
        move_distance_to_rate = 0.001;
    
    float speed_multiplier = state->m_speed_2d / move_distance_to_rate;
    feet_cycle_rate = ( 1.0 - ( state->m_ground_fraction * 0.15 ) ) * ( speed_multiplier * sequence_cycle_rate );
}

float feet_cycle_playback_rate = ( state->m_last_update_time_delta * feet_cycle_rate );
state->update_anim_layer( feet_cycle_playback_rate, ANIMATION_LAYER_MOVEMENT_MOVE, sequence, std::clamp( new_cycle_weight_feet_smoothing, 0.0, 1.0 ), state->m_feet_cycle );
 
Начинающий
Статус
Оффлайн
Регистрация
20 Янв 2018
Сообщения
574
Реакции[?]
397
Поинты[?]
62K
к слову если ты байпаснешь flLocalCycleIncrement то это тебе ничего не даст..
так как в игре за 6 лет много что изменилось( да, да этот анимстейт от 17 года.. )
бтв вот актуальный парт данного кусочка:
и как можно заметить вычисляется он совсем по другому

C++:
float feet_cycle_rate = 0.0;
if ( state->m_speed_2d > 0.0 )
{
    float sequence_cycle_rate = player->get_sequence_cycle_rate( sequence );
    float move_distance_to_rate = ( 1.0 / sequence_cycle_rate );
   
    if ( move_distance_to_rate <= 0.001 )
        move_distance_to_rate = 0.001;
   
    float speed_multiplier = state->m_speed_2d / move_distance_to_rate;
    feet_cycle_rate = ( 1.0 - ( state->m_ground_fraction * 0.15 ) ) * ( speed_multiplier * sequence_cycle_rate );
}

float feet_cycle_playback_rate = ( state->m_last_update_time_delta * feet_cycle_rate );
state->update_anim_layer( feet_cycle_playback_rate, ANIMATION_LAYER_MOVEMENT_MOVE, sequence, std::clamp( new_cycle_weight_feet_smoothing, 0.0, 1.0 ), state->m_feet_cycle );
это абсолютно индетичный код, ну да ладно...
 
Забаненный
Статус
Оффлайн
Регистрация
14 Июл 2023
Сообщения
21
Реакции[?]
5
Поинты[?]
5K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
20 Янв 2018
Сообщения
574
Реакции[?]
397
Поинты[?]
62K
дааа, сто процентов индетичный код

Посмотреть вложение 253456
вот эта часть -> да
все что ниже -> нет
кроме state->update_anim_Layer( ... )
кроме буквально одной константы (вместо 0.85f 0.15, все то же самое)

даже заинлайненые фукнции внутри из себя представляют то, что юзается в сурсах игры

1689433029041.png
1689433035378.png


1689433044253.png
1689433085812.png
1689433092287.png
 
Забаненный
Статус
Оффлайн
Регистрация
14 Июл 2023
Сообщения
21
Реакции[?]
5
Поинты[?]
5K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
кроме буквально одной константы (вместо 0.85f 0.15, все то же самое)

даже заинлайненые фукнции внутри из себя представляют то, что юзается в сурсах игры

Посмотреть вложение 253457
Посмотреть вложение 253458


Посмотреть вложение 253459
Посмотреть вложение 253460
Посмотреть вложение 253461
я просто хочу тебе сказать о том что данный участок код скипнешь ты его или нет
ничего не изменится
хочешь улучить свой аним ресольвер -> исправь делей который появляется на анчоке
 
ноунейм
Начинающий
Статус
Оффлайн
Регистрация
11 Янв 2020
Сообщения
257
Реакции[?]
24
Поинты[?]
2K
Чтобы получить m_flPrimaryCycle, который приходит с севрера, нужно произвести обратные расчеты, в точности как и с фиксами, которые я постил раннее
Если открыть игровой код, можно увидеть просчет playback rate для анимации:
Посмотреть вложение 253445

Отсюда следует, что нужно убрать flLocalCycleIncrement из расчета этого значения
Чтобы это сделать, нужно ребилднуть расчеты, которые также показаны на скрине выше

Надеюсь, что я вам помог с данной информацией сделать ваш чит лучше :)
а это будет в аирфлоу?
 
Забаненный
Статус
Оффлайн
Регистрация
15 Авг 2023
Сообщения
48
Реакции[?]
20
Поинты[?]
19K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу