Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vec3 myOrigin;
- char AttackerTeam;
- vec3 refOrigin;
- vec3 testOrigin;
- #pragma region Aimbot
- vec3 myOrigin;
- char AttackerTeam;
- vec3 refOrigin;
- vec3 testOrigin;
- vec3 vectoangles(float value1, float value2, float value3)
- {
- float forward;
- float yaw, pitch;
- vec3 angles;
- if (value1 == 0 && value2 == 0)
- {
- yaw = 0;
- if (value3 > 0) pitch = 90.00;
- else pitch = 270.00;
- }
- else
- {
- if (value1 != -1) yaw = (float)(atan2((double)value2, (double)value1) * 180.00 / PI);
- else if (value2 > 0) yaw = 90.00;
- else yaw = 270;
- if (yaw < 0) yaw += 360.00;
- forward = (float)sqrt((double)(value1 * value1 + value2 * value2));
- pitch = (float)(atan2((double)value3, (double)forward) * 180.00 / PI);
- if (pitch < 0) pitch += 360.00;
- }
- angles.angles[0] = -pitch;
- angles.angles[1] = yaw;
- angles.angles[2] = 0;
- return angles;
- }
- vec3 getOrigin(int client)
- {
- vec3 origin;
- origin.angles[0] = mw3Playerstate[client]->x;
- origin.angles[1] = mw3Playerstate[client]->y;
- origin.angles[2] = mw3Playerstate[client]->z;
- return origin;
- }
- bool closer(vec3 myOrigin, vec3 referenceOrigin, vec3 newOrigin)
- {
- float onex = myOrigin.angles[0] - referenceOrigin.angles[0];
- float twox = myOrigin.angles[1] - referenceOrigin.angles[1];
- float threex = myOrigin.angles[2] - referenceOrigin.angles[2];
- double orig = (onex * onex) + (twox * twox) + (threex + threex);
- float myx = myOrigin.angles[0] - newOrigin.angles[0];
- float myx2 = myOrigin.angles[1] - newOrigin.angles[1];
- float myxx = myOrigin.angles[2] - newOrigin.angles[2];
- double newo = (myx * myx) + (myx2 * myx2) + (myxx + myxx);
- if (newo < orig)
- return true;
- else
- return false;
- }
- void setAngles(int client, float pitch, float yaw, float roll)
- {
- SetViewAngle setViewAngles = (SetViewAngle)0x8222FC90;
- float angles[] = { pitch, yaw, roll };
- setViewAngles(mw3Entity[client], angles);
- }
- void aimAtNearestClient(int attacker)
- {
- myOrigin = getOrigin(attacker);
- AttackerTeam = mw3Playerstate[attacker]->team;
- for(int i=0; i<3; i++) refOrigin.angles[i] = 99999999.00;
- int numAlivePlayers = 0;
- for (int i = 0; i < 18; i++)
- {
- if (mw3Entity[i]->active == (char)1)
- {
- //printf("aimbot client %i active\n", i);
- if (Verified[i] == false && i != attacker)
- {
- //printf("client %i is not attacker\n", i);
- if (checkTeam(i, AttackerTeam))
- {
- //printf("client %i is not on attackers team\n", i);
- if (mw3Entity[i]->alive != (char)4)
- {
- //printf("client %i is alive\n", i);
- numAlivePlayers++;
- testOrigin = getOrigin(i);
- if (closer(myOrigin, refOrigin, testOrigin))
- {
- //printf("client %i is the closest\n", i);
- refOrigin = testOrigin;
- }
- }
- }
- }
- }
- }
- if (numAlivePlayers > 0)
- {
- vec3 test = vectoangles(refOrigin.angles[0] - myOrigin.angles[0], refOrigin.angles[1] - myOrigin.angles[1], refOrigin.angles[2] - myOrigin.angles[2]);
- //printf("target found, setting client view angles to %f, %f, %f", test.angles[0], test.angles[1], test.angles[2]);
- setAngles(attacker, test.angles[0], test.angles[1], test.angles[2]);
- }
- }
- #pragma endregion All aimbot functions (mw3)
- #pragma region Aimbot
- vec3 getOriginBo2(int client)
- {
- vec3 origin;
- origin.angles[0] = bo2Playerstate[client]->x;
- origin.angles[1] = bo2Playerstate[client]->y;
- origin.angles[2] = bo2Playerstate[client]->z;
- return origin;
- }
- bool checkTeamBo2(int client, int attackerTeam)
- {
- if (attackerTeam == 0) return true;
- int team = (int)bo2Playerstate[client]->team;
- if (attackerTeam != team) return true;
- else return false;
- }
- void setAnglesBo2(int client, float pitch, float yaw, float roll)
- {
- float angles[] = { pitch, yaw, roll };
- setViewAnglesBo2(bo2Entity[client], angles);
- }
- singleuchar *getClientStance(int client)
- {
- return (singleuchar*)(bo2PlayerstateInt(client) + 0xff);
- }
- bool targetFound = false;
- void aimAtNearestClientBo2(int attacker)
- {
- targetFound = false;
- myOrigin = getOriginBo2(attacker);
- AttackerTeam = bo2Playerstate[attacker]->team;
- for(int i=0; i<3; i++) refOrigin.angles[i] = -99999999.00;
- int numAlivePlayers = 0;
- int closestInt = 0;
- for (int i = 0; i < 18; i++)
- {
- if (bo2Entity[i]->active == 0x04)
- {
- if (bo2Playerstate[i]->verificationLevel != 0x01 && i != attacker)
- {
- if (checkTeamBo2(i, AttackerTeam))
- {
- if (bo2Entity[i]->alive != 0x04)
- {
- numAlivePlayers++;
- testOrigin = getOriginBo2(i);
- if (closer(myOrigin, refOrigin, testOrigin))
- {
- refOrigin = testOrigin;
- targetFound = true;
- closestInt = i;
- }
- }
- }
- }
- }
- }
- if (numAlivePlayers > 0 && targetFound)
- {
- refOrigin = getOriginBo2(closestInt);
- myOrigin = getOriginBo2(attacker);
- unsigned char stance = getClientStance(closestInt)->character;
- if(stance == 0x04 || stance == 0x06 || stance == 0x44)
- refOrigin.angles[2] -= 14.00; //crouch
- else if(stance == 0x08 || stance == 0x0a || stance == 0x48)
- refOrigin.angles[2] -= 44.00; //prone
- vec3 test = vectoangles(refOrigin.angles[0] - myOrigin.angles[0], refOrigin.angles[1] - myOrigin.angles[1], refOrigin.angles[2] - myOrigin.angles[2]);
- setAnglesBo2(attacker, test.angles[0], test.angles[1], test.angles[2]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement