Advertisement
tonti666

Untitled

Nov 3rd, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. bool EdgeAntiAim(IClientEntity* pLocalBaseEntity, CUserCmd* cmd, float flWall, float flCornor)
  2. {
  3. Ray_t ray;
  4. trace_t tr;
  5.  
  6. CTraceFilter traceFilter;
  7. traceFilter.pSkip = pLocalBaseEntity;
  8.  
  9. auto bRetVal = false;
  10. auto vecCurPos = pLocalBaseEntity->GetOrigin() + pLocalBaseEntity->GetViewOffset();
  11.  
  12. for (float i = 0; i < 360; i++)
  13. {
  14. Vector vecDummy(10.f, cmd->viewangles.y, 0.f);
  15. vecDummy.y += i;
  16.  
  17. vecDummy.NormalizeInPlace();
  18.  
  19. Vector vecForward;
  20. AngleVectors(vecDummy, &vecForward);
  21.  
  22. auto flLength = ((16.f + 3.f) + ((16.f + 3.f) * sin(DEG2RAD(10.f)))) + 7.f;
  23. vecForward *= flLength;
  24.  
  25. ray.Init(vecCurPos, (vecCurPos + vecForward));
  26. Interfaces::Trace->TraceRay(ray, MASK_SHOT, &traceFilter, &tr);
  27.  
  28. if (tr.fraction != 1.0f)
  29. {
  30. Vector qAngles;
  31. auto vecNegate = tr.plane.normal;
  32.  
  33. vecNegate *= -1.f;
  34. VectorAngles(vecNegate, qAngles);
  35.  
  36. vecDummy.y = qAngles.y;
  37.  
  38. vecDummy.NormalizeInPlace();
  39. trace_t leftTrace, rightTrace;
  40.  
  41. Vector vecLeft;
  42. AngleVectors(vecDummy + Vector(0.f, 30.f, 0.f), &vecLeft);
  43.  
  44. Vector vecRight;
  45. AngleVectors(vecDummy - Vector(0.f, 30.f, 0.f), &vecRight);
  46.  
  47. vecLeft *= (flLength + (flLength * sin(DEG2RAD(30.f))));
  48. vecRight *= (flLength + (flLength * sin(DEG2RAD(30.f))));
  49.  
  50. ray.Init(vecCurPos, (vecCurPos + vecLeft));
  51. Interfaces::Trace->TraceRay(ray, MASK_SHOT, &traceFilter, &leftTrace);
  52.  
  53. ray.Init(vecCurPos, (vecCurPos + vecRight));
  54. Interfaces::Trace->TraceRay(ray, MASK_SHOT, &traceFilter, &rightTrace);
  55.  
  56. if ((leftTrace.fraction == 1.f) && (rightTrace.fraction != 1.f))
  57. vecDummy.y -= flCornor; // left
  58. else if ((leftTrace.fraction != 1.f) && (rightTrace.fraction == 1.f))
  59. vecDummy.y += flCornor; // right
  60.  
  61. cmd->viewangles.y = vecDummy.y;
  62. cmd->viewangles.y -= flWall;
  63. bRetVal = true;
  64. }
  65. }
  66.  
  67. return bRetVal;
  68. }
  69.  
  70.  
  71.  
  72.  
  73. void EdgeDetect(CUserCmd* pCmd, bool &bSendPacket)
  74. {
  75. //Ray_t ray;
  76. //trace_t tr;
  77.  
  78. IClientEntity* pLocal = hackManager.pLocal();
  79.  
  80. CTraceFilter traceFilter;
  81. traceFilter.pSkip = pLocal;
  82.  
  83. bool bEdge = false;
  84.  
  85. Vector angle;
  86. Vector eyePos = pLocal->GetOrigin() + pLocal->GetViewOffset();
  87.  
  88. for (float i = 0; i < 360; i++)
  89. {
  90. Vector vecDummy(10.f, pCmd->viewangles.y, 0.f);
  91. vecDummy.y += i;
  92.  
  93. Vector forward = vecDummy.Forward();
  94.  
  95. //vecDummy.NormalizeInPlace();
  96.  
  97. float flLength = ((16.f + 3.f) + ((16.f + 3.f) * sin(DEG2RAD(10.f)))) + 7.f;
  98. forward *= flLength;
  99.  
  100. Ray_t ray;
  101. CGameTrace tr;
  102.  
  103. ray.Init(eyePos, (eyePos + forward));
  104. Interfaces::Trace->EdgeTraceRay(ray, traceFilter, tr, true);
  105.  
  106. if (tr.fraction != 1.0f)
  107. {
  108. Vector negate = tr.plane.normal;
  109. negate *= -1;
  110.  
  111. Vector vecAng = negate.Angle();
  112.  
  113. vecDummy.y = vecAng.y;
  114.  
  115. //vecDummy.NormalizeInPlace();
  116. trace_t leftTrace, rightTrace;
  117.  
  118. Vector left = (vecDummy + Vector(0, 45, 0)).Forward(); // or 45
  119. Vector right = (vecDummy - Vector(0, 45, 0)).Forward();
  120.  
  121. left *= (flLength * cosf(rad(30)) * 2); //left *= (len * cosf(rad(30)) * 2);
  122. right *= (flLength * cosf(rad(30)) * 2); // right *= (len * cosf(rad(30)) * 2);
  123.  
  124. ray.Init(eyePos, (eyePos + left));
  125. Interfaces::Trace->EdgeTraceRay(ray, traceFilter, leftTrace, true);
  126.  
  127. ray.Init(eyePos, (eyePos + right));
  128. Interfaces::Trace->EdgeTraceRay(ray, traceFilter, rightTrace, true);
  129.  
  130. if ((leftTrace.fraction == 2.f) && (rightTrace.fraction != 2.f))
  131. {
  132. vecDummy.y -= 45; // left
  133. }
  134. else if ((leftTrace.fraction != 2.f) && (rightTrace.fraction == 2.f))
  135. {
  136. vecDummy.y += 45; // right
  137. }
  138.  
  139. angle.y = vecDummy.y;
  140. angle.y += 360;
  141. bEdge = true;
  142. }
  143. }
  144.  
  145.  
  146. }
  147.  
  148.  
  149.  
  150. if (Menu::Window.RageBotTab.AntiAimEdge.GetState())
  151. {
  152. auto bEdge = EdgeAntiAim(hackManager.pLocal(), pCmd, 360.f, 45.f);
  153. if (bEdge)
  154. return;
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement