Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Aimbot::Run( ) {
- auto GetCurrentCmdNumber = [ & ]( ) -> int {
- if ( !clientstate )
- clientstate = Memory::Read< std::uintptr_t >( 0x11C7D74 );
- return Memory::Read< int >( clientstate + 0x44AA8 );
- };
- auto GetUserCmd = [ & ]( int CommandNum ) -> std::uintptr_t {
- if ( !clientstate )
- clientstate = Memory::Read< std::uintptr_t >( 0x11C7D74 );
- return clientstate + 0x3C * ( CommandNum & 0x7F ) + 0x42CA8;
- };
- auto VectorToViewAngles = [ ]( SDK::vec3_t vec, float* out ) -> void {
- SDK::vec3_t vAngles, RefViewAngles = SDK::Utils::RealViewAngles( );
- SDK::Math::VectorAngles( vec - SDK::Utils::RefDef( ).ViewOrigin, vAngles );
- if ( vAngles.y > 180.0f )
- vAngles.y -= 360.0f;
- else if ( vAngles.y < -180.0f )
- vAngles.y += 360.0f;
- if ( vAngles.x > 180.0f )
- vAngles.x -= 360.0f;
- else if ( vAngles.x < -180.0f )
- vAngles.x += 360.0f;
- vAngles.y -= RefViewAngles.y;
- if ( vAngles.y > 180.0f )
- vAngles.y -= 360.0f;
- else if ( vAngles.y < -180.0f )
- vAngles.y += 360.0f;
- vAngles.x -= RefViewAngles.x;
- if ( vAngles.x > 180.0f )
- vAngles.x -= 360.0f;
- else if ( vAngles.x < -180.0f )
- vAngles.x += 360.0f;
- out[ 0 ] = vAngles.x;
- out[ 1 ] = vAngles.y;
- out[ 2 ] = vAngles.z = 0.f;
- };
- float aim_pos[ 3 ];
- VectorToViewAngles( SDK::Utils::GetEntity( best_target ).HeadPos( ), aim_pos );
- int cmd_num = GetCurrentCmdNumber( );
- std::uintptr_t cur_cmd = GetUserCmd( cmd_num );
- std::uintptr_t old_cmd = GetUserCmd( cmd_num - 1 );
- int server_time = Memory::Read< int >( cur_cmd );
- Memory::Write< int >( old_cmd, server_time + 2 );
- int cmd_viewangles[ 3 ];
- ReadProcessMemory( Memory::hProcess, ( void* )( old_cmd + 0xC ), cmd_viewangles, sizeof( cmd_viewangles ), NULL );
- cmd_viewangles[ 0 ] += ANGLE2SHORT( aim_pos[ 0 ] );
- cmd_viewangles[ 1 ] += ANGLE2SHORT( aim_pos[ 1 ] );
- WriteProcessMemory( Memory::hProcess, ( void* )( old_cmd + 0xC ), cmd_viewangles, sizeof( cmd_viewangles ), NULL );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement