Advertisement
Guest User

coccec

a guest
Dec 6th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. void Aimbot::Run( ) {
  2. auto GetCurrentCmdNumber = [ & ]( ) -> int {
  3. if ( !clientstate )
  4. clientstate = Memory::Read< std::uintptr_t >( 0x11C7D74 );
  5.  
  6. return Memory::Read< int >( clientstate + 0x44AA8 );
  7. };
  8.  
  9. auto GetUserCmd = [ & ]( int CommandNum ) -> std::uintptr_t {
  10. if ( !clientstate )
  11. clientstate = Memory::Read< std::uintptr_t >( 0x11C7D74 );
  12.  
  13. return clientstate + 0x3C * ( CommandNum & 0x7F ) + 0x42CA8;
  14. };
  15.  
  16. auto VectorToViewAngles = [ ]( SDK::vec3_t vec, float* out ) -> void {
  17. SDK::vec3_t vAngles, RefViewAngles = SDK::Utils::RealViewAngles( );
  18. SDK::Math::VectorAngles( vec - SDK::Utils::RefDef( ).ViewOrigin, vAngles );
  19.  
  20. if ( vAngles.y > 180.0f )
  21. vAngles.y -= 360.0f;
  22. else if ( vAngles.y < -180.0f )
  23. vAngles.y += 360.0f;
  24.  
  25. if ( vAngles.x > 180.0f )
  26. vAngles.x -= 360.0f;
  27. else if ( vAngles.x < -180.0f )
  28. vAngles.x += 360.0f;
  29.  
  30. vAngles.y -= RefViewAngles.y;
  31.  
  32. if ( vAngles.y > 180.0f )
  33. vAngles.y -= 360.0f;
  34. else if ( vAngles.y < -180.0f )
  35. vAngles.y += 360.0f;
  36.  
  37. vAngles.x -= RefViewAngles.x;
  38.  
  39. if ( vAngles.x > 180.0f )
  40. vAngles.x -= 360.0f;
  41. else if ( vAngles.x < -180.0f )
  42. vAngles.x += 360.0f;
  43.  
  44. out[ 0 ] = vAngles.x;
  45. out[ 1 ] = vAngles.y;
  46. out[ 2 ] = vAngles.z = 0.f;
  47. };
  48.  
  49. float aim_pos[ 3 ];
  50. VectorToViewAngles( SDK::Utils::GetEntity( best_target ).HeadPos( ), aim_pos );
  51.  
  52. int cmd_num = GetCurrentCmdNumber( );
  53. std::uintptr_t cur_cmd = GetUserCmd( cmd_num );
  54. std::uintptr_t old_cmd = GetUserCmd( cmd_num - 1 );
  55.  
  56. int server_time = Memory::Read< int >( cur_cmd );
  57. Memory::Write< int >( old_cmd, server_time + 2 );
  58.  
  59. int cmd_viewangles[ 3 ];
  60. ReadProcessMemory( Memory::hProcess, ( void* )( old_cmd + 0xC ), cmd_viewangles, sizeof( cmd_viewangles ), NULL );
  61.  
  62. cmd_viewangles[ 0 ] += ANGLE2SHORT( aim_pos[ 0 ] );
  63. cmd_viewangles[ 1 ] += ANGLE2SHORT( aim_pos[ 1 ] );
  64.  
  65. WriteProcessMemory( Memory::hProcess, ( void* )( old_cmd + 0xC ), cmd_viewangles, sizeof( cmd_viewangles ), NULL );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement