Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. /*========================================================================================
  2.     Visit:
  3.     www.gamedeception.net
  4.     www.mafiacoders.com
  5.     http://sraeg.net/wordpress/
  6.  
  7.     Credits:
  8.     Gp3| TehKiller - Writing this class
  9.     sreaG - his aimbot tutorial rules <3
  10.    
  11.     This file may be used and/or spread on teh
  12.     internetz as long as you keep these credits intact
  13.  
  14.     Usage:
  15.     CAimbot mybot;
  16.     mybot.CalcAim(MyX, MyY, MyZ, EnemyX, EnemyY, EnemyZ, true) for aiming in degrees
  17.     mybot.CalcAim(MyX, MyY, MyZ, EnemyX, EnemyY, EnemyZ, false) for aiming in radians
  18.     after CalcAim you can write mybot.rX and mybot.rY to your rotation
  19. ========================================================================================*/
  20.  
  21. #ifndef CAimbot_H
  22. #define CAimbot_H
  23. #include <math.h>
  24.  
  25. #define M_PI 3.14159265359f
  26. #define RadToDeg 57.2957795130f
  27.  
  28. class CAimbot
  29. {
  30. public:
  31.     void CalcAim(float pX, float pY, float pZ, float eX, float eY, float eZ, bool degrees)
  32.     {
  33.         float dX, dY;
  34.         /*Sector 1 = South-East of our position*/
  35.         if(pX > eX && pY <= eY)
  36.         {
  37.             dX = (eX-pX);
  38.             dY = (pY-eY);
  39.             rX = (M_PI-atan(dY/dX));
  40.         }
  41.         /*Sector 2 = South-West of our position*/
  42.         else if(pX >= eX && pY > eY)
  43.         {
  44.             dX = (pX-eX);
  45.             dY = (pY-eY);
  46.             rX = (M_PI+atan(dY/dX));
  47.         }
  48.         /*Sector 3 = North-West of our position*/
  49.         else if(pX < eX && pY >= eY)
  50.         {
  51.             dX = (pX-eX);
  52.             dY = (eY-pY);
  53.             rX = (M_PI*2-atan(dY/dX));
  54.         }
  55.         /*Sector 4 = North-East of our position*/
  56.         else if(pX <= eX && pY < eY)
  57.         {
  58.             dX = (eX-pX);
  59.             dY = (eY-pY);
  60.             rX = (0.0f+atan(dY/dX));
  61.         }
  62.         float distance;
  63.         distance = sqrt((dX*dX)+(dY*dY));
  64.         if(pZ <= eZ)
  65.         {
  66.             rY = 0.0f+atan((eZ-pZ)/distance);
  67.         }
  68.         else if(pZ > eZ)
  69.         {
  70.             rY = 0.0f-atan((pZ-eZ)/distance);
  71.         }
  72.         if(degrees==true)
  73.         {
  74.             rX = (rX * RadToDeg);
  75.             rY = (rY * RadToDeg);
  76.         }
  77.     }
  78.     float rX, rY;
  79. };
  80. #endif