Начинающий
- Статус
- Оффлайн
- Регистрация
- 20 Фев 2020
- Сообщения
- 43
- Реакции
- 0
чувак, ну чёт ты сделал больше ошибок, чем раньше было. Тебе тут нечего делать ))C++:#include "Hooks.h" #include "Resolver.h" #include "RageBacktracking.h" #include "Ragebot.h" #include "AnimationFix.h" std::string ResolverMode[65]; int last_ticks[64]; int IBasePlayer::GetChokedPackets() { auto ticks = TIME_TO_TICKS(GetSimulationTime() - GetOldSimulationTime()); if (ticks == 0 && last_ticks[GetIndex()] > 0) { return last_ticks[GetIndex()] - 1; } else { last_ticks[GetIndex()] = ticks; return ticks; } } float CResolver::GetAngle(IBasePlayer* player) { return Math::NormalizeYaw(player->GetEyeAngles().y); } float CResolver::GetForwardYaw(IBasePlayer* player) { return Math::NormalizeYaw(GetBackwardYaw(player) - 180.f); } float CResolver::GetBackwardYaw(IBasePlayer* player) { return Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y; } float CResolver::GetLeftYaw(IBasePlayer* player) { return Math::NormalizeYaw(Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y - 70.f); } float CResolver::GetRightYaw(IBasePlayer* player) { return Math::NormalizeYaw(Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y + 70.f); } bool CResolver::TargetJitter(IBasePlayer* player, bool v2) { float yaw = v2 ? GetRightYaw(player) : GetLeftYaw(player); return fabsf(GetAngle(player) - Math::NormalizeYaw(yaw + 70.f)) >= fabsf(GetAngle(player) - Math::NormalizeYaw(yaw - 70.f)); } bool CResolver::TargetSide(IBasePlayer* player) { float yaw = Math::NormalizeYaw(GetBackwardYaw(player)); float angle = GetAngle(player); return fabsf(angle - Math::NormalizeYaw(yaw + 70.f)) >= fabsf(angle - Math::NormalizeYaw(yaw - 70.f)); } void CResolver::DetectSide(IBasePlayer* player, int* side) { Vector src3D, dst3D, forward, right, up, src, dst; float back_two, right_two, left_two; trace_t tr; Ray_t ray, ray2, ray3, ray4, ray5, ray6, ray7; CTraceFilter filter; Math::AngleVectors(Vector(0, GetBackwardYaw(player), 0), &forward, &right, &up); filter.pSkip = player; src3D = player->GetEyePosition(); dst3D = src3D + (forward * 381); //Might want to experiment with other numbers, incase you don't know what the number does, its how far the trace will go. Lower = shorter. ray.Init(src3D, dst3D); interfaces.trace->TraceRay(ray, MASK_SHOT, &filter, &tr); back_two = (tr.endpos - tr.startpos).Length(); ray2.Init(src3D + right * 30, dst3D + right * 30); interfaces.trace->TraceRay(ray2, MASK_SHOT, &filter, &tr); right_two = (tr.endpos - tr.startpos).Length(); ray3.Init(src3D - right * 70, dst3D - right * 70); interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr); left_two = (tr.endpos - tr.startpos).Length(); ray4.Init(src3D - right * 90, dst3D - right * 90); interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr); right_two = (tr.endpos - tr.startpos).Length(); ray5.Init(src3D - right * 30, dst3D - right * 30); interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr); right_two = (tr.endpos - tr.startpos).Length(); ray6.Init(src3D - right * 30, dst3D - right * 30); interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr); left_two = (tr.endpos - tr.startpos).Length(); ray7.Init(src3D + right * 90, dst3D + right * 90); interfaces.trace->TraceRay(ray, MASK_SHOT, &filter, &tr); back_two = (tr.endpos - tr.startpos).Length(); if (left_two > right_two) { *side = 1; //Body should be right } else if (right_two > left_two) { *side = -1; } else *side = 0; } bool CResolver::DoesHaveJitter(IBasePlayer* player, int* new_side) { static float LastAngle[64]; static int LastBrute[64]; static bool Switch[64]; static float LastUpdateTime[64]; int i = player->GetIndex(); float CurrentAngle = player->GetEyeAngles().y; if (!Math::IsNearEqual(CurrentAngle, LastAngle[i], 70.f)) { Switch[i] = !Switch[i]; LastAngle[i] = CurrentAngle; *new_side = Switch[i] ? -1 : 1; LastBrute[i] = *new_side; LastUpdateTime[i] = interfaces.global_vars->curtime; return true; } else { if (fabsf(LastUpdateTime[i] - interfaces.global_vars->curtime >= TICKS_TO_TIME(17)) || player->GetSimulationTime() != player->GetOldSimulationTime()) { LastAngle[i] = CurrentAngle; } *new_side = LastBrute[i]; } return false; } void CResolver::Do(IBasePlayer* player) { auto animstate = player->GetPlayerAnimState(); if (!animstate) return; animstate->m_flGoalFeetYaw = GetAngle(player); if (!vars.ragebot.resolver) return; if (!csgo->local->isAlive()) return; if (player->GetChokedPackets() <= 1) return; int idx = player->GetIndex(); if (player->GetPlayerInfo().fakeplayer) return; if (!(player->GetFlags() & FL_ONGROUND)) return; float angle = GetAngle(player); { DetectSide(player, &FreestandSide[idx]); bool forward = fabsf(Math::NormalizeYaw(GetAngle(player) - GetForwardYaw(player))) < 70.f; if (csgo->missedshots[idx] == 0) { ResolverMode[idx] = ("C"); if (forward) { FreestandSide[idx] *= -1; ResolverMode[idx] += ("B"); } else ResolverMode[idx] += ("A"); animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f * FreestandSide[idx]); } else { if (forward) { switch (csgo->missedshots[idx] % 2) { case 1: ResolverMode[idx] = ("DA"); if (FreestandSide[idx] == 1) (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f)); else if (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle)); else (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f)); break; case 0: ResolverMode[idx] = ("DB"); if (FreestandSide[idx] == 1) (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f)); else if (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle)); else (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f)); break; } } else { switch (csgo->missedshots[idx] % 2) { case 1: ResolverMode[idx] = ("DA"); if (FreestandSide[idx] == 1) (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f)); else if (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle)); else (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f)); break; case 0: ResolverMode[idx] = ("DB"); if (FreestandSide[idx] == 1) (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 70.f)); else if (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle)); else (animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 70.f)); break; } } } } animstate->m_flGoalFeetYaw = Math::NormalizeYaw(animstate->m_flGoalFeetYaw); }