Начинающий
Начинающий
- Статус
- Оффлайн
- Регистрация
- 18 Апр 2019
- Сообщения
- 67
- Реакции
- 1
Че в нем не так? почему-то плохо фиксит.
void ResolverSmart(C_BasePlayer* entity)
{
static float ResolvedYaw[65];
shots_missed[entity->EntIndex()] = shots_fire[entity->EntIndex()] - shots_hit[entity->EntIndex()];
const auto entity_animstate = entity->GetPlayerAnimState();
if (entity_animstate->m_flEyeYaw < 0.f && entity_animstate->m_flGoalFeetYaw > 0.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) <= 360.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) >= 358.f) {
const float ang_diff = entity_animstate->m_flGoalFeetYaw + entity_animstate->m_flEyeYaw;
ResolvedYaw[entity->EntIndex()] = entity_animstate->m_flEyeYaw + ang_diff;
}
if (entity_animstate->m_flEyeYaw < 0.f && entity_animstate->m_flGoalFeetYaw > 0.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) >= -360.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) <= -358.f) {
const float ang_diff = entity_animstate->m_flGoalFeetYaw + entity_animstate->m_flEyeYaw;
ResolvedYaw[entity->EntIndex()] = entity_animstate->m_flEyeYaw + ang_diff;
}
else if (entity_animstate->m_flEyeYaw > 0.f && entity_animstate->m_flGoalFeetYaw > 0.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) <= 61.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) > 0.f) {
const float ang_diff = entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw;
ResolvedYaw[entity->EntIndex()] = entity_animstate->m_flEyeYaw + ang_diff;
}
else if (entity_animstate->m_flEyeYaw < 0.f && entity_animstate->m_flGoalFeetYaw < 0.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) >= -61.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) < 0.f) {
const float ang_diff = entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw;
ResolvedYaw[entity->EntIndex()] = entity_animstate->m_flEyeYaw + ang_diff;
}
else {
const float angle_diff = entity->m_flLowerBodyYawTarget() - entity->m_angEyeAngles().y; // animstate->m_flEyeYaw - animstate->m_flGoalFeetYaw
if (angle_diff >= -entity->MaxDesyncDelta() && angle_diff < 0.0f) {
const float desync_delta = abs((entity->MaxDesyncDelta() * 0.90f) + 5.f);
}
else {
const float desync_delta = abs((entity->MaxDesyncDelta() * 0.65f) - 10.f);
ResolvedYaw[entity->EntIndex()] = entity_animstate->m_flEyeYaw - desync_delta;
}
}
if (shots_missed[entity->EntIndex()] > 2) {
switch (shots_missed[entity->EntIndex()] % 4) {
case 0:
ResolvedYaw[entity->EntIndex()] = ResolvedYaw[entity->EntIndex()] + 60.f;
break;
case 1:
ResolvedYaw[entity->EntIndex()] = ResolvedYaw[entity->EntIndex()] - 60.f;
break;
}
}
entity_animstate->m_flGoalFeetYaw = ResolvedYaw[entity->EntIndex()];
}
void ResolverSmart(C_BasePlayer* entity)
{
static float ResolvedYaw[65];
shots_missed[entity->EntIndex()] = shots_fire[entity->EntIndex()] - shots_hit[entity->EntIndex()];
const auto entity_animstate = entity->GetPlayerAnimState();
if (entity_animstate->m_flEyeYaw < 0.f && entity_animstate->m_flGoalFeetYaw > 0.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) <= 360.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) >= 358.f) {
const float ang_diff = entity_animstate->m_flGoalFeetYaw + entity_animstate->m_flEyeYaw;
ResolvedYaw[entity->EntIndex()] = entity_animstate->m_flEyeYaw + ang_diff;
}
if (entity_animstate->m_flEyeYaw < 0.f && entity_animstate->m_flGoalFeetYaw > 0.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) >= -360.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) <= -358.f) {
const float ang_diff = entity_animstate->m_flGoalFeetYaw + entity_animstate->m_flEyeYaw;
ResolvedYaw[entity->EntIndex()] = entity_animstate->m_flEyeYaw + ang_diff;
}
else if (entity_animstate->m_flEyeYaw > 0.f && entity_animstate->m_flGoalFeetYaw > 0.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) <= 61.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) > 0.f) {
const float ang_diff = entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw;
ResolvedYaw[entity->EntIndex()] = entity_animstate->m_flEyeYaw + ang_diff;
}
else if (entity_animstate->m_flEyeYaw < 0.f && entity_animstate->m_flGoalFeetYaw < 0.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) >= -61.f &&
(entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw) < 0.f) {
const float ang_diff = entity_animstate->m_flEyeYaw - entity_animstate->m_flGoalFeetYaw;
ResolvedYaw[entity->EntIndex()] = entity_animstate->m_flEyeYaw + ang_diff;
}
else {
const float angle_diff = entity->m_flLowerBodyYawTarget() - entity->m_angEyeAngles().y; // animstate->m_flEyeYaw - animstate->m_flGoalFeetYaw
if (angle_diff >= -entity->MaxDesyncDelta() && angle_diff < 0.0f) {
const float desync_delta = abs((entity->MaxDesyncDelta() * 0.90f) + 5.f);
}
else {
const float desync_delta = abs((entity->MaxDesyncDelta() * 0.65f) - 10.f);
ResolvedYaw[entity->EntIndex()] = entity_animstate->m_flEyeYaw - desync_delta;
}
}
if (shots_missed[entity->EntIndex()] > 2) {
switch (shots_missed[entity->EntIndex()] % 4) {
case 0:
ResolvedYaw[entity->EntIndex()] = ResolvedYaw[entity->EntIndex()] + 60.f;
break;
case 1:
ResolvedYaw[entity->EntIndex()] = ResolvedYaw[entity->EntIndex()] - 60.f;
break;
}
}
entity_animstate->m_flGoalFeetYaw = ResolvedYaw[entity->EntIndex()];
}