Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Yo sup, i used random number generator for this resolver, and i will probably miss xy0, havent tried it yet. Anyways, credits for the resolver: @PIPIDUROKARAILEK
Resolver.cpp
Resolver.h
Also dont know how to make reaction restriction so sorry, but everyone has 5 reaction on yg.
Edit: Also every switch has only 1 case, cuz i was testing something
Resolver.cpp
C++:
#include "Hooks.h"
#include "Resolver.h"
#include "RageBacktracking.h"
#include "Ragebot.h"
#include "AnimationFix.h"
#include <string>
#include <iostream>
#include <fstream>
#include <istream>
std::string ResolverMode[65];
int last_ticks[65];
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 - 90.f);
}
float CResolver::GetRightYaw(IBasePlayer* player) {
return Math::NormalizeYaw(Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y + 90.f);
}
bool CResolver::TargetJitter(IBasePlayer* player, bool v2) {
float yaw = v2 ? GetRightYaw(player) : GetLeftYaw(player);
return fabsf(GetAngle(player) - Math::NormalizeYaw(yaw + 50.f))
>= fabsf(GetAngle(player) - Math::NormalizeYaw(yaw - 50.f));
}
bool CResolver::TargetSide(IBasePlayer* player) {
float yaw = Math::NormalizeYaw(GetBackwardYaw(player));
float angle = GetAngle(player);
return fabsf(angle - Math::NormalizeYaw(yaw + 60.f))
>= fabsf(angle - Math::NormalizeYaw(yaw - 60.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;
CTraceFilter filter;
Math::AngleVectors(Vector(0, GetBackwardYaw(player), 0), &forward, &right, &up);
filter.pSkip = player;
src3D = player->GetEyePosition();
dst3D = src3D + (forward * 384); //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 * 35, dst3D + right * 35);
interfaces.trace->TraceRay(ray2, MASK_SHOT, &filter, &tr);
right_two = (tr.endpos - tr.startpos).Length();
ray3.Init(src3D - right * 35, dst3D - right * 35);
interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr);
left_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], 50.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::CreateMove()
{
if (!csgo->local->isAlive())
return;
if (!csgo->weapon->IsGun())
return;
for (int i = 1; i < interfaces.engine->GetMaxClients(); ++i)
{
auto player = interfaces.ent_list->GetClientEntity(i);
if (!player || !player->isAlive() || player->IsDormant() || player->GetTeam() == csgo->local->GetTeam())
continue;
bool Autowalled = false, HitSide1 = false, HitSide2 = false;
auto idx = player->GetIndex();
float angToLocal = Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y;
Vector ViewPoint = csgo->local->GetOrigin() + Vector(0, 0, 90);
Vector2D Side1 = { (45 * sin(DEG2RAD(angToLocal))),(45 * cos(DEG2RAD(angToLocal))) };
Vector2D Side2 = { (45 * sin(DEG2RAD(angToLocal + 180))) ,(45 * cos(DEG2RAD(angToLocal + 180))) };
Vector2D Side3 = { (50 * sin(DEG2RAD(angToLocal))),(50 * cos(DEG2RAD(angToLocal))) };
Vector2D Side4 = { (50 * sin(DEG2RAD(angToLocal + 180))) ,(50 * cos(DEG2RAD(angToLocal + 180))) };
Vector Origin = player->GetOrigin();
Vector2D OriginLeftRight[] = { Vector2D(Side1.x, Side1.y), Vector2D(Side2.x, Side2.y) };
Vector2D OriginLeftRightLocal[] = { Vector2D(Side3.x, Side3.y), Vector2D(Side4.x, Side4.y) };
for (int side = 0; side < 2; side++)
{
Vector OriginAutowall = { Origin.x + OriginLeftRight[side].x, Origin.y - OriginLeftRight[side].y , Origin.z + 90 };
Vector ViewPointAutowall = { ViewPoint.x + OriginLeftRightLocal[side].x, ViewPoint.y - OriginLeftRightLocal[side].y , ViewPoint.z };
if (g_AutoWall.CanHitFloatingPoint(OriginAutowall, ViewPoint))
{
if (side == 0)
{
HitSide1 = true;
FreestandSide[idx] = -1;
}
else if (side == 1)
{
HitSide2 = true;
FreestandSide[idx] = 1;
}
Autowalled = true;
}
else
{
for (int sidealternative = 0; sidealternative < 2; sidealternative++)
{
Vector ViewPointAutowallalternative = { Origin.x + OriginLeftRight[sidealternative].x, Origin.y - OriginLeftRight[sidealternative].y , Origin.z + 90 };
if (g_AutoWall.CanHitFloatingPoint(ViewPointAutowallalternative, ViewPointAutowall))
{
if (sidealternative == 0)
{
HitSide1 = true;
FreestandSide[idx] = -1;
//FreestandAngle[player->EntIndex()] = 90;
}
else if (sidealternative == 1)
{
HitSide2 = true;
FreestandSide[idx] = 1;
//FreestandAngle[player->EntIndex()] = -90;
}
Autowalled = true;
}
}
}
}
}
}
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() <= 0)
return;
int idx = player->GetIndex();
if (player->GetPlayerInfo().fakeplayer)
return;
if (!(player->GetFlags() & FL_ONGROUND))
return;
auto eyeangy = player->GetEyeAngles().y;
auto backward = Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y;
auto right = Math::NormalizeYaw(Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y + 90.f);
auto left = Math::NormalizeYaw(Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y - 90.f);
float angle = GetAngle(player);
int new_side = 0;
if (DoesHaveJitter(player, &new_side)/* && player->GetEyeAngles().x < 45*/) {
switch (csgo->missedshots[idx] % 2) {
case 0:
ResolverMode[idx] = "AB";
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 90.f * new_side);
break;
case 1:
ResolverMode[idx] = "AC";
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 90.f * new_side);
break;
}
}
else
{
//bool forward = fabsf(Math::NormalizeYaw(GetAngle(player) - GetForwardYaw(player))) < 90.f;
//if (csgo->missedshots[idx]) {
ResolverMode[idx] = "Main";
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(Math::RandomFloat(angle - 90.f, angle + 90.f));
switch (csgo->missedshots[idx] % 1)
{
case 0:
animstate->m_flGoalFeetYaw += 90.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 90.f);
break;
animstate->m_flGoalFeetYaw += 89.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 89.f);
break;
animstate->m_flGoalFeetYaw += 56.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 56.f);
break;
animstate->m_flGoalFeetYaw += 27.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 27.f);
break;
animstate->m_flGoalFeetYaw += 23.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 23.f);
break;
animstate->m_flGoalFeetYaw += 47.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 47.f);
break;
animstate->m_flGoalFeetYaw += 22.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 22.f);
break;
animstate->m_flGoalFeetYaw += 37.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 37.f);
break;
animstate->m_flGoalFeetYaw += 80.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 80.f);
break;
animstate->m_flGoalFeetYaw += 59.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 59.f);
break;
animstate->m_flGoalFeetYaw += 71.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 71.f);
break;
animstate->m_flGoalFeetYaw += 24.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 24.f);
break;
animstate->m_flGoalFeetYaw += 81.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 81.f);
break;
animstate->m_flGoalFeetYaw += 9.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 9.f);
break;
animstate->m_flGoalFeetYaw += 84.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 84.f);
break;
animstate->m_flGoalFeetYaw += 21.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 21.f);
break;
animstate->m_flGoalFeetYaw += 55.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 55.f);
break;
animstate->m_flGoalFeetYaw += 86.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 86.f);
break;
animstate->m_flGoalFeetYaw += 78.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 78.f);
break;
animstate->m_flGoalFeetYaw += 12.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 12.f);
break;
animstate->m_flGoalFeetYaw += 83.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 83.f);
break;
animstate->m_flGoalFeetYaw += 44.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 44.f);
break;
animstate->m_flGoalFeetYaw += 33.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 33.f);
break;
animstate->m_flGoalFeetYaw += 55.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 55.f);
break;
animstate->m_flGoalFeetYaw += 49.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 49.f);
break;
animstate->m_flGoalFeetYaw += 30.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 30.f);
break;
animstate->m_flGoalFeetYaw += 42.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 42.f);
break;
animstate->m_flGoalFeetYaw += 34.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 34.f);
break;
animstate->m_flGoalFeetYaw += 1.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 1.f);
break;
animstate->m_flGoalFeetYaw += 56.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 56.f);
break;
animstate->m_flGoalFeetYaw += 58.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 58.f);
break;
animstate->m_flGoalFeetYaw += 88.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 88.f);
break;
animstate->m_flGoalFeetYaw += 63.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 63.f);
break;
animstate->m_flGoalFeetYaw += 65.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 65.f);
break;
animstate->m_flGoalFeetYaw += 37.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 37.f);
break;
animstate->m_flGoalFeetYaw += 64.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 64.f);
break;
animstate->m_flGoalFeetYaw += 29.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 29.f);
break;
animstate->m_flGoalFeetYaw += 69.f;
//haha omegalul 420 very funny
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 69.f);
break;
animstate->m_flGoalFeetYaw += 35.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 35.f);
break;
animstate->m_flGoalFeetYaw += 19.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 19.f);
break;
animstate->m_flGoalFeetYaw += 60.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 60.f);
break;
animstate->m_flGoalFeetYaw += 79.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 79.f);
break;
animstate->m_flGoalFeetYaw += 70.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 70.f);
break;
animstate->m_flGoalFeetYaw += 62.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 62.f);
break;
animstate->m_flGoalFeetYaw += 67.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 67.f);
break;
animstate->m_flGoalFeetYaw += 84.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 84.f);
break;
animstate->m_flGoalFeetYaw += 4.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 4.f);
break;
}
/*if (forward) {
FreestandSide[idx] *= -1;
ResolverMode[idx] += "B";
animstate->m_flGoalFeetYaw += 60;
if (csgo->missedshots[idx]);
animstate->m_flGoalFeetYaw -= 60;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 60.f);
}
else*/
//{
if (backward)
{
ResolverMode[idx] += "A";
animstate->m_flGoalFeetYaw = Math::RandomFloat(90, -90);
switch (csgo->missedshots[idx] % 1)
{
case 0:
animstate->m_flGoalFeetYaw += 90.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 90.f);
break;
animstate->m_flGoalFeetYaw += 89.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 89.f);
break;
animstate->m_flGoalFeetYaw += 56.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 56.f);
break;
animstate->m_flGoalFeetYaw += 27.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 27.f);
break;
animstate->m_flGoalFeetYaw += 23.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 23.f);
break;
animstate->m_flGoalFeetYaw += 47.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 47.f);
break;
animstate->m_flGoalFeetYaw += 22.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 22.f);
break;
animstate->m_flGoalFeetYaw += 37.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 37.f);
break;
animstate->m_flGoalFeetYaw += 80.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 80.f);
break;
animstate->m_flGoalFeetYaw += 59.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 59.f);
break;
animstate->m_flGoalFeetYaw += 71.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 71.f);
break;
animstate->m_flGoalFeetYaw += 24.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 24.f);
break;
animstate->m_flGoalFeetYaw += 81.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 81.f);
break;
animstate->m_flGoalFeetYaw += 9.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 9.f);
break;
animstate->m_flGoalFeetYaw += 84.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 84.f);
break;
animstate->m_flGoalFeetYaw += 21.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 21.f);
break;
animstate->m_flGoalFeetYaw += 55.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 55.f);
break;
animstate->m_flGoalFeetYaw += 86.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 86.f);
break;
animstate->m_flGoalFeetYaw += 78.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 78.f);
break;
animstate->m_flGoalFeetYaw += 12.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 12.f);
break;
animstate->m_flGoalFeetYaw += 83.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 83.f);
break;
animstate->m_flGoalFeetYaw += 44.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 44.f);
break;
animstate->m_flGoalFeetYaw += 33.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 33.f);
break;
animstate->m_flGoalFeetYaw += 55.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 55.f);
break;
animstate->m_flGoalFeetYaw += 49.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 49.f);
break;
animstate->m_flGoalFeetYaw += 30.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 30.f);
break;
animstate->m_flGoalFeetYaw += 42.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 42.f);
break;
animstate->m_flGoalFeetYaw += 34.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 34.f);
break;
animstate->m_flGoalFeetYaw += 1.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 1.f);
break;
animstate->m_flGoalFeetYaw += 56.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 56.f);
break;
animstate->m_flGoalFeetYaw += 58.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 58.f);
break;
animstate->m_flGoalFeetYaw += 88.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 88.f);
break;
animstate->m_flGoalFeetYaw += 63.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 63.f);
break;
animstate->m_flGoalFeetYaw += 65.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 65.f);
break;
animstate->m_flGoalFeetYaw += 37.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 37.f);
break;
animstate->m_flGoalFeetYaw += 64.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 64.f);
break;
animstate->m_flGoalFeetYaw += 29.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 29.f);
break;
animstate->m_flGoalFeetYaw += 69.f;
//haha omegalul 420 very funny
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 69.f);
break;
animstate->m_flGoalFeetYaw += 35.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 35.f);
break;
animstate->m_flGoalFeetYaw += 19.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 19.f);
break;
animstate->m_flGoalFeetYaw += 60.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 60.f);
break;
animstate->m_flGoalFeetYaw += 79.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 79.f);
break;
animstate->m_flGoalFeetYaw += 70.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 70.f);
break;
animstate->m_flGoalFeetYaw += 62.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 62.f);
break;
animstate->m_flGoalFeetYaw += 67.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 67.f);
break;
animstate->m_flGoalFeetYaw += 84.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 84.f);
break;
animstate->m_flGoalFeetYaw += 4.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 4.f);
break;
}
}
float CurrentAngle = player->GetEyeAngles().y;
static float LastAngle[64];
static int LastBrute[64];
int i = player->GetIndex();
if (!Math::IsNearEqual(CurrentAngle, LastAngle[i], 90.f)) {
switch (csgo->missedshots[idx] % 1) {
case 0:
animstate->m_flGoalFeetYaw += 90.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 90.f);
break;
animstate->m_flGoalFeetYaw += 89.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 89.f);
break;
animstate->m_flGoalFeetYaw += 56.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 56.f);
break;
animstate->m_flGoalFeetYaw += 27.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 27.f);
break;
animstate->m_flGoalFeetYaw += 23.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 23.f);
break;
animstate->m_flGoalFeetYaw += 47.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 47.f);
break;
animstate->m_flGoalFeetYaw += 22.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 22.f);
break;
animstate->m_flGoalFeetYaw += 37.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 37.f);
break;
animstate->m_flGoalFeetYaw += 80.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 80.f);
break;
animstate->m_flGoalFeetYaw += 59.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 59.f);
break;
animstate->m_flGoalFeetYaw += 71.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 71.f);
break;
animstate->m_flGoalFeetYaw += 24.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 24.f);
break;
animstate->m_flGoalFeetYaw += 81.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 81.f);
break;
animstate->m_flGoalFeetYaw += 9.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 9.f);
break;
animstate->m_flGoalFeetYaw += 84.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 84.f);
break;
animstate->m_flGoalFeetYaw += 21.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 21.f);
break;
animstate->m_flGoalFeetYaw += 55.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 55.f);
break;
animstate->m_flGoalFeetYaw += 86.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 86.f);
break;
animstate->m_flGoalFeetYaw += 78.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 78.f);
break;
animstate->m_flGoalFeetYaw += 12.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 12.f);
break;
animstate->m_flGoalFeetYaw += 83.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 83.f);
break;
animstate->m_flGoalFeetYaw += 44.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 44.f);
break;
animstate->m_flGoalFeetYaw += 33.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 33.f);
break;
animstate->m_flGoalFeetYaw += 55.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 55.f);
break;
animstate->m_flGoalFeetYaw += 49.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 49.f);
break;
animstate->m_flGoalFeetYaw += 30.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 30.f);
break;
animstate->m_flGoalFeetYaw += 42.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 42.f);
break;
animstate->m_flGoalFeetYaw += 34.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 34.f);
break;
animstate->m_flGoalFeetYaw += 1.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 1.f);
break;
animstate->m_flGoalFeetYaw += 56.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 56.f);
break;
animstate->m_flGoalFeetYaw += 58.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 58.f);
break;
animstate->m_flGoalFeetYaw += 88.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 88.f);
break;
animstate->m_flGoalFeetYaw += 63.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 63.f);
break;
animstate->m_flGoalFeetYaw += 65.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 65.f);
break;
animstate->m_flGoalFeetYaw += 37.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 37.f);
break;
animstate->m_flGoalFeetYaw += 64.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 64.f);
break;
animstate->m_flGoalFeetYaw += 29.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 29.f);
break;
animstate->m_flGoalFeetYaw += 69.f;
//haha omegalul 420 very funny
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 69.f);
break;
animstate->m_flGoalFeetYaw += 35.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 35.f);
break;
animstate->m_flGoalFeetYaw += 19.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 19.f);
break;
animstate->m_flGoalFeetYaw += 60.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 60.f);
break;
animstate->m_flGoalFeetYaw += 79.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 79.f);
break;
animstate->m_flGoalFeetYaw += 70.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 70.f);
break;
animstate->m_flGoalFeetYaw += 62.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 62.f);
break;
animstate->m_flGoalFeetYaw += 67.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 67.f);
break;
animstate->m_flGoalFeetYaw += 84.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 84.f);
break;
animstate->m_flGoalFeetYaw += 4.f;
animstate->m_flGoalFeetYaw = remainderf(animstate->m_flGoalFeetYaw, 4.f);
break;
}
}
}
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(animstate->m_flGoalFeetYaw);
}
void HandleHits(IBasePlayer* pEnt)
{
auto NetChannel = interfaces.engine->GetNetChannelInfo();
if (!NetChannel)
return;
static float predTime[65];
static bool init[65];
if (csgo->firedshots[pEnt->EntIndex()])
{
if (init[pEnt->EntIndex()])
{
resolver->pitchHit[pEnt->EntIndex()] = pEnt->GetEyeAngles().x;
predTime[pEnt->EntIndex()] = interfaces.global_vars->curtime + NetChannel->GetAvgLatency(FLOW_INCOMING) + NetChannel->GetAvgLatency(FLOW_OUTGOING) + TICKS_TO_TIME(1) + TICKS_TO_TIME(interfaces.engine->GetNetChannel()->iChokedPackets);
init[pEnt->EntIndex()] = false;
}
if (interfaces.global_vars->curtime > predTime[pEnt->EntIndex()] && !csgo->hitshots[pEnt->EntIndex()])
{
csgo->missedshots[pEnt->EntIndex()] += 1;
csgo->firedshots[pEnt->EntIndex()] = false;
}
else if (interfaces.global_vars->curtime <= predTime[pEnt->EntIndex()] && csgo->hitshots[pEnt->EntIndex()])
csgo->firedshots[pEnt->EntIndex()] = false;
}
else
init[pEnt->EntIndex()] = true;
csgo->hitshots[pEnt->EntIndex()] = false;
}
void CResolver::FrameStage(ClientFrameStage_t stage)
{
if (!csgo->local || !interfaces.engine->IsInGame())
return;
static bool wasDormant[65];
for (int i = 1; i < interfaces.engine->GetMaxClients(); ++i)
{
IBasePlayer* pPlayerEntity = interfaces.ent_list->GetClientEntity(i);
if (!pPlayerEntity
|| !pPlayerEntity->isAlive())
continue;
if (pPlayerEntity->IsDormant())
{
wasDormant[i] = true;
continue;
}
if (stage == FRAME_RENDER_START)
{
HandleHits(pPlayerEntity);
Do(pPlayerEntity);
}
if (stage == FRAME_NET_UPDATE_END && pPlayerEntity != csgo->local)
{
auto VarMap = reinterpret_cast<uintptr_t>(pPlayerEntity) + 36;
auto VarMapSize = *reinterpret_cast<int*>(VarMap + 20);
for (auto index = 0; index < VarMapSize; index++)
*reinterpret_cast<uintptr_t*>(*reinterpret_cast<uintptr_t*>(VarMap) + index * 12) = 0;
}
wasDormant[i] = false;
}
}
Resolver.h
C++:
#pragma once
struct animation;
class CResolver
{
private:
float GetLeftYaw(IBasePlayer*);
float GetRightYaw(IBasePlayer*);
bool TargetSide(IBasePlayer*);
void DetectSide(IBasePlayer*, int*);
bool TargetJitter(IBasePlayer*, bool);
bool DoesHaveJitter(IBasePlayer*, int*);
int FreestandSide[64];
public:
bool UseFreestandAngle[65];
float pitchHit[65];
float FreestandAngle[65];
float GetAngle(IBasePlayer*);
float GetForwardYaw(IBasePlayer*);
float GetBackwardYaw(IBasePlayer*);
void Do(IBasePlayer*);
void CreateMove();
void FrameStage(ClientFrameStage_t stage);
};
extern CResolver* resolver;
extern std::string ResolverMode[65];
Also dont know how to make reaction restriction so sorry, but everyone has 5 reaction on yg.
Edit: Also every switch has only 1 case, cuz i was testing something

