ich versuche mich gerade an meinem ersten Aimbot.
Mir ist erstmal nur wichtig, dass er in die Richtung des Gegners zielt, die Höhe ist dabei (noch) egal.
Ich schaffe es einfach nicht, dass genau auf den Gegner / in seine Richtung gezielt wird.
Mein Code:
Code:
void AimAtEnemy(SPlayer *player, SPlayer *enemy) {
float fZDistance = std::abs(player->fZ - enemy->fZ);
float fXDistance = std::abs(player->fX - enemy->fX);
float fAngle = RAD_TO_DEG(atan2f(fZDistance, fXDistance));
if (IsSE(player, enemy)) {
player->fYaw = 180.0f - player->fYaw - fAngle;
}
else if (IsSW(player, enemy)) {
player->fYaw = 180.0f - player->fYaw + fAngle;
}
else if (IsNW(player, enemy)) {
player->fYaw = player->fYaw - fAngle;
}
else if (IsNE(player, enemy)) {
player->fYaw = player->fYaw + fAngle;
}
}
Ich weiß einfach nicht, wie ich den endgültigen Winkel berechnen soll / muss. :/
Ich bekomme ja einen absoluten Wert für die Distanzen und daher den selben Wert, egal ob -x oder x und -z oder z. Muss ich evtl. meinen Blickwinkel einbeziehen in die Kalkulation? Wenn ich nach Südwesten schaue und der Gegner Nordöstlich von mir ist, 180° dazu addieren und dann die Addition des Winkels machen?
Gefühlt ist es total einfach, aber mir fehlt einfach der letzte Hinweis..
Wäre über Hilfe echt dankbar, da ansonsten alles funktioniert.
Grüße






