Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.73 KB | None | 0 0
  1. #include "../Cheat.h"
  2. #include "../thirdperson.h"
  3. #include "../asus.h"
  4.  
  5. struct PlayerAA
  6. {
  7. CBaseEntity* player;
  8. QAngle angle;
  9.  
  10. PlayerAA(CBaseEntity* player, QAngle angle)
  11. {
  12. this->player = player;
  13. this->angle = angle;
  14. }
  15. };
  16.  
  17. namespace LBYthings
  18. {
  19. float OldYawDeltasX[64];
  20. float OldLowerBodyYawsX[64];
  21. float flTemp[64];
  22. float resolved_yaw[64];
  23.  
  24. float LastLBYUpdateTime;
  25.  
  26. float GetLatency()
  27. {
  28. INetChannelInfo *nci = I::Engine->GetNetChannelInfo();
  29. if (nci)
  30. {
  31. float Latency = nci->GetAvgLatency(2) + nci->GetAvgLatency(1);
  32. return Latency;
  33. }
  34. else
  35. {
  36. return 0.0f;
  37. }
  38. }
  39.  
  40. bool NextLBYUpdate()
  41. {
  42. static float OldLBY = 0.f;
  43. float flServerTime = I::Globals->curtime;
  44. static int LBYBreakerTimer = 0;
  45.  
  46. if (OldLBY != *G::LocalPlayer->GetLowerBodyYawTarget())
  47. {
  48. LBYBreakerTimer++;
  49. OldLBY = *G::LocalPlayer->GetLowerBodyYawTarget();
  50. LastLBYUpdateTime = flServerTime;
  51. }
  52.  
  53. if (G::LocalPlayer->GetVelocity().Length2D() > 0.5)
  54. {
  55. LastLBYUpdateTime = flServerTime;
  56. return true;
  57. }
  58.  
  59.  
  60. if ((LastLBYUpdateTime + 1 - (GetLatency() * 2) < flServerTime) && (G::LocalPlayer->GetFlags() & FL_ONGROUND))
  61. {
  62. if (LastLBYUpdateTime + 1.1 - (GetLatency() * 2) < flServerTime)
  63. {
  64. LastLBYUpdateTime += 1.1;
  65. }
  66. return true;
  67. }
  68.  
  69. return false;
  70. }
  71.  
  72.  
  73. void lbydelta(CBaseEntity* ent)
  74. {
  75. float flYaw;
  76.  
  77. float LowerYaw = *ent->GetLowerBodyYawTarget();
  78. int index = ent->GetIndex();
  79.  
  80. if (OldLowerBodyYawsX[index] != LowerYaw)
  81. {
  82. OldYawDeltasX[index] = LowerYaw - OldLowerBodyYawsX[index];
  83. OldLowerBodyYawsX[index] = LowerYaw;
  84.  
  85. if (ent->GetVelocity().Length2D() > 0.1f && ent->GetFlags() & FL_ONGROUND)
  86. {
  87. flTemp[index] = LowerYaw;
  88. OldLowerBodyYawsX[index] = LowerYaw;
  89. }
  90. else
  91. {
  92. flTemp[index] = OldLowerBodyYawsX[index];
  93. }
  94. }
  95. else
  96. {
  97. flTemp[index] = LowerYaw - OldYawDeltasX[index];
  98. }
  99.  
  100. float FixedResolve = flTemp[index];
  101.  
  102. if (G::LastLBYUpdate)
  103. {
  104. flYaw = FixedResolve;
  105. }
  106. else
  107. {
  108. if (LastLBYUpdateTime <= 0.57f && LastLBYUpdateTime >= 0.27f) // if it wasnt long ago that lby updated, just check nearby
  109. {
  110. resolved_yaw[index] = FixedResolve + U::RandomFloat(-35, 35); // -35.0 - 35.0
  111. }
  112. else // if its getting old info, check in a wider area
  113. {
  114. resolved_yaw[index] = FixedResolve + U::RandomFloat(-90, 90);
  115. }
  116. flYaw = resolved_yaw[index];
  117. }
  118.  
  119. ent->GetHeadRotation()->y = flYaw;
  120. }
  121. }
  122.  
  123. std::vector<int> CPlayerList::Players = {};
  124. std::vector<PlayerAA> player_data;
  125. std::vector< CPlayer > Players;
  126.  
  127. float DoYawAAA(CBaseEntity* pEnt) {
  128. float yaw = pEnt->GetHeadRotation()->y;
  129.  
  130. yaw -= 180.f;
  131.  
  132. return yaw;
  133. }
  134.  
  135.  
  136. float LBYResolver(CBaseEntity* Player, bool lby2)
  137. {
  138. QAngle angle;
  139.  
  140. angle.y = Player->GetHeadRotation()->y;
  141.  
  142. if (G::LastLBYUpdate)
  143. angle.y -= lby2 ? 180.f : 90.f;
  144.  
  145. return angle.y;
  146. }
  147.  
  148. FrameStageNotifyFn oFrameStageNotify;
  149. void __stdcall Hooks::FrameStageNotify(ClientFrameStage_t stage)
  150. {
  151. if (!G::LocalPlayer || G::LocalPlayer->GetHealth() <= 0)
  152. return oFrameStageNotify(stage);
  153.  
  154. G::FSNLBY = *G::LocalPlayer->GetLowerBodyYawTarget();
  155. G::LastLBYUpdate = LBYthings::NextLBYUpdate();
  156. // Resolver
  157. if ((Vars.Ragebot.Antiaim.Resolver || Vars.Ragebot.ResolverHelper) && I::Engine->IsInGame() && stage == FRAME_NET_UPDATE_POSTDATAUPDATE_START)
  158. {
  159. if (G::LocalPlayer && G::LocalPlayer->GetAlive())
  160. {
  161. for (int i = 0; i <= I::Globals->maxClients; i++)
  162. {
  163. CBaseEntity* Entity = I::ClientEntList->GetClientEntity(i);
  164.  
  165. if (!Entity
  166. || Entity == G::LocalPlayer
  167. || Entity->GetTeam() == G::LocalPlayer->GetTeam()
  168. || Entity->GetHealth() <= 0
  169. || Entity->GetDormant()
  170. || Entity->GetImmune())
  171. continue;
  172.  
  173. player_info_t entityInformation;
  174. I::Engine->GetPlayerInfo(i, &entityInformation);
  175.  
  176. if (std::find(CPlayerList::Players.begin(), CPlayerList::Players.end(), entityInformation.userid) != CPlayerList::Players.end())
  177. continue;
  178.  
  179. player_data.push_back(PlayerAA(Entity, *Entity->GetHeadRotation()));
  180.  
  181. if (Vars.Ragebot.Antiaim.Resolver == 1) // LBY
  182. Entity->GetHeadRotation()->y = *Entity->GetLowerBodyYawTarget();
  183.  
  184.  
  185. else if (Vars.Ragebot.Antiaim.Resolver == 2) //LBY
  186. LBYthings::lbydelta(Entity);
  187.  
  188. if (Entity->GetHeadRotation()->y > 180.0f)
  189. Entity->GetHeadRotation()->y -= 360.0f;
  190. if (Entity->GetHeadRotation()->y < -180.0f)
  191. Entity->GetHeadRotation()->y += 360.0f;
  192. if (Entity->GetHeadRotation()->y < -90.0f)
  193. Entity->GetHeadRotation()->y += 90.0f;
  194. if (Entity->GetHeadRotation()->y > 90.0f)
  195. Entity->GetHeadRotation()->y -= 90.0f;
  196. if (Entity->GetHeadRotation()->y > 45.0f)
  197. Entity->GetHeadRotation()->y -= 15.0f;
  198. if (Entity->GetHeadRotation()->y > -45.0f)
  199. Entity->GetHeadRotation()->y -= -15.0f;
  200.  
  201. else if (Vars.Ragebot.Antiaim.Resolver == 3) //LBY
  202. LBYthings::lbydelta(Entity);
  203.  
  204. if (Entity->GetHeadRotation()->y > 90.0f)
  205. Entity->GetHeadRotation()->y -= 180.0f;
  206. if (Entity->GetHeadRotation()->y < -90.0f)
  207. Entity->GetHeadRotation()->y += 180.0f;
  208. if (Entity->GetHeadRotation()->y > 180.0f)
  209. Entity->GetHeadRotation()->y -= 360.0f;
  210. if (Entity->GetHeadRotation()->y < -180.0f)
  211. Entity->GetHeadRotation()->y += 360.0f;
  212. if (Entity->GetHeadRotation()->y > 45.0f)
  213. Entity->GetHeadRotation()->y -= 15.0f;
  214. if (Entity->GetHeadRotation()->y < -45.0f)
  215. Entity->GetHeadRotation()->y += 15.0f;
  216. Entity->GetHeadRotation()->y = *Entity->GetLowerBodyYawTarget();;
  217.  
  218. if (Vars.Players.AAA.PAngle[i] > 0)
  219. {
  220. if (Vars.Players.AAA.PAngle[i] == 1)
  221. Entity->GetHeadRotation()->x = 89.f;
  222. else if (Vars.Players.AAA.PAngle[i] == 2)
  223. Entity->GetHeadRotation()->x = -89.f;
  224. else if (Vars.Players.AAA.PAngle[i] == 3)
  225. Entity->GetHeadRotation()->x = 0.f;
  226. else if (Vars.Players.AAA.PAngle[i] == 4)
  227. Entity->GetHeadRotation()->x = 70.f;
  228. }
  229.  
  230. QAngle eyeAngles = *Entity->GetHeadRotation();
  231.  
  232. if (Vars.Players.AAA.YAngle[i] > 0)
  233. {
  234. if (Vars.Players.AAA.YAngle[i] == 1)
  235. Entity->GetHeadRotation()->y = Entity->GetHeadRotation()->y - 179.f;
  236. else if (Vars.Players.AAA.YAngle[i] == 2)
  237. {
  238. if (Entity->GetHeadRotation()->y > 180 && Entity->GetHeadRotation()->y < -180)
  239. Entity->GetHeadRotation()->y = 90.0f;
  240. }
  241. else if (Vars.Players.AAA.YAngle[i] > 2)
  242. {
  243. bool lby2 = Vars.Players.AAA.YAngle[i] == 4 ? true : false;
  244. Entity->GetHeadRotation()->y = LBYResolver(Entity, lby2);
  245. }
  246. }
  247.  
  248. if (Vars.Ragebot.ResolverHelper > 0)
  249. {
  250. if (Vars.Ragebot.ResolverHelper == 1)
  251. {
  252. if (Entity->GetHeadRotation()->x < -179.648438f || Entity->GetHeadRotation()->x > 179.648438f)
  253. Entity->GetHeadRotation()->x = -10.0f;
  254.  
  255. if (Entity->GetHeadRotation()->x <= -88.945313f && Entity->GetHeadRotation()->x >= -179.648438f)
  256. Entity->GetHeadRotation()->x = -89.0f;
  257.  
  258. if (Entity->GetHeadRotation()->x >= 88.945313f && Entity->GetHeadRotation()->x <= 179.648438f)
  259. Entity->GetHeadRotation()->x = 89.0f;
  260.  
  261. }
  262. if (Vars.Ragebot.ResolverHelper > 1 && Vars.Players.AAA.PAngle[i] == 0)
  263. {
  264. if (eyeAngles.x < -179.f) eyeAngles.x += 360.f;
  265. else if (eyeAngles.x > 90.0 || eyeAngles.x < -90.0) eyeAngles.x = 89.f;
  266. else if (eyeAngles.x > 89.0 && eyeAngles.x < 91.0) eyeAngles.x -= 90.f;
  267. else if (eyeAngles.x > -179.0 && eyeAngles.x < -181.0) eyeAngles.x += 180;
  268. else if (eyeAngles.x > 179.0 && eyeAngles.x < 181.0) eyeAngles.x -= 180;
  269. else if (eyeAngles.x > -89.0 && eyeAngles.x < -91.0) eyeAngles.x += 90.f;
  270. else if (fabs(eyeAngles.x) == 0) eyeAngles.x = std::copysign(89.0f, eyeAngles.x);
  271. else if (eyeAngles.x > 45.0 || eyeAngles.x < -45.0) eyeAngles.x = 47.f;
  272. else if (eyeAngles.x > 15.0 && eyeAngles.x < 17.0) eyeAngles.x -= 15.f;
  273. else if (eyeAngles.x > -25.0 && eyeAngles.x < -35.0) eyeAngles.x += 25;
  274. else if (eyeAngles.x > 74.0 && eyeAngles.x < 77.0) eyeAngles.x -= 74;
  275. else if (eyeAngles.x > -135.0 && eyeAngles.x < -137.0) eyeAngles.x += 135.f;
  276. else if (fabs(eyeAngles.x) == 0) eyeAngles.x = std::copysign(89.0f, eyeAngles.x);
  277. }
  278. if (Vars.Ragebot.ResolverHelper > 2)
  279. {
  280. if (Vars.Ragebot.Antiaim.Resolver == 1)
  281. {
  282. if ((*Entity->GetLowerBodyYawTarget() != Entity->GetHeadRotation()->y) && (Entity->GetVelocity().Length2D() > 0.1f && Entity->GetFlags() & FL_ONGROUND))
  283. {
  284. Entity->GetHeadRotation()->y = Entity->GetHeadRotation()->y + U::RandomFloat(-35, 35);
  285. }
  286. }
  287. if (Vars.Ragebot.Antiaim.Resolver == 2)
  288. {
  289. Entity->GetHeadRotation()->y = Entity->GetHeadRotation()->y + U::RandomFloat(-45, 45);
  290. }
  291.  
  292. if (Vars.Ragebot.Antiaim.Resolver == 3)
  293. {
  294. static Vector orginalview = Vector(0, 0, 0);
  295.  
  296. orginalview.y = Entity->GetHeadRotation()->y;
  297.  
  298. float flResolve = 0.f;
  299. float flLowerBodyYaw = *Entity->GetLowerBodyYawTarget();
  300. int difference = orginalview.y - flLowerBodyYaw;
  301.  
  302. static int iLastUpdatedTick = 0;
  303.  
  304. if (G::LocalPlayer->GetShotsFired() > 3)
  305. {
  306. iLastUpdatedTick++;
  307.  
  308. switch (G::LocalPlayer->GetShotsFired() % 2)
  309. {
  310. case 0:
  311. flResolve = 90;
  312. break;
  313. case 1:
  314. flResolve = 180;
  315. break;
  316. case 2:
  317. flResolve = -90;
  318. break;
  319. case 3:
  320. flResolve = -45;
  321. break;
  322. case 4:
  323. flResolve = -15;
  324. break;
  325. case 5:
  326. flResolve = 45;
  327. break;
  328. case 6:
  329. flResolve = 15;
  330. break;
  331. case 7:
  332. flResolve = 135;
  333. break;
  334. case 8:
  335. flResolve = -47;
  336. break;
  337. case 9:
  338. flResolve = -135;
  339. break;
  340. case 10:
  341. flResolve = 47;
  342. break;
  343. }
  344. }
  345. else
  346. {
  347. iLastUpdatedTick++;
  348.  
  349. int temp = difference;
  350. while (temp < 0)
  351. temp += 360;
  352. while (temp > 360)
  353. temp -= 360;
  354. if (temp > 15)
  355. {
  356. if (Entity->GetVelocity().Length2D() > 5)
  357. {
  358. flResolve = flLowerBodyYaw;
  359. }
  360. else
  361. {
  362. flResolve += difference;
  363. }
  364. }
  365. else
  366. {
  367. switch (G::LocalPlayer->GetShotsFired() % 2)
  368. {
  369. case 0:
  370. flResolve = flLowerBodyYaw + 180;
  371. break;
  372. case 1:
  373. flResolve = flLowerBodyYaw;
  374. break;
  375. }
  376. }
  377. }
  378. Entity->GetHeadRotation()->y = flResolve;
  379. }
  380.  
  381. }
  382. }
  383. }
  384. }
  385. }
  386. //* Resolver *//
  387.  
  388. QAngle aim_punch_old;
  389. QAngle view_punch_old;
  390.  
  391. QAngle* aim_punch = nullptr;
  392. QAngle* view_punch = nullptr;
  393.  
  394. if (stage == FRAME_RENDER_START)
  395. {
  396. if (*(bool*)((DWORD)I::Input + 0xA5)) {
  397. *(QAngle*)((DWORD)G::LocalPlayer + offsets.deadflag + 4) = G::VisualAngle;
  398. }
  399. }
  400.  
  401. if (I::Engine->IsInGame() && stage == FRAME_RENDER_START && Vars.Visuals.RemovalsVisualRecoil)
  402. {
  403. if (G::LocalPlayer && G::LocalPlayer->GetAlive())
  404. {
  405. aim_punch = (QAngle*)((DWORD)G::LocalPlayer + offsets.m_aimPunchAngle);
  406. view_punch = (QAngle*)((DWORD)G::LocalPlayer + offsets.m_viewPunchAngle);
  407.  
  408. aim_punch_old = *aim_punch;
  409. view_punch_old = *view_punch;
  410.  
  411. *aim_punch = QAngle(0, 0, 0);
  412. *view_punch = QAngle(0, 0, 0);
  413. }
  414. }
  415.  
  416.  
  417. //ThirdPerson::FrameStageNotify(stage);
  418. oFrameStageNotify(stage);
  419.  
  420.  
  421. if (aim_punch && view_punch && Vars.Visuals.RemovalsVisualRecoil)
  422. {
  423. *aim_punch = aim_punch_old;
  424. *view_punch = view_punch_old;
  425. }
  426. //return oFrameStageNotify(stage);
  427. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement