Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.94 KB | None | 0 0
  1. float GetBestHeadAngle(float yaw)
  2. {
  3. IClientEntity* plocal = Interfaces::EntList->GetClientEntity(Interfaces::Engine->GetLocalPlayer());
  4. float Back, Right, Left;
  5.  
  6. Vector src3D, dst3D, forward, right, up, src, dst;
  7. trace_t tr;
  8. Ray_t ray, ray2, ray3, ray4, ray5;
  9. CTraceFilter filter;
  10.  
  11. QAngle engineViewAngles;
  12. Interfaces::Engine->GetViewAngles(engineViewAngles);
  13.  
  14. engineViewAngles.x = 0;
  15.  
  16. AngleVectors2(engineViewAngles, &forward, &right, &up);
  17.  
  18. filter.pSkip = plocal;
  19. src3D = plocal->GetEyePosition();
  20. dst3D = src3D + (forward * 384);
  21.  
  22. ray.Init(src3D, dst3D);
  23.  
  24. Interfaces::Trace->TraceRay(ray, MASK_SHOT, &filter, &tr);
  25.  
  26. Back = (tr.endpos - tr.startpos).Length();
  27.  
  28. ray2.Init(src3D + right * 35, dst3D + right * 35);
  29.  
  30. Interfaces::Trace->TraceRay(ray2, MASK_SHOT, &filter, &tr);
  31.  
  32. Right = (tr.endpos - tr.startpos).Length();
  33.  
  34. ray3.Init(src3D - right * 35, dst3D - right * 35);
  35.  
  36. Interfaces::Trace->TraceRay(ray3, MASK_SHOT, &filter, &tr);
  37.  
  38. Left = (tr.endpos - tr.startpos).Length();
  39.  
  40. if (Left > Right)
  41. {
  42. return (yaw - 90);
  43. }
  44. else if (Right > Left)
  45. {
  46. return (yaw + 90);
  47. }
  48. else if (Back > Right || Back > Left)
  49. {
  50. return (yaw - 180);
  51. }
  52. return 0;
  53. }
  54. float PredictedTime = 0.f;
  55. bool ShouldPredict()
  56. {
  57. IClientEntity* plocal = Interfaces::EntList->GetClientEntity(Interfaces::Engine->GetLocalPlayer());
  58. INetChannelInfo* nci = Interfaces::Engine->GetNetChannelInfo();
  59.  
  60. float server_time = Interfaces::Globals->curtime + nci->GetLatency(FLOW_OUTGOING);
  61.  
  62. static bool initialized;
  63. bool will_update = false;
  64.  
  65. if (!initialized && !plocal->IsMoving())
  66. {
  67. initialized = true;
  68. PredictedTime = server_time + 0.22f;
  69. }
  70. else if (plocal->IsMoving())
  71. {
  72. initialized = false;
  73. }
  74.  
  75. if (server_time >= (PredictedTime) && plocal->GetFlags() & FL_ONGROUND)
  76. {
  77. PredictedTime = server_time + 1.1f;
  78. will_update = true;
  79. }
  80. return will_update;
  81. }
  82.  
  83. void BreakLowerbodyFreestand(CUserCmd* pCmd, bool &bSendPacket)
  84. {
  85. QAngle Angles;
  86. Interfaces::Engine->GetViewAngles(Angles);
  87. float BestHeadPosition = GetBestHeadAngle(Angles.y);
  88.  
  89. int LowerbodyDelta = Options::Menu.RageBotTab.FreestandingDelta.GetValue();
  90.  
  91. if (bSendPacket)
  92. {
  93. pCmd->viewangles.y = BestHeadPosition + LowerbodyDelta + RandomFloat2(-65.f, 65.f);
  94. }
  95. else
  96. {
  97. if (ShouldPredict())
  98. pCmd->viewangles.y = BestHeadPosition + LowerbodyDelta;
  99. else
  100. pCmd->viewangles.y = BestHeadPosition;
  101. }
  102. }
  103.  
  104.  
  105.  
  106. // system aa
  107.  
  108. if (Options::Menu.RageBotTab.AntiAimEnable.GetState())
  109. {
  110. if (Options::Menu.RageBotTab.Freestand.GetState() && pLocal->GetVelocity().Length() <= 75.f && pLocal->GetFlags() & FL_ONGROUND) // freestand
  111. {
  112. BreakLowerbodyFreestand(pCmd, bSendPacket);
  113. }
  114. else
  115. {
  116. if (bSendPacket)
  117. {
  118. DoFakeAA(pCmd, bSendPacket, pLocal);
  119. AntiAims::Maunal(pCmd, bSendPacket);
  120. }
  121. else
  122. {
  123. DoRealAA(pCmd, pLocal, bSendPacket);
  124. AntiAims::Maunal(pCmd, bSendPacket);
  125. }
  126. }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement