Advertisement
Guest User

Untitled

a guest
May 14th, 2019
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.22 KB | None | 0 0
  1. bool __stdcall CreateMoveClient_Hooked(float frametime, CUserCmd* pCmd)
  2. {
  3. if (!pCmd->command_number)
  4. return true;
  5. IClientEntity *pLocal = interfaces::ent_list->get_client_entity(interfaces::engine->GetLocalPlayer());
  6. C_BaseCombatWeapon* pWeapon = (C_BaseCombatWeapon*)interfaces::ent_list->GetClientEntityFromHandle(pLocal->GetActiveWeaponHandle());
  7.  
  8. uintptr_t* FPointer; __asm { MOV FPointer, EBP }
  9. byte* SendPacket = (byte*)(*FPointer - 0x1C);
  10. GlobalBREAK::bSendPacket = *SendPacket;
  11. if (interfaces::engine->IsConnected() && interfaces::engine->IsInGame())
  12. {
  13. static bool boost_fps = false;
  14. static bool abc = false;
  15. static bool haha = false;
  16.  
  17. if (options::menu.visuals2_tab.optimize.GetState())
  18. {
  19. c_misc->optimize();
  20. }
  21. else
  22. {
  23. haha = false;
  24. }
  25. pCmd->sidemove = pCmd->sidemove;
  26. pCmd->upmove = pCmd->upmove;
  27. pCmd->forwardmove = pCmd->forwardmove;
  28.  
  29. GlobalBREAK::bSendPacket = *SendPacket;
  30. if (GetAsyncKeyState(options::menu.MiscTab.manualleft.GetKey()))
  31. {
  32. bigboi::indicator = 1;
  33. }
  34. else if (GetAsyncKeyState(options::menu.MiscTab.manualright.GetKey()))
  35. {
  36. bigboi::indicator = 2;
  37. }
  38. else if (GetAsyncKeyState(options::menu.MiscTab.manualback.GetKey()))
  39. {
  40. bigboi::indicator = 3;
  41. }
  42. else if (GetAsyncKeyState(options::menu.MiscTab.manualfront.GetKey()))
  43. {
  44. bigboi::indicator = 4;
  45. }
  46.  
  47. defususmaximus(pCmd);
  48.  
  49. GlobalBREAK::smt = frametime;
  50. GlobalBREAK::userCMD = pCmd;
  51. GlobalBREAK::vecUnpredictedVel = pLocal->GetVelocity();
  52.  
  53. clan_changer();
  54.  
  55. PVOID pebp;
  56. __asm mov pebp, ebp;
  57. bool* pbSendPacket = (bool*)(*(DWORD*)pebp - 0x1C);
  58. bool& bSendPacket = *pbSendPacket;
  59. uintptr_t* framePtr;
  60. __asm mov framePtr, ebp;
  61. GlobalBREAK::bSendPacket = (bool*)(*(DWORD*)pebp - 0x1C);
  62.  
  63. if (pLocal->GetFlags() & FL_ONGROUND)
  64. GlobalBREAK::TicksOnGround++;
  65. else
  66. GlobalBREAK::TicksOnGround = 0;
  67.  
  68. if (pLocal->GetFlags() & FL_DUCKING)
  69. GlobalBREAK::ticks_while_unducked = 0;
  70. else
  71. GlobalBREAK::ticks_while_unducked++;
  72.  
  73. if (GlobalBREAK::bSendPacket)
  74. GlobalBREAK::prevChoked = interfaces::client_state->chokedcommands;
  75. if (!GlobalBREAK::bSendPacket)
  76. GlobalBREAK::visualAngles = QAngle(pCmd->viewangles.x, pCmd->viewangles.y, pCmd->viewangles.z);
  77. if (GlobalBREAK::TicksOnGround == 1)
  78. *(bool*)(*(DWORD*)pebp - 0x1C) = false;
  79. if (GlobalBREAK::TicksOnGround == 1 && pLocal->getFlags() & FL_ONGROUND)
  80. *(bool*)(*(DWORD*)pebp - 0x1C) = false;
  81. if (GlobalBREAK::TicksOnGround == 0 && pLocal->GetFlags() & FL_ONGROUND)
  82. *(bool*)(*(DWORD*)pebp - 0x1C) = false;
  83.  
  84. globalsh.bSendPaket = true;
  85.  
  86. if (options::menu.MiscTab.FakeLagChoke.GetValue() > 0 || options::menu.MiscTab.FakeLagChoke2.GetValue() > 0)
  87. globalsh.bSendPaket = false;
  88. if (interfaces::client_state->chokedcommands > 13 || (interfaces::client_state->chokedcommands == globalsh.ChokeAmount &&
  89. (options::menu.MiscTab.FakeLagChoke.GetValue() > 0 || options::menu.MiscTab.FakeLagChoke2.GetValue() > 0)))
  90. globalsh.bSendPaket = false; globalsh.bSendPaket = (bool*)(*(DWORD*)pebp - 0x1C);
  91. Vector origView = pCmd->viewangles;
  92. Vector viewforward, viewright, viewup, aimforward, aimright, aimup;
  93. Vector qAimAngles;
  94. qAimAngles.Init(0.0f, pCmd->viewangles.y, 0.0f);
  95. AngleVectors(qAimAngles, &viewforward, &viewright, &viewup);
  96. if (globalsh.bSendPaket)
  97. globalsh.prevChoked = interfaces::client_state->chokedcommands;
  98.  
  99. IClientEntity* pEntity;
  100. // Vector ClientAngles; interfaces::engine->get_viewangles(ClientAngles);
  101.  
  102. if (options::menu.MiscTab.SniperCrosshair.GetState() && pLocal->IsAlive() && !pLocal->IsScoped())
  103. {
  104. if (pLocal->GetWeapon2() && pLocal->GetWeapon2()->m_bIsSniper()) {
  105. ConVar* cross = interfaces::cvar->FindVar("weapon_debug_spread_show");
  106. cross->nFlags &= ~FCVAR_CHEAT;
  107. cross->SetValue(3);
  108. }
  109. }
  110. else {
  111. ConVar* cross = interfaces::cvar->FindVar("weapon_debug_spread_show");
  112. cross->nFlags &= ~FCVAR_CHEAT;
  113. cross->SetValue(0);
  114. }
  115. if (interfaces::engine->IsConnected() && interfaces::engine->IsInGame() && pLocal)
  116. {
  117. if (pLocal->GetFlags() & FL_ONGROUND && !(CMBacktracking::Get().current_record->m_nFlags & FL_ONGROUND)) {
  118. *(bool*)(*(DWORD*)pebp - 0x1C) = true;
  119. }
  120. if (pLocal->GetFlags() & FL_ONGROUND && interfaces::m_iInputSys->IsButtonDown(KEY_SPACE)) {
  121. *(bool*)(*(DWORD*)pebp - 0x1C) = false;
  122. }
  123. if (!pLocal->GetFlags() & FL_ONGROUND && !interfaces::m_iInputSys->IsButtonDown(KEY_SPACE)) {
  124. *(bool*)(*(DWORD*)pebp - 0x1C) = false;
  125. }
  126. if (interfaces::m_iInputSys->IsButtonDown(MOUSE_LEFT)) {
  127. *(bool*)(*(DWORD*)pebp - 0x1C) = false;
  128. }
  129. for (int i = 1; i < 2; i++)
  130. {
  131. if (pLocal->GetFlags() & FL_ONGROUND && !(headPositions[pLocal->GetIndex()][i].flags)) {
  132. *(bool*)(*(DWORD*)pebp - 0x1C) = true;
  133. }
  134. }
  135. if (options::menu.LegitBotTab.legitbacktrack.GetState())
  136. {
  137. if (GameUtils::IsRifle(pWeapon))
  138. {
  139. if (options::menu.LegitBotTab.WeaponMainHitbox.GetIndex() < 4)
  140. {
  141. backtracking->legit_backtrack(pCmd, pLocal);
  142. }
  143. else
  144. {
  145. return;
  146. }
  147.  
  148. }
  149.  
  150. if (GameUtils::IsPistol(pWeapon))
  151. {
  152. if (options::menu.LegitBotTab.WeaponPistHitbox.GetIndex() < 4)
  153. {
  154. backtracking->legit_backtrack(pCmd, pLocal);
  155. }
  156. else
  157. {
  158. return;
  159. }
  160. }
  161.  
  162. if (GameUtils::IsSniper(pWeapon))
  163. {
  164. if (options::menu.LegitBotTab.WeaponSnipHitbox.GetIndex() < 4)
  165. {
  166. backtracking->legit_backtrack(pCmd, pLocal);
  167. }
  168. else
  169. {
  170. return;
  171. }
  172. }
  173.  
  174. }
  175.  
  176.  
  177.  
  178.  
  179. Prediction->StartPrediction(pCmd);
  180. {
  181. CMBacktracking::Get().StartLagCompensation(pLocal);
  182. if (options::menu.aimbot_tab.extrapolation.GetState())
  183. linear_extraps.run();
  184.  
  185. Hacks::MoveHacks(pCmd, bSendPacket);
  186. }
  187. Prediction->EndPrediction(pCmd);
  188.  
  189.  
  190. if (pCmd->forwardmove)
  191. {
  192. pCmd->buttons &= ~(pCmd->forwardmove < 0 ? IN_FORWARD : IN_BACK);
  193. pCmd->buttons |= (pCmd->forwardmove > 0 ? IN_FORWARD : IN_BACK);
  194. }
  195. if (pCmd->sidemove) {
  196. pCmd->buttons &= ~(pCmd->sidemove < 0 ? IN_MOVERIGHT : IN_MOVELEFT);
  197. pCmd->buttons |= (pCmd->sidemove > 0 ? IN_MOVERIGHT : IN_MOVELEFT);
  198. }
  199.  
  200. }
  201.  
  202. IClientEntity* LocalPlayer = (IClientEntity*)interfaces::ent_list->get_client_entity(interfaces::engine->GetLocalPlayer());
  203. float flServerTime = (float)(LocalPlayer->GetTickBase() * interfaces::globals->interval_per_tick);
  204. static float next_time = 0;
  205. MovementCorrection(pCmd, LocalPlayer);
  206. qAimAngles.Init(0.0f, GetAutostrafeView().y, 0.0f);
  207. AngleVectors(qAimAngles, &viewforward, &viewright, &viewup);
  208. qAimAngles.Init(0.0f, pCmd->viewangles.y, 0.0f);
  209. AngleVectors(qAimAngles, &aimforward, &aimright, &aimup);
  210. Vector vForwardNorm; Normalize(viewforward, vForwardNorm);
  211. Vector vRightNorm; Normalize(viewright, vRightNorm);
  212. Vector vUpNorm; Normalize(viewup, vUpNorm);
  213. float forward = pCmd->forwardmove;
  214. float right = pCmd->sidemove;
  215. float up = pCmd->upmove;
  216. if (pLocal->IsAlive())
  217. {
  218. if (forward > 450) forward = 450;
  219. if (right > 450) right = 450;
  220. if (up > 450) up = 450;
  221. if (forward < -450) forward = -450;
  222. if (right < -450) right = -450;
  223. if (up < -450) up = -450;
  224. pCmd->forwardmove = DotProduct(forward * vForwardNorm, aimforward) + DotProduct(right * vRightNorm, aimforward) + DotProduct(up * vUpNorm, aimforward);
  225. pCmd->sidemove = DotProduct(forward * vForwardNorm, aimright) + DotProduct(right * vRightNorm, aimright) + DotProduct(up * vUpNorm, aimright);
  226. pCmd->upmove = DotProduct(forward * vForwardNorm, aimup) + DotProduct(right * vRightNorm, aimup) + DotProduct(up * vUpNorm, aimup);
  227. }
  228.  
  229. if (options::menu.ColorsTab.OtherSafeMode.GetIndex() < 3)
  230. {
  231. GameUtils::NormaliseViewAngle(pCmd->viewangles);
  232. if (pCmd->viewangles.z != 0.0f)
  233. {
  234. pCmd->viewangles.z = 0.00;
  235. }
  236. if (pCmd->viewangles.x < -89 || pCmd->viewangles.x > 89 || pCmd->viewangles.y < -180 || pCmd->viewangles.y > 180)
  237. {
  238. Utilities::Log(" Re-calculating angles");
  239. GameUtils::NormaliseViewAngle(pCmd->viewangles);
  240. if (pCmd->viewangles.x < -89 || pCmd->viewangles.x > 89 || pCmd->viewangles.y < -180 || pCmd->viewangles.y > 180)
  241. {
  242. pCmd->viewangles = origView;
  243. pCmd->sidemove = right;
  244. pCmd->forwardmove = forward;
  245. }
  246. }
  247. if (pCmd->viewangles.x > 90)
  248. {
  249. pCmd->forwardmove = -pCmd->forwardmove;
  250. }
  251. if (pCmd->viewangles.x < -90)
  252. {
  253. pCmd->forwardmove = -pCmd->forwardmove;
  254. }
  255. }
  256. if (!bSendPacket)
  257. {
  258. LastAngleAAReal = pCmd->viewangles;
  259. c_beam->real = pCmd->viewangles.y;
  260. }
  261. lineLBY = pLocal->GetLowerBodyYaw();
  262. lineLBY2 = LastAngleAAReal.y - pLocal->GetLowerBodyYaw();
  263. if (bSendPacket)
  264. {
  265. c_beam->cham_origin = pLocal->GetAbsOrigin();
  266. LastAngleAAFake = pCmd->viewangles;
  267. }
  268.  
  269. if (pLocal && pLocal->IsAlive() && pWeapon != nullptr && !GameUtils::IsGrenade(pWeapon) && !(pWeapon->isZeus() || pWeapon->IsC4()))
  270. {
  271. inaccuracy = pWeapon->GetInaccuracy() * 1000;
  272. lspeed = pLocal->GetVelocity().Length2D();
  273. pitchmeme = pCmd->viewangles.x;
  274. }
  275.  
  276. Vector fl = pLocal->GetAbsAngles();
  277. fl.y = LastAngleAAFake.y;
  278. fl.z = 0.f;
  279.  
  280. c_beam->cham_angle = fl;
  281. }
  282. return false;
  283. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement