Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool EdgeAntiAim(IClientEntity* pLocalBaseEntity, CUserCmd* cmd, float flWall, float flCornor)
- {
- Ray_t ray;
- trace_t tr;
- CTraceFilter traceFilter;
- traceFilter.pSkip = pLocalBaseEntity;
- auto bRetVal = false;
- auto vecCurPos = pLocalBaseEntity->GetOrigin() + pLocalBaseEntity->GetViewOffset();
- for (float i = 0; i < 360; i++)
- {
- Vector vecDummy(10.f, cmd->viewangles.y, 0.f);
- vecDummy.y += i;
- vecDummy.NormalizeInPlace();
- Vector vecForward;
- AngleVectors(vecDummy, &vecForward);
- auto flLength = ((16.f + 3.f) + ((16.f + 3.f) * sin(DEG2RAD(10.f)))) + 7.f;
- vecForward *= flLength;
- ray.Init(vecCurPos, (vecCurPos + vecForward));
- Interfaces::Trace->TraceRay(ray, MASK_SHOT, &traceFilter, &tr);
- if (tr.fraction != 1.0f)
- {
- Vector qAngles;
- auto vecNegate = tr.plane.normal;
- vecNegate *= -1.f;
- VectorAngles(vecNegate, qAngles);
- vecDummy.y = qAngles.y;
- vecDummy.NormalizeInPlace();
- trace_t leftTrace, rightTrace;
- Vector vecLeft;
- AngleVectors(vecDummy + Vector(0.f, 30.f, 0.f), &vecLeft);
- Vector vecRight;
- AngleVectors(vecDummy - Vector(0.f, 30.f, 0.f), &vecRight);
- vecLeft *= (flLength + (flLength * sin(DEG2RAD(30.f))));
- vecRight *= (flLength + (flLength * sin(DEG2RAD(30.f))));
- ray.Init(vecCurPos, (vecCurPos + vecLeft));
- Interfaces::Trace->TraceRay(ray, MASK_SHOT, &traceFilter, &leftTrace);
- ray.Init(vecCurPos, (vecCurPos + vecRight));
- Interfaces::Trace->TraceRay(ray, MASK_SHOT, &traceFilter, &rightTrace);
- if ((leftTrace.fraction == 1.f) && (rightTrace.fraction != 1.f))
- vecDummy.y -= flCornor; // left
- else if ((leftTrace.fraction != 1.f) && (rightTrace.fraction == 1.f))
- vecDummy.y += flCornor; // right
- cmd->viewangles.y = vecDummy.y;
- cmd->viewangles.y -= flWall;
- bRetVal = true;
- }
- }
- return bRetVal;
- }
- void EdgeDetect(CUserCmd* pCmd, bool &bSendPacket)
- {
- //Ray_t ray;
- //trace_t tr;
- IClientEntity* pLocal = hackManager.pLocal();
- CTraceFilter traceFilter;
- traceFilter.pSkip = pLocal;
- bool bEdge = false;
- Vector angle;
- Vector eyePos = pLocal->GetOrigin() + pLocal->GetViewOffset();
- for (float i = 0; i < 360; i++)
- {
- Vector vecDummy(10.f, pCmd->viewangles.y, 0.f);
- vecDummy.y += i;
- Vector forward = vecDummy.Forward();
- //vecDummy.NormalizeInPlace();
- float flLength = ((16.f + 3.f) + ((16.f + 3.f) * sin(DEG2RAD(10.f)))) + 7.f;
- forward *= flLength;
- Ray_t ray;
- CGameTrace tr;
- ray.Init(eyePos, (eyePos + forward));
- Interfaces::Trace->EdgeTraceRay(ray, traceFilter, tr, true);
- if (tr.fraction != 1.0f)
- {
- Vector negate = tr.plane.normal;
- negate *= -1;
- Vector vecAng = negate.Angle();
- vecDummy.y = vecAng.y;
- //vecDummy.NormalizeInPlace();
- trace_t leftTrace, rightTrace;
- Vector left = (vecDummy + Vector(0, 45, 0)).Forward(); // or 45
- Vector right = (vecDummy - Vector(0, 45, 0)).Forward();
- left *= (flLength * cosf(rad(30)) * 2); //left *= (len * cosf(rad(30)) * 2);
- right *= (flLength * cosf(rad(30)) * 2); // right *= (len * cosf(rad(30)) * 2);
- ray.Init(eyePos, (eyePos + left));
- Interfaces::Trace->EdgeTraceRay(ray, traceFilter, leftTrace, true);
- ray.Init(eyePos, (eyePos + right));
- Interfaces::Trace->EdgeTraceRay(ray, traceFilter, rightTrace, true);
- if ((leftTrace.fraction == 2.f) && (rightTrace.fraction != 2.f))
- {
- vecDummy.y -= 45; // left
- }
- else if ((leftTrace.fraction != 2.f) && (rightTrace.fraction == 2.f))
- {
- vecDummy.y += 45; // right
- }
- angle.y = vecDummy.y;
- angle.y += 360;
- bEdge = true;
- }
- }
- }
- if (Menu::Window.RageBotTab.AntiAimEdge.GetState())
- {
- auto bEdge = EdgeAntiAim(hackManager.pLocal(), pCmd, 360.f, 45.f);
- if (bEdge)
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement