bool lagcompensation::is_left_dormancy(player_t* e)
{
auto animstate = e->get_animation_state();
if (animstate->m_flGoalFeetYaw < 0)
{
return true;
}
else
{
return false;
}
} // хахах ,АХАХАХАХАХ чувак не шарит то что это не функция ХАХАХАХ
if (records->size() >= 3 && time_difference > m_globals()->m_intervalpertick)
{
auto previous_velocity = (previous_record->origin - records->at(2).origin) * (1.0f / time_difference);
if (!previous_velocity.IsZero() && !was_in_air)
{
auto current_direction = math::normalize_yaw(RAD2DEG(atan2(e->m_vecVelocity().y, e->m_vecVelocity().x)));
auto previous_direction = math::normalize_yaw(RAD2DEG(atan2(previous_velocity.y, previous_velocity.x)));
auto average_direction = current_direction - previous_direction;
average_direction = DEG2RAD(math::normalize_yaw(current_direction + average_direction * 0.5f));
auto direction_cos = cos(average_direction);
auto dirrection_sin = sin(average_direction);
auto velocity_speed = e->m_vecVelocity().Length2D();
e->m_vecVelocity().x = direction_cos * velocity_speed;
e->m_vecVelocity().y = dirrection_sin * velocity_speed;
}
} // найс велосити фикс а чо
if (e->m_flSimulationTime() < e->m_flOldSimulationTime()) // блин так сложно пофиксить даже это.....
крч забейте тут анимфикс мем на меме втф
1е чот с дормантом гениальная мысля, ща впащу себе
//добавьте 1-2 чека
if (records->size() > 1 && && record->lag > 1 && !(record->flags & on_ground))
{
auto current_direction = math::normalize_yaw(RAD2DEG(atan2(record->m_vecVelocity.y, record->m_vecVelocity.x)));
auto previous_direction = math::normalize_yaw(RAD2DEG(atan2(prev_record->m_vecVelocity.y, prev_record->m_vecVelocity.x)));
float average_direction = DEG2RAD(math::normalize_yaw(current_direction + ((current_direction - previous_direction) * 0.5f)));
// тут антипаста для биг умов
auto velocity_speed = e->m_vecVelocity().Length2D();
if (velocity_speed > 0.f)
record->m_vecVelocity /= velocity_speed
record->m_vecVelocity.x *= cos(average_direction);
record->m_vecVelocity.y *= sin(average_direction);
}
Поздравляю, велосити по z так же не точное, в принципе можете выкинуть этот сурс и забыть о существовании легендвара в целом.