Advertisement
Guest User

Untitled

a guest
May 19th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. #include "EnginePrediction.h"
  2. #include "..\..\SDK\CInput.h"
  3. #include "..\..\SDK\CEntity.h"
  4. #include "..\..\Utils\GlobalVars.h"
  5. #include "..\..\SDK\CPrediction.h"
  6. #include "..\..\SDK\CGlobalVarsBase.h"
  7. #include "..\..\Menu\Menu.h"
  8.  
  9. s_storeStuff storeStuff;
  10.  
  11. void enginePrediction::runEnginePred( ) {
  12. if ( !g::pMe->IsAlive( ) || !g_pMoveHelper || !g_Menu.Config.Aimbot || g_Menu.Config.LegitBacktrack )
  13. return;
  14.  
  15. if ( !storeStuff.m_nPredictionRandomSeed || !storeStuff.m_pSetPredictionPlayer ) {
  16. storeStuff.m_nPredictionRandomSeed = *reinterpret_cast< int** >( Utils::FindSignature( "client_panorama.dll", "8B 0D ? ? ? ? BA ? ? ? ? E8 ? ? ? ? 83 C4 04" ) + 2 );
  17. storeStuff.m_pSetPredictionPlayer = *reinterpret_cast< int** >( Utils::FindSignature( "client_panorama.dll", "89 35 ? ? ? ? F3 0F 10 46" ) + 2 );
  18. }
  19.  
  20. CMoveData data;
  21. memset( &data, 0, sizeof( CMoveData ) );
  22. g::pMe->SetCurrentCommand( g::pCmd );
  23. g_pMoveHelper->SetHost( g::pMe );
  24.  
  25. storeStuff.iFlagsBackup = g::pMe->GetFlags( );
  26. storeStuff.iButtonsBackup = g::pCmd->buttons;
  27.  
  28. *storeStuff.m_nPredictionRandomSeed = g::pCmd->random_seed;
  29. *storeStuff.m_pSetPredictionPlayer = uintptr_t( g::pMe );
  30.  
  31. *reinterpret_cast< uint32_t* >( reinterpret_cast< uint32_t >( g::pMe ) + 0x3314 ) = reinterpret_cast< uint32_t >( g::pCmd ); // lol
  32. *reinterpret_cast< uint32_t* >( reinterpret_cast< uint32_t >( g::pMe ) + 0x326C ) = reinterpret_cast< uint32_t >( g::pCmd ); // lol
  33.  
  34. storeStuff.flOldCurtime = g_pGlobalVars->curtime;
  35. storeStuff.flOldFrametime = g_pGlobalVars->frametime;
  36.  
  37. g::uRandomSeed = *storeStuff.m_nPredictionRandomSeed;
  38. g_pGlobalVars->curtime = g::pMe->GetTickBase( ) * g_pGlobalVars->intervalPerTick;
  39. g_pGlobalVars->frametime = g_pGlobalVars->intervalPerTick;
  40.  
  41. g_pMovement->StartTrackPredictionErrors( g::pMe );
  42.  
  43. storeStuff.iTickBaseBackup = g::pMe->GetTickBase( );
  44.  
  45. g_pPrediction->SetupMove( g::pMe, g::pCmd, g_pMoveHelper, &data );
  46. g_pMovement->ProcessMovement( g::pMe, &data );
  47. g_pPrediction->FinishMove( g::pMe, g::pCmd, &data );
  48.  
  49. g::pMe->SetTickBase( storeStuff.iTickBaseBackup );
  50.  
  51. if ( g::pMe->GetActiveWeapon( ) )
  52. g::pMe->GetActiveWeapon( )->AccuracyPenalty( );
  53. }
  54.  
  55. void enginePrediction::endEnginePred( ) {
  56. if ( !g::pMe->IsAlive( ) || !g_pMoveHelper || !g_Menu.Config.Aimbot || g_Menu.Config.LegitBacktrack )
  57. return;
  58.  
  59. g_pMovement->FinishTrackPredictionErrors( g::pMe );
  60. g::pMe->SetCurrentCommand( nullptr );
  61.  
  62. if ( storeStuff.m_nPredictionRandomSeed || storeStuff.m_pSetPredictionPlayer ) {
  63. *storeStuff.m_nPredictionRandomSeed = -1;
  64. *storeStuff.m_pSetPredictionPlayer = 0;
  65. }
  66.  
  67. g_pMoveHelper->SetHost( 0 );
  68.  
  69. g_pGlobalVars->curtime = storeStuff.flOldCurtime;
  70. g_pGlobalVars->frametime = storeStuff.flOldFrametime;
  71.  
  72. g::pMe->SetFlags( storeStuff.iFlagsBackup );
  73. g::pCmd->buttons = storeStuff.iButtonsBackup;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement