❗ aimbot shoot in random point
Code:
void CalcAngle(Vector2 &src, Vector2 &dst, Vector2 &angles)
{
double delta[3] = { (src.x - dst.x), (src.y - dst.y), (src.z - dst.z) };
double hyp = sqrt(delta[0] * delta[0] + delta[1] * delta[1]);
angles.x = (float)(asinf(delta[2] / hyp) * 57.295779513082f);
angles.y = (float)(atanf(delta[1] / delta[0]) * 57.295779513082f);
angles.z = 0.0f;
if (delta[0] >= 0.0)
{
angles.x += 180.0f;
}
}
void SmoothAngles(Vector2 &ang, float smooth) {
if (smooth > 0) {
float a_fixAng = ang.y, p_fixAng = MyPlayer.CurrentViewAngles.y, distance = 0;
if (ang.y < 0) {
a_fixAng = 360 + ang.y;
}
if (MyPlayer.CurrentViewAngles.y < 0) {
p_fixAng = 360 + MyPlayer.CurrentViewAngles.y;
}
distance = min(abs(a_fixAng - p_fixAng), 360 - abs(a_fixAng - p_fixAng));
if (MyPlayer.CurrentViewAngles.y > 90 && ang.y < -90) {
ang.x = MyPlayer.CurrentViewAngles.x + (ang.x - MyPlayer.CurrentViewAngles.x) / smooth;
ang.y = MyPlayer.CurrentViewAngles.y + distance / smooth;
if (ang.y > 180.f) {
ang.y = -360 + ang.y;
}
return;
}
if (MyPlayer.CurrentViewAngles.y < -90 && ang.y > 90) {
ang.x = MyPlayer.CurrentViewAngles.x + (ang.x - MyPlayer.CurrentViewAngles.x) / smooth;
ang.y = MyPlayer.CurrentViewAngles.y - distance / smooth;
if (ang.y < -180.f) {
ang.y = 360 + ang.y;
}
return;
}
ang.x = MyPlayer.CurrentViewAngles.x + (ang.x - MyPlayer.CurrentViewAngles.x) / smooth;
ang.y = MyPlayer.CurrentViewAngles.y + (ang.y - MyPlayer.CurrentViewAngles.y) / smooth;
}
return;
}
bool ValidTarget(int vTarget, int vFov) {
if (vTarget == 0) {
return false;
}
if (vTarget > 32) {
return false;
}
if (PlayerList[vTarget].Team == MyPlayer.Team) {
return false;
}
if (PlayerList[vTarget].isDead) {
return false;
}
if (PlayerList[vTarget].Dormant) {
return false;
}
/*if (!PlayerList[vTarget].Spotted) {
if (cfg[0].misc.visiblecheck == 1) {
return false;
}
}*/
if (PlayerList[vTarget].Health <= 0 || PlayerList[vTarget].Health > 100) {
return false;
}
if (vFov <= /*cfg[Player.wn].aimbot.fov*/ 999) {
return true;
}
return false;
}
int BestTarget() {
int Target = -1;
float mFov = 360;
for (int i = 1; i < 32; i++) {
Vector2 Angles;
CalcAngle(PlayerList[i].abBonePosition, MyPlayer.Position, Angles);
float tFov, hAng, vAng, a_fixAng = Angles.y, p_fixAng = MyPlayer.CurrentViewAngles.y;
vAng = Angles.x - MyPlayer.CurrentViewAngles.x;
if (Angles.y < 0) {
a_fixAng = 360 + Angles.y;
}
if (MyPlayer.CurrentViewAngles.y < 0) {
p_fixAng = 360 + MyPlayer.CurrentViewAngles.y;
}
hAng = min(abs(a_fixAng - p_fixAng), 360 - abs(a_fixAng - p_fixAng));
tFov = sqrt(hAng * hAng + vAng * vAng);
if (tFov < mFov && ValidTarget(i, tFov)) {
mFov = tFov;
Target = i;
}
}
return Target;
}
void aimbot() {
for (;; Sleep(1)) {
if (GetAsyncKeyState(VK_LBUTTON)) {
int Target = BestTarget();
int work = MyPlayer.ShotsFired;
if (Target != -1) {
Vector2 Angles;
Angles.x = MyPlayer.CurrentViewAngles.x;
Angles.y = MyPlayer.CurrentViewAngles.y;
Angles.z = 0;
CalcAngle(PlayerList[Target].abBonePosition, MyPlayer.Position, Angles);
// cout << Angles.x << " " << Angles.y << " " << Angles.z << endl;
SmoothAngles(Angles, 1);
NormalizeAngle(Angles);
if (Angles.y < 180.0f && Angles.y > -180.0f && Angles.x < 90.0f && Angles.x > -90.0f) {
WM<Vector2>(MyPlayer.ClientState + dwViewAngles, Angles);
}
}
}
}
}
all right but calcangle do rave..
I worked on this for a long time, could u help me please?
show me my mistake, guys.. (waser esser, especially I look forward for your answer)





