Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct coordinate
- {
- float x, y, z;
- };
- struct angel
- {
- float x, y, z;
- };
- angel CalcAngle(coordinate src, coordinate dst);
- float Distance(coordinate us, coordinate enemy);
- void aim()
- {
- DWORD engine = readMem<DWORD>(engineBase + dwLocalPlayer);
- DWORD myPlayer = readMem<DWORD>(clientBase + dwLocalPlayer);
- DWORD playerbone = readMem<DWORD>(dwEntityList + m_dwBoneMatrix);
- coordinate mypos, myeye, playerhead, playerpos;
- Vector angle;
- int distance;
- double Distance = 100;
- int targets = 0;
- int myTeam;
- int Team;
- int Health;
- bool dormant;
- angel ang;
- while (true) {
- if (GetAsyncKeyState(VK_LBUTTON)) {
- //get targets
- for (int i = 0; i < 64; i++) {
- DWORD entity = readMem<DWORD>(clientBase + dwEntityList + ((i - 1) * 0x10));
- if (entity != NULL) {
- myTeam = readMem<int>(myPlayer + m_iTeamNum);
- Team = readMem<int>(entity + m_iTeamNum);
- Health = readMem<int>(entity + m_iHealth);
- dormant = readMem<bool>(entity + bDormant);
- }
- if (dormant || Team == myTeam || Health == 0)
- continue;
- mypos = readMem<coordinate>(myPlayer + m_vecOrigin);
- myeye.x = mypos.x + readMem<float>(myPlayer + m_vecViewOffset);
- myeye.y = mypos.y + readMem<float>(myPlayer + m_vecViewOffset + 4);
- myeye.z = mypos.z + readMem<float>(myPlayer + m_vecViewOffset + 8);
- playerbone = readMem<uintptr_t>(entity + m_dwBoneMatrix);
- playerhead.x = readMem<float>(playerbone + (8 * 0x30) + 0x0C);
- playerhead.y = readMem<float>(playerbone + (8 * 0x30) + 0x1C);
- playerhead.z = readMem<float>(playerbone + (8 * 0x30) + 0x2C);
- ang = CalcAngle(myeye, playerhead);
- writeMem<angel>(engine + dwClientState_ViewAngles, ang);
- }
- }
- }
- }
- angel CalcAngle(coordinate Source, coordinate Destination)
- {
- angel angles;
- coordinate delta;
- delta.x = (Source.x - Destination.x);
- delta.y = (Source.y - Destination.y);
- delta.z = (Source.z - Destination.z);
- double hyp = sqrt(delta.x * delta.x + delta.y * delta.y);
- angles.x = (float)(atanf(delta.z / hyp) * 57.295779513082f);
- angles.y = (float)(atanf(delta.y / delta.x) * 57.295779513082f);
- angles.z = 0.0f;
- if (delta.x >= 0.0) { angles.y += 180.0f;}
- return angles;
- }
- float Distance(coordinate us, coordinate enemy)
- {
- float distance = sqrt(pow(enemy.x - us.x, 2) + pow(enemy.y - us.y, 2) + pow(enemy.z - us.z, 2));
- return distance;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement