Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "EnginePrediction.h"
- #include "..\..\SDK\CInput.h"
- #include "..\..\SDK\CEntity.h"
- #include "..\..\Utils\GlobalVars.h"
- #include "..\..\SDK\CPrediction.h"
- #include "..\..\SDK\CGlobalVarsBase.h"
- #include "..\..\Menu\Menu.h"
- s_storeStuff storeStuff;
- void enginePrediction::runEnginePred( ) {
- if ( !g::pMe->IsAlive( ) || !g_pMoveHelper || !g_Menu.Config.Aimbot || g_Menu.Config.LegitBacktrack )
- return;
- if ( !storeStuff.m_nPredictionRandomSeed || !storeStuff.m_pSetPredictionPlayer ) {
- storeStuff.m_nPredictionRandomSeed = *reinterpret_cast< int** >( Utils::FindSignature( "client_panorama.dll", "8B 0D ? ? ? ? BA ? ? ? ? E8 ? ? ? ? 83 C4 04" ) + 2 );
- storeStuff.m_pSetPredictionPlayer = *reinterpret_cast< int** >( Utils::FindSignature( "client_panorama.dll", "89 35 ? ? ? ? F3 0F 10 46" ) + 2 );
- }
- CMoveData data;
- memset( &data, 0, sizeof( CMoveData ) );
- g::pMe->SetCurrentCommand( g::pCmd );
- g_pMoveHelper->SetHost( g::pMe );
- storeStuff.iFlagsBackup = g::pMe->GetFlags( );
- storeStuff.iButtonsBackup = g::pCmd->buttons;
- *storeStuff.m_nPredictionRandomSeed = g::pCmd->random_seed;
- *storeStuff.m_pSetPredictionPlayer = uintptr_t( g::pMe );
- *reinterpret_cast< uint32_t* >( reinterpret_cast< uint32_t >( g::pMe ) + 0x3314 ) = reinterpret_cast< uint32_t >( g::pCmd ); // lol
- *reinterpret_cast< uint32_t* >( reinterpret_cast< uint32_t >( g::pMe ) + 0x326C ) = reinterpret_cast< uint32_t >( g::pCmd ); // lol
- storeStuff.flOldCurtime = g_pGlobalVars->curtime;
- storeStuff.flOldFrametime = g_pGlobalVars->frametime;
- g::uRandomSeed = *storeStuff.m_nPredictionRandomSeed;
- g_pGlobalVars->curtime = g::pMe->GetTickBase( ) * g_pGlobalVars->intervalPerTick;
- g_pGlobalVars->frametime = g_pGlobalVars->intervalPerTick;
- g_pMovement->StartTrackPredictionErrors( g::pMe );
- storeStuff.iTickBaseBackup = g::pMe->GetTickBase( );
- g_pPrediction->SetupMove( g::pMe, g::pCmd, g_pMoveHelper, &data );
- g_pMovement->ProcessMovement( g::pMe, &data );
- g_pPrediction->FinishMove( g::pMe, g::pCmd, &data );
- g::pMe->SetTickBase( storeStuff.iTickBaseBackup );
- if ( g::pMe->GetActiveWeapon( ) )
- g::pMe->GetActiveWeapon( )->AccuracyPenalty( );
- }
- void enginePrediction::endEnginePred( ) {
- if ( !g::pMe->IsAlive( ) || !g_pMoveHelper || !g_Menu.Config.Aimbot || g_Menu.Config.LegitBacktrack )
- return;
- g_pMovement->FinishTrackPredictionErrors( g::pMe );
- g::pMe->SetCurrentCommand( nullptr );
- if ( storeStuff.m_nPredictionRandomSeed || storeStuff.m_pSetPredictionPlayer ) {
- *storeStuff.m_nPredictionRandomSeed = -1;
- *storeStuff.m_pSetPredictionPlayer = 0;
- }
- g_pMoveHelper->SetHost( 0 );
- g_pGlobalVars->curtime = storeStuff.flOldCurtime;
- g_pGlobalVars->frametime = storeStuff.flOldFrametime;
- g::pMe->SetFlags( storeStuff.iFlagsBackup );
- g::pCmd->buttons = storeStuff.iButtonsBackup;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement