Guest User

Csgo aimbot/wallhack

a guest
Oct 31st, 2014
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.75 KB | None | 0 0
  1.  
  2.  
  3.  
  4. #include <Windows.h>
  5. #include <iostream>
  6. #include <math.h>
  7. #include "HackProcess.h"
  8. #include <vector>
  9. #include <algorithm> // std::sort
  10. //Create our 'hooking' and process managing object
  11. CHackProcess fProcess;
  12. using namespace std;
  13. //We use F6 to exit the hack
  14. #define F6_Key 0x75
  15. //right click
  16. #define RIGHT_MOUSE 0x02
  17. //Here we store the num of players and update it regularly to know how many enemies we are dealing with
  18. //this saves us doing loops unless their necessary e.g. we have 12 players and still loop 32 times wasting our great resources
  19. //This makes our triggerbot MUCH faster in general
  20. int NumOfPlayers = 15;
  21. const DWORD dw_PlayerCountOffs = 0x6F4020;//Engine.dll //Tirar //////engine.dll+6F4020
  22.  
  23. //The player base is VERY important so we know where our player info is at
  24. //including current jump status so we can use force jumping making our bHop
  25. const DWORD GameBasePtr = 0xC000;
  26. const DWORD GameBase = 0x00A15F68;
  27.  
  28. DWORD MeuPlayerBase;
  29. int localizado = 0;
  30. int localizadoang = 0;
  31. int contador = 0;
  32. const DWORD Player_Base = GameBase-0x198;//0x00574560;
  33. //The ATTACK address BELOW, WE WRITE 5 TO SHOOT OR 4 TO
  34. const DWORD dw_MyTeamOffset = 0xD8;//client // + vai virar -
  35. const DWORD dw_mTeamOffset = 0xD8;//client // -
  36. const DWORD dw_MyHealth = 0x198;//client //+
  37. const DWORD dw_Health = 0x00;//client //+
  38. //FOR the x coord we can use cl_pdump for m_vecOrigin Vector or just move around the map looking for different values
  39. //e.g. to find y coordinate walk up ladder search up, walk down search down etc.
  40. const DWORD dw_Pos = 0x48;//client //0134 //-
  41. const DWORD dw_MyPos = 0x150;//client //+
  42. const CHAR mname = 0x4;//+
  43. //Enemy Vars including the enemy loop
  44. const DWORD EntityPlayer_Base = GameBase;
  45. //How far in memory is each enemy data
  46. const DWORD EntityLoopDistance = 0x1E0;
  47.  
  48. const DWORD waller = 0x9A8320;
  49. //ViewAngles
  50. //We find these by moving our mouse around constantly looking for changed/unchanged value,
  51. //the alternative is to use cl_pdump 1 and search for the value assigned to m_angRotation vector
  52.  
  53.  
  54. //We will use this struct throughout all other tutorials adding more variables every time
  55.  
  56. DWORD dw_m_angRotationFINAL = 0x09B23760;
  57. //const DWORD dw_m_angRotationFINAL = 0x00;
  58.  
  59. /*
  60. void EncontraAngulo()
  61. {
  62.  
  63. float angulo;
  64. float angulocompare;
  65. DWORD compareptr;
  66.  
  67. for(int i = 0; i < 3300;i++) {
  68. if(localizadoang == 0) {
  69. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(fProcess.__dwordClient + 0xA00EB8), &angulo, sizeof(float), 0);
  70. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(fProcess.__dwordEngine + 0xi), &compareptr, sizeof(DWORD), 0);
  71. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(compareptr), &angulocompare, sizeof(DWORD), 0);
  72. printf("contador = %d \n", i);
  73. printf("Angulo encontrado addr %x \n", compareptr);
  74. printf("Angulo encontrado %f \n", angulocompare);
  75. if(angulo == angulocompare)
  76. {
  77. dw_m_angRotationFINAL = compareptr;
  78. printf("Angulo encontrado addr %x \n", compareptr);
  79. printf("Angulo encontrado %f \n", angulocompare);
  80. localizadoang = 1;
  81. }
  82. }
  83. }
  84.  
  85.  
  86.  
  87. }*/
  88.  
  89.  
  90. struct MyPlayer_t
  91. {
  92. DWORD CLocalPlayer;
  93. DWORD ggGameBase;
  94. DWORD ggGameBaseB;
  95. DWORD ggGameBaseC;
  96. int Team;
  97. int Health;
  98. float Position[3];
  99.  
  100. float poscomparer;
  101. float posfinder;
  102.  
  103. DWORD TeamPtr;
  104. DWORD HealthPtr;
  105. DWORD PositionPtr;
  106.  
  107. DWORD poscomparerptr;
  108.  
  109. DWORD BaseOffsA, BaseOffsB,BaseOffsC,BaseOffsD,BaseOffsE,BaseOffsF,BaseOffsG,BaseOffsH;
  110. DWORD BaseOffsAptr, BaseOffsBptr,BaseOffsCptr,BaseOffsDptr,BaseOffsEptr,BaseOffsFptr,BaseOffsGptr,BaseOffsHptr;
  111. DWORD TeamGambiarra;
  112. void ReadInformation()
  113. {
  114.  
  115.  
  116. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(fProcess.__dwordClient + GameBase), &ggGameBase, sizeof(DWORD), 0);
  117.  
  118. BaseOffsA = ggGameBase+0x4FC;
  119. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsA), &BaseOffsAptr, sizeof(DWORD), 0);
  120. BaseOffsB = BaseOffsAptr+0x504;
  121. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsB), &BaseOffsBptr, sizeof(DWORD), 0);
  122. BaseOffsC = BaseOffsBptr+0xD4;
  123. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsC), &BaseOffsCptr, sizeof(DWORD), 0);
  124. BaseOffsD = BaseOffsCptr+0x0;
  125. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsD), &BaseOffsDptr, sizeof(DWORD), 0);
  126. BaseOffsE = BaseOffsDptr+0x90;
  127. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsE), &BaseOffsEptr, sizeof(DWORD), 0);
  128. BaseOffsF = BaseOffsEptr+0x7C;
  129. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsF), &BaseOffsFptr, sizeof(DWORD), 0);
  130. BaseOffsG = BaseOffsFptr+0x120;
  131. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsG), &BaseOffsGptr, sizeof(DWORD), 0);
  132. BaseOffsH = BaseOffsGptr+0x200;
  133. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsH), &BaseOffsHptr, sizeof(DWORD), 0);
  134.  
  135.  
  136.  
  137. // ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(gggGameBaseB + (Player * EntityLoopDistance)),&CBaseEntity, sizeof(DWORD), 0);
  138.  
  139.  
  140. for(int i = 0; i < 32; i++) {
  141. if(localizado == 0) {
  142. CLocalPlayer = BaseOffsH + (i * EntityLoopDistance);
  143. poscomparerptr = CLocalPlayer - dw_Pos;
  144. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(fProcess.__dwordClient + 0x9B8960), &posfinder, sizeof(float), 0);
  145. //ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(Nameptr), &Nameptrb, sizeof(DWORD), 0);
  146. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(poscomparerptr), &poscomparer, sizeof(float), 0);
  147. printf("posfinder: %f \n", posfinder);
  148. printf("poscomparer: %f \n", poscomparer);
  149. if(posfinder == poscomparer) {
  150. CLocalPlayer = BaseOffsH + (i * EntityLoopDistance);
  151. localizado = 1;
  152. contador = i;
  153. printf("Localizado ;p");
  154. }else {
  155. localizado = 0;
  156. }
  157. //printf("i = %d", i);
  158. }
  159. }
  160.  
  161.  
  162.  
  163.  
  164. //ggGameBaseB = BaseOffsH;
  165. //ggGameBaseC = BaseOffsH-0x198;
  166. // printf("BaseOffsH = %x", BaseOffsH);
  167.  
  168. // ###############CLocalPlayer = ggGameBaseC; ******************************************/
  169.  
  170. //////ACHA O MEU PLAYER NO MEIO DOS PLAYERSS!!!!!!!!!!
  171.  
  172.  
  173.  
  174. CLocalPlayer = BaseOffsH + (contador * EntityLoopDistance);
  175. //printf("Localizado %d", localizado);
  176. //CLocalPlayer = MeuPlayerBase-0x4;
  177.  
  178.  
  179. HealthPtr = CLocalPlayer+dw_Health;
  180. PositionPtr = CLocalPlayer-dw_Pos;
  181. TeamPtr = CLocalPlayer-dw_mTeamOffset;
  182. //printf("Team: %x", TeamPtr);
  183. // Reading CLocalPlayer Pointer to our "CLocalPlayer" DWORD.
  184. //ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(ggGameBaseC), &CLocalPlayer, sizeof(DWORD), 0);
  185. // Reading out our Team to our "Team" Varible.
  186.  
  187.  
  188.  
  189.  
  190. // Reading out our Health to our "Health" Varible.
  191. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(HealthPtr), &Health, sizeof(int), 0);
  192.  
  193.  
  194. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(TeamPtr), &Team, sizeof(int), 0);//Tirar
  195.  
  196. // Reading out our Position to our "Position" Varible.
  197. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(PositionPtr), &Position, sizeof(float[3]), 0);
  198.  
  199. //Here we find how many player entities exist in our game, through this we make sure to only loop the amount of times we need
  200. //when grabbing player data
  201. //Note that this call could be even better at a regular 15 or so seconds timer but performance shouldn't vary a great deal
  202. //ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(fProcess.__dwordEngine + dw_PlayerCountOffs), &NumOfPlayers, sizeof(int), 0); //Tirar
  203.  
  204. //DWORD PosX = 0x9B8960;
  205. //DWORD PosZ = 0x9B8964;
  206. //DWORD PosY = 0x9B8968;
  207.  
  208.  
  209. }
  210. }MyPlayer;
  211.  
  212.  
  213.  
  214.  
  215. //Here is where we narrow the enemy data to the enemies that we want to shoot,
  216. //these players are added once we validated them e.g. do they have enough health?, or maybe they are on the enemy team
  217. struct TargetList_t
  218. {
  219. float Distance;
  220. float AimbotAngle[3];
  221.  
  222. TargetList_t()
  223. {
  224. //our default constructor :S
  225. }
  226.  
  227. TargetList_t(float aimbotAngle[], float myCoords[], float enemyCoords[])
  228. {
  229. //Send our coordinates and the enemy's to find out how close they are to us!
  230. Distance = Get3dDistance(myCoords[0], myCoords[1], myCoords[2],
  231. enemyCoords[0], enemyCoords[1], enemyCoords[2] );
  232.  
  233. //Define our aimbot angles and set them for later use when shooting
  234. AimbotAngle[0] = aimbotAngle[0];
  235. AimbotAngle[1] = aimbotAngle[1];
  236. AimbotAngle[2] = aimbotAngle[2];
  237. }
  238.  
  239. //Get our 3d Distance between 2 sets of coordinates(ours and enemies) and find out how close an enemy is to us
  240. //when it comes to shooting we aim at the closest enemy
  241. //Simple but effective
  242.  
  243. //Here we will AVOID vectors for simplicity but feel free to create to use them
  244. //if you prefer float Get3dDistance(std::vector<float> myCoords, std::vector<float> enemyCoords)
  245.  
  246. //See how far away our enemy is to us
  247. float Get3dDistance(float myCoordsX, float myCoordsZ, float myCoordsY,
  248. float eNx, float eNz, float eNy)
  249. {
  250. //Use the 3d distance formula to get a resulting Floating distance value POW!!
  251. return sqrt(
  252. pow(double(eNx - myCoordsX), 2.0) +
  253. pow(double(eNy - myCoordsY), 2.0) +
  254. pow(double(eNz - myCoordsZ), 2.0));
  255. }
  256. };
  257.  
  258.  
  259.  
  260. //ENemy struct
  261. struct PlayerList_t
  262. {
  263. DWORD gggGameBase;
  264. DWORD gggGameBaseB;
  265. DWORD gggGameBaseC;
  266. DWORD CBaseEntity;
  267. int Team;
  268. int Health;
  269. float Position[3];
  270. float AimbotAngle[3];
  271. char Name[39];
  272.  
  273. DWORD Healthptr;
  274. DWORD Teamptr;
  275. DWORD Positionptr;
  276. DWORD Nameptr;
  277.  
  278.  
  279. DWORD BaseOffsA, BaseOffsB,BaseOffsC,BaseOffsD,BaseOffsE,BaseOffsF,BaseOffsG,BaseOffsH;
  280. DWORD BaseOffsAptr, BaseOffsBptr,BaseOffsCptr,BaseOffsDptr,BaseOffsEptr,BaseOffsFptr,BaseOffsGptr,BaseOffsHptr;
  281. void ReadInformation(int Player)
  282. {
  283. // Reading CBaseEntity Pointer to our "CBaseEntity" DWORD + Current Player in the loop. 0x10 is the CBaseEntity List Size
  284. //"client.dll"+00545204 //0x571A5204
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(fProcess.__dwordClient + GameBase), &gggGameBase, sizeof(DWORD), 0);
  293.  
  294. BaseOffsA = gggGameBase+0x4FC;
  295. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsA), &BaseOffsAptr, sizeof(DWORD), 0);
  296. BaseOffsB = BaseOffsAptr+0x504;
  297. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsB), &BaseOffsBptr, sizeof(DWORD), 0);
  298. BaseOffsC = BaseOffsBptr+0xD4;
  299. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsC), &BaseOffsCptr, sizeof(DWORD), 0);
  300. BaseOffsD = BaseOffsCptr+0x0;
  301. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsD), &BaseOffsDptr, sizeof(DWORD), 0);
  302. BaseOffsE = BaseOffsDptr+0x90;
  303. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsE), &BaseOffsEptr, sizeof(DWORD), 0);
  304. BaseOffsF = BaseOffsEptr+0x7C;
  305. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsF), &BaseOffsFptr, sizeof(DWORD), 0);
  306. BaseOffsG = BaseOffsFptr+0x120;
  307. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsG), &BaseOffsGptr, sizeof(DWORD), 0);
  308. BaseOffsH = BaseOffsGptr+0x200;
  309. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(BaseOffsH), &BaseOffsHptr, sizeof(DWORD), 0);
  310.  
  311.  
  312.  
  313. // ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(gggGameBaseB + (Player * EntityLoopDistance)),&CBaseEntity, sizeof(DWORD), 0);
  314.  
  315. CBaseEntity = BaseOffsH + (Player * EntityLoopDistance);
  316.  
  317. //printf("gggGameBaseB = %x", CBaseEntity);
  318.  
  319.  
  320. Teamptr = CBaseEntity - dw_mTeamOffset;
  321. Healthptr = CBaseEntity + dw_Health;
  322. Positionptr = CBaseEntity - dw_Pos;
  323. Nameptr = CBaseEntity + mname;
  324.  
  325.  
  326. // Reading out our Team to our "Team" Varible.
  327. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(Teamptr), &Team, sizeof(int), 0); //Tirar
  328. //printf("TeamId = %d \n", Team);
  329. // Reading out our Health to our "Health" Varible.
  330. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(Healthptr), &Health, sizeof(int), 0);
  331. // Reading out our Position to our "Position" Varible.
  332. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(Positionptr), &Position, sizeof(float[3]), 0);
  333.  
  334. ReadProcessMemory (fProcess.__HandleProcess, (PBYTE*)(Nameptr), &Name, sizeof(char), 0);
  335.  
  336.  
  337. }
  338. }PlayerList[32];
  339.  
  340.  
  341.  
  342. //Used to compare the distance when sorting the array of Target Enemies
  343. //JUST think of this as an assist for a sorting algorithm
  344. //and this isn't necessarily related to hacking but it helps us out
  345. struct CompareTargetEnArray
  346. {
  347. //USE A COMPARATOR TO SORT OUR ARRAY nicely
  348. bool operator() (TargetList_t & lhs, TargetList_t & rhs)
  349. {
  350. return lhs.Distance < rhs.Distance;
  351. }
  352. };
  353.  
  354.  
  355. //Props to Nubtik and a couple of other places on the interwebs for this function
  356. void CalcAngle( float *src, float *dst, float *angles )
  357. {
  358.  
  359. double delta[3] = { (src[0]-dst[0]), (src[1]-dst[1]), (src[2]-dst[2]) };
  360. double hyp = sqrt(delta[0]*delta[0] + delta[1]*delta[1]);
  361. angles[0] = (float) (asinf(delta[2]/hyp) * 57.295779513082f);
  362. angles[1] = (float) (atanf(delta[1]/delta[0]) * 57.295779513082f);
  363. angles[2] = 0.0f;
  364.  
  365. if(delta[0] >= 0.0)
  366. {
  367. angles[1] += 180.0f;
  368. }
  369. }
  370.  
  371.  
  372.  
  373.  
  374. float Calculadistancia(float myCoordsX, float myCoordsZ, float myCoordsY,
  375. float eNx, float eNz, float eNy)
  376. {
  377. //Use the 3d distance formula to get a resulting Floating distance value POW!!
  378. return sqrt(
  379. pow(double(eNx - myCoordsX), 2.0) +
  380. pow(double(eNy - myCoordsY), 2.0) +
  381. pow(double(eNz - myCoordsZ), 2.0));
  382. }
  383.  
  384. void Aimbot()
  385. {
  386. float fNearest = (float)INT_MAX;//Meu cod
  387. int iAimAt = -1;
  388. int gambiarrameutime = 12;
  389. ///////
  390. //Declare our target list to define our victims through a dynamic array
  391. TargetList_t* TargetList = new TargetList_t[NumOfPlayers];
  392. //Loop through all our players and retrieve their information
  393. //we use this mainly here to find out what players are our enemies and what players are on our team
  394. //loops through players to set the target enemies
  395. int targetLoop = 0;
  396. for(int i = 1; i < NumOfPlayers; i ++) //Começa com 2 pq se n mira em mim mesmo e explode a porra toda
  397. {
  398. if (GetAsyncKeyState(VK_RBUTTON)) { ////Meu
  399. i++;
  400. }
  401. if (GetAsyncKeyState(VK_F2)) { ////Meu
  402. gambiarrameutime = 12;
  403. }
  404. if (GetAsyncKeyState(VK_F3)) { ////Meu
  405. gambiarrameutime = 16;
  406. }
  407.  
  408. if (GetAsyncKeyState(VK_F4)) { ////Meu
  409. gambiarrameutime = 8;
  410. }
  411.  
  412.  
  413. PlayerList[i].ReadInformation(i);
  414.  
  415. // Skip if they're my teammates.
  416. if (PlayerList[i].Team == MyPlayer.Team)
  417. continue;
  418.  
  419. //Make sure our targets have at keast 2 health
  420. if (PlayerList[i].Health < 2)
  421. continue; //break to next iteration //Tirar
  422.  
  423. if(Calculadistancia(MyPlayer.Position[0], MyPlayer.Position[1], (MyPlayer.Position[2]),PlayerList[i].Position[0],PlayerList[i].Position[1], (PlayerList[i].Position[2]) ) < fNearest )//dis :D
  424. {
  425.  
  426. // if(!Parede.noobie && !Parede.aimdelay) { //Mudar aki...
  427.  
  428. iAimAt = i;
  429.  
  430. fNearest = Calculadistancia(MyPlayer.Position[0], MyPlayer.Position[1],
  431. (MyPlayer.Position[2]),PlayerList[i].Position[0],PlayerList[i].Position[1], (PlayerList[i].Position[2]) );
  432. // }
  433. }
  434.  
  435.  
  436. //PlayerList[i].Position[2] -= 10;
  437. CalcAngle (MyPlayer.Position, PlayerList[i].Position, PlayerList[i].AimbotAngle);
  438.  
  439. //ONCE WE GET HERE we have already read all the information we want, all enemies have been checked for valid data
  440. //Therefore players on our team a dont get selected and only enemies with over 1 health are allowed
  441.  
  442. //WE NOW DEFINE A LIST OF ENEMIES TO SHOOT AT, from here we will scan that array and choose to aim at the closest one
  443. //Create our target loop player and store the most important information
  444. TargetList[targetLoop] = TargetList_t(PlayerList[i].AimbotAngle, MyPlayer.Position, PlayerList[i].Position);
  445.  
  446. //Increment so we can add more players onto the array
  447. targetLoop++;
  448. }
  449.  
  450.  
  451.  
  452.  
  453. //ONLY AIM if we have any enemies
  454. if(targetLoop > 0)
  455. {
  456. //SORT ENEMIES ARRAY BY DISTANCE before AIMING AT THEM
  457. //JUST NORMAL std::sort function with our custom comparator, not much to it
  458. //target loop -1 because it will always go 1 above the count
  459. std::sort(TargetList, TargetList+targetLoop, CompareTargetEnArray());
  460.  
  461. //AIM at the closest guy we found,
  462. //by default aim at ALL times, if you right click hold it switches it off
  463. //This isn't the best example but change the example to whatevery you like E.g. Left click etc...
  464. if (GetAsyncKeyState(VK_MBUTTON))
  465. {
  466. if(iAimAt != -1) {
  467.  
  468.  
  469. /*
  470. WriteProcessMemory (fProcess.__HandleProcess,
  471. (PBYTE*)(fProcess.__csgoexe+dw_m_angRotation),
  472. TargetList[0].AimbotAngle, 12, 0);*/
  473.  
  474. if(MyPlayer.Health > 2) { //Evita um bug louco
  475. WriteProcessMemory (fProcess.__HandleProcess,
  476. (PBYTE*)(dw_m_angRotationFINAL),
  477. TargetList[0].AimbotAngle, 14, 0);
  478. }
  479. /*
  480. WriteProcessMemory (fProcess.__HandleProcess,
  481. (PBYTE*)(dw_m_angRotationX),
  482. TargetList[0].AimbotAngle, 12, 0);
  483.  
  484. WriteProcessMemory (fProcess.__HandleProcess,
  485. (PBYTE*)(dw_m_angRotationY),
  486. TargetList[0].AimbotAngle, 12, 0);
  487. WriteProcessMemory (fProcess.__HandleProcess,
  488. (PBYTE*)(dw_m_angRotationZ),
  489. TargetList[0].AimbotAngle, 12, 0);*/
  490.  
  491.  
  492.  
  493.  
  494.  
  495. }
  496.  
  497. //no recoil above text
  498. }
  499.  
  500. }
  501. //reset the loop counter
  502. targetLoop = 0;
  503. //DELETE OUR ARRAY and clear memory, very important
  504. delete [] TargetList;
  505. }
  506.  
  507.  
  508.  
  509. int main()
  510. {
  511.  
  512. fProcess.RunProcess(); // Waiting for CSS......
  513. cout << "Game found! Running Aimbot..." << endl;
  514.  
  515. //Exit if the F6 key is pressed
  516. while (!GetAsyncKeyState(F6_Key)) // or for(;;)
  517. {
  518. //Read player information into our struct so we know the player
  519. //base and the bunny hop addresses
  520.  
  521.  
  522. MyPlayer.ReadInformation();
  523. // EncontraAngulo();
  524.  
  525.  
  526. //Call our Aimbot
  527.  
  528. Aimbot();
  529.  
  530. }
  531. }
Add Comment
Please, Sign In to add comment