found it in a random source but it worked well
Код:
void CResolver::Do(IBasePlayer* player) {
auto animstate = player->GetPlayerAnimState();
if (!animstate)
return;
if (!vars.ragebot.resolver)
return;
animstate->m_flGoalFeetYaw = GetAngle(player);
if (!csgo->local->isAlive())
return;
int idx = player->GetIndex();
if (player->GetPlayerInfo().fakeplayer)
return;
if (!(player->GetFlags() & FL_ONGROUND))
return;
float angle = GetAngle(player);
{
bool forward = fabsf(Math::NormalizeYaw(GetAngle(player) - GetForwardYaw(player))) < 89.f;
if (csgo->missedshots[idx] == 0) {
ResolverMode[idx] = "";
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 0.f);
if (csgo->missedshots[idx])
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 58.f);
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 360.f);
if (forward) {
FreestandSide[idx] *= -1;
ResolverMode[idx] += "ONSHOT";
animstate->m_flGoalFeetYaw += 29;
if (csgo->missedshots[idx]);
animstate->m_flGoalFeetYaw -= 29;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 360.f);
}
else
ResolverMode[idx] += "DOWN";
animstate->m_flGoalFeetYaw += 20;
if (csgo->missedshots[idx]);
animstate->m_flGoalFeetYaw -= 20;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 360.f);
}
else {
if (forward) {
switch (csgo->missedshots[idx] % 4) {
case 1:
ResolverMode[idx] = "LEFT";
if (FreestandSide[idx] == 1)
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 56.f);
else
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 56.f);
break;
case 0:
ResolverMode[idx] = "RIGHT";
if (FreestandSide[idx] == 1)
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 59.f);
else
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 59.f);
break;
case 2:
ResolverMode[idx] = "RIGHT";
if (FreestandSide[idx] == 1)
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 12.f);
else
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 12.f);
break;
case 3:
ResolverMode[idx] = "RIGHT";
if (FreestandSide[idx] == 1)
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 79.f);
else
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 79.f);
break;
}
}
else {
switch (csgo->missedshots[idx] % 3) {
case 1:
ResolverMode[idx] = "RIGHT";
if (FreestandSide[idx] == 1)
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 120.f);
else
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 158.f);
break;
case 0:
ResolverMode[idx] = "LEFT";
if (FreestandSide[idx] == 1)
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 158.f);
else
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 158.f);
break;
case 2:
ResolverMode[idx] = "LEFT";
if (FreestandSide[idx] == 1)
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 120.f);
else
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 120.f);
break;
}
}
}
}
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(animstate->m_flGoalFeetYaw);
}