MW2 Bot in C# – Teil 9
In Teil 9 geht es um einen Aimbot bzw. genauer gesagt eine Aimbot-Implementation. Die genaue Mathematik wird zwar nicht ausgelassen, aber nur angeschnitten.
Im Grunde genommen gibt es zwei Arten einen Aimbot zu schreiben:
- Man holt sich per GetTagPos() die Position des Kopfes, wandelt den Vector3 in Screenkoordinaten (Vector2) um und verwendet SetCursorPos() der WindowsAPI auf den Punkt an. Das entspricht einer “Mausbewegung” zum Gegner.
- Man verwendet etwas Vector-Mathematik und rechnet den Winkel von Pos1 (eigene Pos) zu Pos2 (Gegnerpos) aus. Nun addiert man diesen Differenzwinkel dem eigenen ViewAngle hinzu und schon aimed man auf das Ziel.
In diesem Artikel wird Methode 2 verwendet, da es einfach präziser und sauberer ist. Am Rand: Mein erster Versuch für einen MW2 Bot mit einem DirectX Overlay hat Methode 1 verwendet
Nachdem meine tollen Paint-Skillz versagt haben muss nun ein Bild herhalten. Eigentlich wollte ich das ganze über ein 3D-Koordinatensystem illustrieren… Wie immer sollte man sich das Bild nicht nur verkleinert anschauen
Oben links sind Debugausgaben zu sehen, u.a. auch meine aktuellen ViewAngles. Dabei befindet sich die Y-Achse exakt gerade aus (parallel zum Boden) und der X-Wert zeigt nach “Norden”.