C++ Pixel & Click Simulation

Centralmen

Grünschnabel
Hallo,

ich möchte ein C++ Pixelbot machen, der entweder die Gegner nach Pixel angreift oder jenachdem ob sie sich bewegen. Nun meine Frage, ich bin ja ein neuling in C++ und kriege es einfach nicht hin, das es ein ''Pixel Aimbot'' macht, also das es die Monster nach Pixel anklickt. Weiss jmd vl. ein gutes Snippets oder ist selber ein Bot Pro ?
 
Hi und Willkommen bei tutorials.de :)

Könntest du vielleicht etwas genauer erklären, was du vorhast?
Ich werd aus der Beschreibung nicht wirklich schlau.
Wie das Spiel selber geht, wäre auch hilfreich zu wissen.
 
Also ein Bot der in ein MMORPG Spiel, Monster angreift bzw doppelklickt (werden dann automatisch angegriffen wenn man ein Doppelklick auf sie Macht) ich hab gehört das soll mit so nem ''Pixel Bot'' gut funktionieren.
 
es gibt lua, falls es um wow geht. Was auch immer ein pixel-bot macht, don't try this at home. c & dx ist komplex, ich würde fast sagen ein thema für mathematikstudenten.
 
Den Ausdruck "Pixel Bot" höre ich heute zum Ersten Mal...

Das Problem am Ganzen wird das Finden der Monster, das "Klicken" ist dann vergleichsweise eine Kleinigkeit.

Funktion SendInput http://msdn.microsoft.com/en-us/library/ms646310(v=vs.85).aspx

Wie man Monster findet...
1) entweder grafisch überprüfen, was am Bildschirm wie ein Monster ausschaut.
Umständlich, rechenintensiv, Erkennung kann auch danebengehen (Falschklicks bzw. Klicks auslassen)
2) Die Variablen des Programms auslesen. Nicht wirklich kompliziert zu programmieren, ABER: Man muss die Adresse der Monsterpositionen wissen. Und die zu finden ... artet in einige Arbeit aus und ist für Anfänger ziemlich unmöglich.
3) gibt es je nach Spiel eventuell weitere mögliche Erkennungsarten, aber ohne Spiel kann man das schwer beurteilen.

Gruß
 
Kennt man das Protokoll oder die API, dann ist man schon sehr weit drin, bei kommerziellen spielen werden die interessanten teile der API nicht herausgegeben. Und mal ehrlich, wer will ein MMO spielen, in dem bots effizient agieren können?

Gut die Macrominer in meinem Lieblings-MMO Eve-Online existieren und keinen juckts, weil der "Gewinn" begrenzt ist, allein durch die Zeit. Wie es sich auf ein WOW'like auswirkt, wäre schön zu erfahren. Grief ist aber nicht unser Ziel hier.

Traveller
 
Zuletzt bearbeitet:
Wenn es eine öffentliche API gibt, wird das Ganze einfacher...aber solange wir den Spielenamen nicht kennen...

Und du hast recht, so ein Spiel würde den anderen nicht mehr Spaß machen :D
Aber ich spiel sowieso nichts mit Bezeichnung MMORPG, kann mir also ziemlich egal sein.
Ich werde auch keinen Bot programmieren, hab nur ein paar Hinweise zur Unmöglichkeit (für ihn) gegeben.
 
Die Idee bei einem "Pixel-Bot" (oder wie man es nennen möchte) ist, dass der Bildschirm nach gewissen Pixelfarben abgesucht wird. So hatte zum Beispiel ganz früher in WoW der Fischköder ein Fähnchen und mit dessen Farben konnte er ziemlich einfach identifiziert werden. Die Maus konnte dann an diese Position geschoben werden und wenn sich das Fähnchen stark bewegte hat was angebissen. Das war da das Prinzip. Diese Methode ist sehr fehleranfällig, funktioniert oft nicht und ist performancetechnisch ein Albtraum. Bots werden in der Regel so geschrieben, dass du dich in das Spiel injizierst mit einer DLL und dann Funktionen des Spiels aufrufst. Aus rechtlichen (und moralischen) Gründen gebe ich dazu aber weder mehr Details noch helfe ich irgendjemandem dabei.
 
Also laut Google gibt es keine Flyff-API.

Und eine API meint in dem Fall Dateien für den Compiler, die Funktionen anbieten, um das Spiel beeinflussen zu können. Mit anderen Worten, der Hersteller bietet von sich aus eine einfache Möglichkeit an, daran herumzuprogrammieren, ohne ins Illegale abzurutschen.

"Hooken" ist dagegen das Einhängen ins Spiel, um Tastaureingaben, Mausklicks etc, die das Spiel betreffen, auch mit einem eigenen Programm zu erkennen. In deinem Fall nutzlos. Es gibt von Windows aus leider keinen Monster-Positions-Hook (:D).

Die beiden Begriffe haben also miteinander nicht wirklich was zu tun.

EIne öffentliche API wirst du überhaupt nicht bekommen, außer der Hersteller vom Spiel macht eine.
Was du machen kannst, ist die internen Funktionen herausfinden (gibt da diverse Tools...)
und die Werte der internen Variablen ändern.

Die internen Funktionen aufrufen kann man nicht so wirklich, nur ggf. für Verwendung im eigenen Programm (wie eine DLL).
Nicht so, dass sie im Spiel ausgeführt werden.

:Wirre Gedanken Anfang:
Theoretisch wäre es zwar möglich, den IP (gemeint ist der Instruction Pointer) vom Prozess anzupassen oder einen neuen Thread einzuschleusen, aber das wird nicht das gewünschte Ergebnis bringen.
Nur Abstürze, weil du beim IP-ändern das Programm irgendwo unterbrichst und damit alles durcheinander bringst; und im Threadfall garantiert irgendwo was ist, das nicht threadsafe ist.
:Wirre Gedanken Schluss:

Wenn du ernsthaft so einen Bot machen willst, lern gründlich C und setz dich seeehr lange mit der Binarie vom Spiel auseinander. Dabei schaden kann nicht...ein Disassembler, Bücher/Internetseiten über PE, Compiler, Rootkits...hehe...

Wenn du sonst nichts zu tun hast und auch eine Portion Talent/Intelligenz mitbringst: Ein paar Monate einrechnen, sonst Jahre.

Gruß

@Muepe: Das wäre dann mein Punkt 1, 5 Beiträge weiter oben.
Ich kenn Flyff zwar nicht, aber mit zunehmenden Grafikmaßstäben wird die Methode performancemäßig noch mehr Albtraum...
also wie du schon sagtest, die Methode "war".
Bald sinnlos.
 
Zuletzt bearbeitet:
Zurück