tonti666

Untitled

Sep 24th, 2017
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.49 KB | None | 0 0
  1. #include "Resolver.h"
  2.  
  3. int Globals::Shots = 0;
  4. bool Globals::change;
  5. CUserCmd* Globals::UserCmd;
  6. int Globals::TargetID;
  7. IClientEntity* Globals::Target;
  8. float OldLowerBodyYaw[64];
  9. float YawDelta[64];
  10. float reset[64];
  11. float Delta[64];
  12. float Resolved_angles[64];
  13. int iSmart;
  14. static int jitter = -1;
  15.  
  16.  
  17.  
  18.  
  19.  
  20. void R::Resolve()
  21. {
  22. IClientEntity *pLocal = Interfaces::EntList->GetClientEntity(Interfaces::Engine->GetLocalPlayer());
  23.  
  24. for (int i = 0; i < Interfaces::Engine->GetMaxClients(); ++i)
  25. {
  26. IClientEntity *pEntity = Interfaces::EntList->GetClientEntity(i);
  27.  
  28. if (!pEntity || pEntity->IsDormant() || !pEntity->IsAlive())
  29. continue;
  30.  
  31. if (pEntity->GetTeamNum() == pLocal->GetTeamNum() || !pLocal->IsAlive())
  32. continue;
  33.  
  34. Vector* eyeAngles = pEntity->GetEyeAnglesPointer();
  35.  
  36. if (Menu::Window.RageBotTab.AccuracyResolver.GetIndex() == 1 || Menu::Window.RageBotTab.AccuracyResolver.GetIndex() == 2)
  37. {
  38. if (pEntity != Globals::Target) continue;
  39.  
  40. Vector AimAngle;
  41. CalcAngleYawOnly(pEntity->GetEyePosition(), pLocal->GetAbsOrigin2(), AimAngle);
  42. NormalizeVector(AimAngle);
  43. static float StoredYaw = 0;
  44. static bool bLowerBodyIsUpdated = false;
  45. if (pEntity->GetLowerBodyYaw() != StoredYaw) bLowerBodyIsUpdated = true;
  46. else bLowerBodyIsUpdated = false;
  47. if (bLowerBodyIsUpdated) StoredYaw = pEntity->GetLowerBodyYaw();
  48. if (pEntity->GetFlags() & FL_ONGROUND && pEntity->GetVelocity().Length2D() != 0) eyeAngles->y = pEntity->GetLowerBodyYaw();
  49. else
  50. {
  51. int num = Globals::Shots % 5;
  52. switch (num) {
  53. case 0:eyeAngles->y = AimAngle.y - 15; break;
  54. case 1:eyeAngles->y = AimAngle.y + 40; break;
  55. case 2:eyeAngles->y = AimAngle.y - 40; break;
  56. case 3:eyeAngles->y = AimAngle.y + 15; break;
  57. }
  58. }
  59.  
  60. if (Menu::Window.RageBotTab.AccuracyResolver.GetIndex() == 2) //pitch
  61. {
  62. std::string strPitch = std::to_string(eyeAngles->x);
  63.  
  64. if (eyeAngles->x < -179.f) eyeAngles->x += 360.f;
  65. else if (eyeAngles->x > 90.0 || eyeAngles->x < -90.0) eyeAngles->x = 89.f;
  66. else if (eyeAngles->x > 89.0 && eyeAngles->x < 91.0) eyeAngles->x -= 90.f;
  67. else if (eyeAngles->x > 179.0 && eyeAngles->x < 181.0) eyeAngles->x -= 180;
  68. else if (eyeAngles->x > -179.0 && eyeAngles->x < -181.0) eyeAngles->x += 180;
  69. else if (fabs(eyeAngles->x) == 0) eyeAngles->x = std::copysign(89.0f, eyeAngles->x);
  70. }
  71. if (Menu::Window.RageBotTab.AccuracyResolver.GetIndex() == 1)
  72. {
  73. for (int i = 0; i < 64; ++i)
  74. {
  75. IClientEntity* ent = Interfaces::EntList->GetClientEntity(i);
  76.  
  77. if (!ent || !ent->IsAlive())
  78. continue;
  79.  
  80. *(float*)((uintptr_t)ent + 0xAA08 + 4) += Delta[i];
  81. reset[i] = *(float*)((uintptr_t)ent + 0xAA08 + 4);
  82.  
  83. float LowerBodyYaw = *(float*)((uintptr_t)ent + 0x39F8);
  84.  
  85. if (OldLowerBodyYaw[i] != LowerBodyYaw)
  86. {
  87. YawDelta[i] = reset[i] - LowerBodyYaw;
  88. OldLowerBodyYaw[i] = LowerBodyYaw;
  89. *(float*)((uintptr_t)ent + 0xAA08 + 4) = LowerBodyYaw;
  90. }
  91. else
  92. {
  93. *(float*)((uintptr_t)ent + 0xAA08 + 4) = reset[i] - YawDelta[i];
  94.  
  95. while (*(float*)((uintptr_t)ent + 0xAA08 + 4) < -180.0f)
  96. *(float*)((uintptr_t)ent + 0xAA08 + 4) += 360.0f;
  97.  
  98. while (*(float*)((uintptr_t)ent + 0xAA08 + 4) > 180.0f)
  99. *(float*)((uintptr_t)ent + 0xAA08 + 4) -= 360.0f;
  100. }
  101. Resolved_angles[i] = *(float*)((uintptr_t)ent + 0xAA08 + 4);
  102. }
  103.  
  104. if (Menu::Window.RageBotTab.AccuracyResolver.GetIndex() == 3 || Menu::Window.RageBotTab.AccuracyResolver.GetIndex() == 3)
  105. {
  106. int value = (iSmart) % 11;
  107. switch (value) {
  108. case 0:eyeAngles->y = AimAngle.y + 45; break;
  109. case 1:eyeAngles->y += 0; break;
  110. case 2:eyeAngles->y = AimAngle.y + 135; break;
  111. case 3:eyeAngles->y += 15; break;
  112. case 4:eyeAngles->y = AimAngle.y + 180; break;
  113. case 5:eyeAngles->y -= 15; break;
  114. case 6:eyeAngles->y = AimAngle.y + 270; break;
  115. case 7:eyeAngles->y += 0; break;
  116. case 8:eyeAngles->y = AimAngle.y + 360; break;
  117. case 9:eyeAngles->y -= 45; break;
  118. case 10:eyeAngles->y += 45; break;
  119. }
  120.  
  121. if (Menu::Window.RageBotTab.AccuracyResolver.GetIndex() == 4 || Menu::Window.RageBotTab.AccuracyResolver.GetIndex() == 4)
  122. {
  123. int value = (iSmart) % 13;
  124. switch (value) {
  125. case 0: eyeAngles->y += 0.0f; break;
  126. case 1: eyeAngles->y += 25; break;
  127. case 2: eyeAngles->y += 0; break;
  128. case 3: eyeAngles->y -= 25; break;
  129. case 4: eyeAngles->y += 0; break;
  130. case 5: eyeAngles->y += 80; break;
  131. case 6: eyeAngles->y += 0; break;
  132. case 7: eyeAngles->y -= 80; break;
  133. case 8: eyeAngles->y += 0; break;
  134. case 9: eyeAngles->y += 40; break;
  135. case 10: eyeAngles->y += 0; break;
  136. case 11: eyeAngles->y -= 40; break;
  137. case 12: eyeAngles->y += 0; break;
  138. case 13: eyeAngles->y += 130; break;
  139. case 14: eyeAngles->y += 140; break;
  140. case 15: eyeAngles->y += 150; break;
  141. case 16: eyeAngles->y += 160; break;
  142. case 17: eyeAngles->y += 170; break;
  143. case 18: eyeAngles->y += 180; break;
  144. case 19: eyeAngles->y += 190; break;
  145. case 20: eyeAngles->y += 200; break;
  146. case 21: eyeAngles->y += 210; break;
  147. case 22: eyeAngles->y += 220; break;
  148. case 23: eyeAngles->y += 230; break;
  149. case 24: eyeAngles->y += 240; break;
  150. case 25: eyeAngles->y += 250; break;
  151. case 26: eyeAngles->y += 260; break;
  152. case 27: eyeAngles->y += 270; break;
  153. case 28: eyeAngles->y += 280; break;
  154. case 29: eyeAngles->y += 290; break;
  155. case 30: eyeAngles->y += 300; break;
  156. case 31: eyeAngles->y += 310; break;
  157. case 32: eyeAngles->y += 320; break;
  158. case 33: eyeAngles->y += 330; break;
  159. case 34: eyeAngles->y += 340; break;
  160. case 35: eyeAngles->y += 350; break;
  161. case 36: eyeAngles->y += 360; break;
  162. case 37: eyeAngles->y += 0.0f; break;
  163. case 38: eyeAngles->y -= 10; break;
  164. case 39: eyeAngles->y -= 20; break;
  165. case 40: eyeAngles->y -= 30; break;
  166. case 41: eyeAngles->y -= 40; break;
  167. case 42: eyeAngles->y -= 50; break;
  168. case 43: eyeAngles->y -= 60; break;
  169. case 44: eyeAngles->y -= 70; break;
  170. case 45: eyeAngles->y -= 80; break;
  171. case 46: eyeAngles->y -= 90; break;
  172. case 47: eyeAngles->y -= 100; break;
  173. case 48: eyeAngles->y -= 110; break;
  174. case 49: eyeAngles->y -= 120; break;
  175. case 50: eyeAngles->y -= 130; break;
  176. case 51: eyeAngles->y -= 140; break;
  177. case 52: eyeAngles->y -= 150; break;
  178. case 53: eyeAngles->y -= 160; break;
  179. case 54: eyeAngles->y -= 170; break;
  180. case 55: eyeAngles->y -= 180; break;
  181. case 56: eyeAngles->y -= 190; break;
  182. case 57: eyeAngles->y -= 200; break;
  183. case 58: eyeAngles->y -= 210; break;
  184. case 59: eyeAngles->y -= 220; break;
  185. case 60: eyeAngles->y -= 230; break;
  186. case 61: eyeAngles->y -= 240; break;
  187. case 62: eyeAngles->y -= 250; break;
  188. case 63: eyeAngles->y -= 260; break;
  189. case 64: eyeAngles->y -= 270; break;
  190. case 65: eyeAngles->y -= 280; break;
  191. case 66: eyeAngles->y -= 290; break;
  192. case 67: eyeAngles->y -= 300; break;
  193. case 68: eyeAngles->y -= 310; break;
  194. case 69: eyeAngles->y -= 320; break;
  195. case 70: eyeAngles->y -= 330; break;
  196. case 71: eyeAngles->y -= 340; break;
  197. case 72: eyeAngles->y -= 350; break;
  198. case 73: eyeAngles->y -= 360; break;
  199. if (jitter)
  200. eyeAngles->y += 90;
  201. else
  202. eyeAngles->y + 90;
  203. break;
  204. if (jitter)
  205. eyeAngles->y -= 90;
  206. else
  207. eyeAngles->y = -90;
  208. }
  209. if (Menu::Window.RageBotTab.AccuracyResolver.GetIndex() == 5 || Menu::Window.RageBotTab.AccuracyResolver.GetIndex() == 5)
  210. {
  211. int value = (iSmart) % 13;
  212. switch (value) {
  213. case 0: eyeAngles->y += 0.0f; break;
  214. case 1: eyeAngles->y += 10; break;
  215. case 2: eyeAngles->y += 20; break;
  216. case 3: eyeAngles->y += 30; break;
  217. case 4: eyeAngles->y += 40; break;
  218. case 5: eyeAngles->y += 50; break;
  219. case 6: eyeAngles->y += 60; break;
  220. case 7: eyeAngles->y += 70; break;
  221. case 8: eyeAngles->y += 80; break;
  222. case 9: eyeAngles->y += 90; break;
  223. case 10: eyeAngles->y += 100; break;
  224. case 11: eyeAngles->y += 110; break;
  225. case 12: eyeAngles->y += 120; break;
  226. case 13: eyeAngles->y += 130; break;
  227. case 14: eyeAngles->y += 140; break;
  228. case 15: eyeAngles->y += 150; break;
  229. case 16: eyeAngles->y += 160; break;
  230. case 17: eyeAngles->y += 170; break;
  231. case 18: eyeAngles->y += 180; break;
  232. case 19: eyeAngles->y += 190; break;
  233. case 20: eyeAngles->y += 200; break;
  234. case 21: eyeAngles->y += 210; break;
  235. case 22: eyeAngles->y += 220; break;
  236. case 23: eyeAngles->y += 230; break;
  237. case 24: eyeAngles->y += 240; break;
  238. case 25: eyeAngles->y += 250; break;
  239. case 26: eyeAngles->y += 260; break;
  240. case 27: eyeAngles->y += 270; break;
  241. case 28: eyeAngles->y += 280; break;
  242. case 29: eyeAngles->y += 290; break;
  243. case 30: eyeAngles->y += 300; break;
  244. case 31: eyeAngles->y += 310; break;
  245. case 32: eyeAngles->y += 320; break;
  246. case 33: eyeAngles->y += 330; break;
  247. case 34: eyeAngles->y += 340; break;
  248. case 35: eyeAngles->y += 350; break;
  249. case 36: eyeAngles->y += 360; break;
  250. case 37: eyeAngles->y += 0.0f; break;
  251. case 38: eyeAngles->y -= 10; break;
  252. case 39: eyeAngles->y -= 20; break;
  253. case 40: eyeAngles->y -= 30; break;
  254. case 41: eyeAngles->y -= 40; break;
  255. case 42: eyeAngles->y -= 50; break;
  256. case 43: eyeAngles->y -= 60; break;
  257. case 44: eyeAngles->y -= 70; break;
  258. case 45: eyeAngles->y -= 80; break;
  259. case 46: eyeAngles->y -= 90; break;
  260. case 47: eyeAngles->y -= 100; break;
  261. case 48: eyeAngles->y -= 110; break;
  262. case 49: eyeAngles->y -= 120; break;
  263. case 50: eyeAngles->y -= 130; break;
  264. case 51: eyeAngles->y -= 140; break;
  265. case 52: eyeAngles->y -= 150; break;
  266. case 53: eyeAngles->y -= 160; break;
  267. case 54: eyeAngles->y -= 170; break;
  268. case 55: eyeAngles->y -= 180; break;
  269. case 56: eyeAngles->y -= 190; break;
  270. case 57: eyeAngles->y -= 200; break;
  271. case 58: eyeAngles->y -= 210; break;
  272. case 59: eyeAngles->y -= 220; break;
  273. case 60: eyeAngles->y -= 230; break;
  274. case 61: eyeAngles->y -= 240; break;
  275. case 62: eyeAngles->y -= 250; break;
  276. case 63: eyeAngles->y -= 260; break;
  277. case 64: eyeAngles->y -= 270; break;
  278. case 65: eyeAngles->y -= 280; break;
  279. case 66: eyeAngles->y -= 290; break;
  280. case 67: eyeAngles->y -= 300; break;
  281. case 68: eyeAngles->y -= 310; break;
  282. case 69: eyeAngles->y -= 320; break;
  283. case 70: eyeAngles->y -= 330; break;
  284. case 71: eyeAngles->y -= 340; break;
  285. case 72: eyeAngles->y -= 350; break;
  286. case 73: eyeAngles->y -= 360; break;
  287. }
  288. if (Menu::Window.RageBotTab.AccuracyAutoResolver.GetIndex() == 4 && eyeAngles->y != pEntity->GetLowerBodyYaw())
  289. {
  290. static int jitter = 1;
  291. int lastpelvisang = 0;
  292.  
  293. {
  294. DWORD* togoto0 = reinterpret_cast<DWORD*>(static_cast<DWORD> (+18));//array size/ list gotta clear it
  295. togoto0 = 0;
  296. DWORD* someothershit = reinterpret_cast<DWORD*>(static_cast<DWORD>(+12)); //invalidate the head interpolation
  297. someothershit = (DWORD*)0xFFFF;
  298. Vector orginalview = Vector(0, 0, 0); orginalview.x = eyeAngles->x; orginalview.y = eyeAngles->y;
  299.  
  300. }
  301. if (jitter % 2 == 0)
  302. jitter++;
  303. }
  304.  
  305. if (Menu::Window.RageBotTab.AccuracyAutoResolver.GetIndex() == 5 && eyeAngles->y != pEntity->GetLowerBodyYaw())
  306. {
  307. int value = (iSmart) % 13;
  308. switch (value) {
  309. case 0: eyeAngles->y += 0.0f; break;
  310. case 1: eyeAngles->y += 10; break;
  311. case 2: eyeAngles->y += 20; break;
  312. case 3: eyeAngles->y += 30; break;
  313. case 4: eyeAngles->y += 40; break;
  314. case 5: eyeAngles->y += 50; break;
  315. case 6: eyeAngles->y += 60; break;
  316. case 7: eyeAngles->y += 70; break;
  317. case 8: eyeAngles->y += 80; break;
  318. case 9: eyeAngles->y += 90; break;
  319. case 10: eyeAngles->y += 100; break;
  320. case 11: eyeAngles->y += 110; break;
  321. case 12: eyeAngles->y += 120; break;
  322. case 13: eyeAngles->y += 130; break;
  323. case 14: eyeAngles->y += 140; break;
  324. case 15: eyeAngles->y += 150; break;
  325. case 16: eyeAngles->y += 160; break;
  326. case 17: eyeAngles->y += 170; break;
  327. case 18: eyeAngles->y += 180; break;
  328. case 19: eyeAngles->y += 190; break;
  329. case 20: eyeAngles->y += 200; break;
  330. case 21: eyeAngles->y += 210; break;
  331. case 22: eyeAngles->y += 220; break;
  332. case 23: eyeAngles->y += 230; break;
  333. case 24: eyeAngles->y += 240; break;
  334. case 25: eyeAngles->y += 250; break;
  335. case 26: eyeAngles->y += 260; break;
  336. case 27: eyeAngles->y += 270; break;
  337. case 28: eyeAngles->y += 280; break;
  338. case 29: eyeAngles->y += 290; break;
  339. case 30: eyeAngles->y += 300; break;
  340. case 31: eyeAngles->y += 310; break;
  341. case 32: eyeAngles->y += 320; break;
  342. case 33: eyeAngles->y += 330; break;
  343. case 34: eyeAngles->y += 340; break;
  344. case 35: eyeAngles->y += 350; break;
  345. case 36: eyeAngles->y += 360; break;
  346. case 37: eyeAngles->y += 0.0f; break;
  347. case 38: eyeAngles->y -= 10; break;
  348. case 39: eyeAngles->y -= 20; break;
  349. case 40: eyeAngles->y -= 30; break;
  350. case 41: eyeAngles->y -= 40; break;
  351. case 42: eyeAngles->y -= 50; break;
  352. case 43: eyeAngles->y -= 60; break;
  353. case 44: eyeAngles->y -= 70; break;
  354. case 45: eyeAngles->y -= 80; break;
  355. case 46: eyeAngles->y -= 90; break;
  356. case 47: eyeAngles->y -= 100; break;
  357. case 48: eyeAngles->y -= 110; break;
  358. case 49: eyeAngles->y -= 120; break;
  359. case 50: eyeAngles->y -= 130; break;
  360. case 51: eyeAngles->y -= 140; break;
  361. case 52: eyeAngles->y -= 150; break;
  362. case 53: eyeAngles->y -= 160; break;
  363. case 54: eyeAngles->y -= 170; break;
  364. case 55: eyeAngles->y -= 180; break;
  365. case 56: eyeAngles->y -= 190; break;
  366. case 57: eyeAngles->y -= 200; break;
  367. case 58: eyeAngles->y -= 210; break;
  368. case 59: eyeAngles->y -= 220; break;
  369. case 60: eyeAngles->y -= 230; break;
  370. case 61: eyeAngles->y -= 240; break;
  371. case 62: eyeAngles->y -= 250; break;
  372. case 63: eyeAngles->y -= 260; break;
  373. case 64: eyeAngles->y -= 270; break;
  374. case 65: eyeAngles->y -= 280; break;
  375. case 66: eyeAngles->y -= 290; break;
  376. case 67: eyeAngles->y -= 300; break;
  377. case 68: eyeAngles->y -= 310; break;
  378. case 69: eyeAngles->y -= 320; break;
  379. case 70: eyeAngles->y -= 330; break;
  380. case 71: eyeAngles->y -= 340; break;
  381. case 72: eyeAngles->y -= 350; break;
  382. case 73: eyeAngles->y -= 360; break;
  383. if (jitter)
  384. eyeAngles->y += 90;
  385. else
  386. eyeAngles->y + 90;
  387. break;
  388. if (jitter)
  389. eyeAngles->y -= 90;
  390. else
  391. eyeAngles->y = -90;
  392. break;
  393. }
  394. }
  395. }
  396. }
  397. }
  398. }
  399. }
  400. }
  401. }
Add Comment
Please, Sign In to add comment