[C#] WoW Bot - Charakter steuern?

09/19/2011 16:03 StridingGiant#1
Hallo,
ich interessiere mich sehr für die Programmierung von WoW-Bots und frage mich, wie man den Charakter per C# fortbewegen könnte.

Alles andere kann man ja regeln indem man den Memory ausliest, aber ich komme einfach nicht dahinter, wie man den Charakter steuern könnte.

Könnt ihr mir vielleicht einen Denkanstoß geben oder vielleicht direkt mal einen Beispielcode?

Danke! :)
09/19/2011 17:54 Devil589#2
Hey, ich kenne mich mit WoW so gut wie garnicht aus.
Aber ich habe mal etwas von einer "Black Magic Dll" oder so gehört.
Diese Dll soll diverse Bot Funktionen für WoW beinhalten.

Du könntest dir diese Dll ja einmal anschauen und dann schauen was sie so alles kann.

See Ya!
09/19/2011 18:13 Kraizy​#3
Mit einem TCPClient zum Server verbinden, die Datenpakete, die beim Laufen an den Server geschickt werden, aufzeichnen und nachbauen. Da ist dann sicherlich die Objekt-ID (wer sich bewegt - jedes Objekt müsste eine eigene ID haben), X, Y & Z Koordinate enthalten usw. Evlt. sind die Pakete auch verschlüsselt, dann musste sie erstmal entschüsseln, um mit denen gescheit arbeiten zu können, und beim Senden an den Server wieder verschlüsseln.
09/19/2011 21:01 unknown661#4
[Only registered and activated users can see links. Click Here To Register...]

und da kommen hunderte sources, im prinzip brauchst du einfach nur das window(handle) und muss dort die keys hinsenden
09/20/2011 18:16 Threk#5
Da gibt es mehrere Möglichkeiten.
Allerdings kommt es auch oft auf dem Spiel.
Was bei so ziemlich jeden Spiel funktionieren sollte, ich das senden von Keystrokes.

Bei WoW( World of Warcraft) gibt es daneben noch die Möglichkeit eine Funktion zu verwenden die bereits im Spiel implementiert ist, ClickToMove( CTM).

Ist natürlich alles auch in c# realisierbar :)
09/20/2011 18:24 StridingGiant#6
Das mit den Keystrokes wusste ich schon, finde ich aber sehr "unpassend" für einen WoW Bot, ich wollte eher mit dem CTM arbeiten, allerdings will ich halt wissen wie das machbar ist.

Ich kanns mir in etwa so vorstellen, dass das Programm zu bestimmten Positionen klickt, wie ich an die Koordinaten komme ich mir ebenfalls klar, allerdings weiß ich nicht wie das Programm denn genau an diesen Ort klicken soll.
09/20/2011 18:30 Threk#7
Quote:
Originally Posted by Console' View Post
Das mit den Keystrokes wusste ich schon, finde ich aber sehr "unpassend" für einen WoW Bot, ich wollte eher mit dem CTM arbeiten, allerdings will ich halt wissen wie das machbar ist.

Ich kanns mir in etwa so vorstellen, dass das Programm zu bestimmten Positionen klickt, wie ich an die Koordinaten komme ich mir ebenfalls klar, allerdings weiß ich nicht wie das Programm denn genau an diesen Ort klicken soll.
Memory writing ;)

Code aus meinem alten Bot:

Code:
        
public static void MoveTo(Location location)
        {
            Memory.Write<double>(Pointers.ClickToMove.CTM_Distance,   Me.Location.GetDistanceTo(location));
            Memory.Write<float>(Pointers.ClickToMove.CTM_X, location.X);
            Memory.Write<float>(Pointers.ClickToMove.CTM_Y, location.Y);
            Memory.Write<float>(Pointers.ClickToMove.CTM_Z, location.Z);
            Memory.Write<uint>(Pointers.ClickToMove.CTM_Action, 0x4);

           // Log.Output("Move to: " + location);
        }
09/20/2011 18:42 StridingGiant#8
Na wenn das so funktioniert, ich werde es mal ausprobieren und dann ein Feedback geben :)