MMORPG Pixel Bot in C++

11/19/2010 17:08 Beobugs#1
Also ich habe vor einen Windows Pixel Bot für ein kleines MMORPG zu schreiben, weniger um des Botes willen (weil ich da schon im Epic-Bereich bin) sondern vorallem um meine C/C++ Skills zu verbessern und weil mich die Möglichkeiten interessieren. Nach dem Pixel Bot gehts dann mit Memory etc weiter. Dabei bin ich während meinen Googlesuchen des öfteren hier im Forum vorbei gekommen und hab mich mal angemeldet, für den Fall, dass ich mal nicht weiter weiß. Nun habe ich also meine ersten Fragen und wäre erfreut, wenn ihr eine Lösung wüsstet.

Gibt es eine Möglichkeit, einen Pixel Bot im Hintergrund laufen zu lassen? Also ich habe gelesen, dass es minimiert nicht geht, weil logischerweise nichts gezeichnet wird (Handle 0,0 usw). Aber wie sieht es mit Hintergrund aus? Mein Ziel ist es nämlich den Bot öfters als einmal auszuführen. Dabei ist jedoch nach meinen Tests ein Problem, dass das Fenster im Hintergrund nicht aktiv?! oder so ist, man das Handle (HDC) nicht nehmen kann. SetFocus() und SetActiveWindow() zusammen führen nicht zum gewünschten Ergebnis, weil SetActiveWindow() nur funktioniert, wenn das Fenster nicht im Hintergrund ist. SetForegroundWindow() löst zwar das Problem, doch nicht nach meinen Vorstellungen.
11/19/2010 17:58 Akorn#2
Ich kann dir nur eins empfehlen.
Wen du sowieso vor hast mit memory editing zu arbeiten dann solltest du damit auch direkt anfangen. Erst mit Pixelsuche zu arbeiten bringt dir nichts.
11/19/2010 18:40 Beobugs#3
Ja mag sein doch trotzdem interessiert es mich, denn ich will mich ja auch weiterbilden und wollt mich ersteinmal von unten hocharbeiten. Ich werds mir überlegen, doch nichtsdestotrotz kann ich ja spaßenshalber das Problem lösen :)
11/19/2010 20:46 MoepMeep#4
C++ und Pixelsearch? Du gehörst bestimmt zu den Leuten, die alkoholfreies Bier trinken.
11/20/2010 08:55 hallamasch#5
Quote:
Originally Posted by MoepMeep View Post
C++ und Pixelsearch? Du gehörst bestimmt zu den Leuten, die alkoholfreies Bier trinken.
Nice one *thumps up*


Also im Prinzip musst du dir den Screen Holen und dann auf dem Screen nach dem gewünschten Pixel suchen.

Das kannst du übers handle machen oder, in dem du die (directx oder opengl) draw funktionen hookst.


Aber wie bereits gesagt, macht es wenig sinn nen Pixelbot zu schreiben, weil dabei eh nichts gescheites bei raus kommt. Und diese sowieso ganz unten auf der Nahrungskette stehen.

Aber wenns dir nur um die Erfahrung geht, wie man Bilder bearbeitung macht, setzt dich lieber hin und arbeite an Captchas. Dabei wirst du um einiges mehr an erfahrung sammeln.
11/20/2010 10:32 Beobugs#6
Quote:
Originally Posted by MoepMeep View Post
C++ und Pixelsearch? Du gehörst bestimmt zu den Leuten, die alkoholfreies Bier trinken.
Achja...wenn man mal einen guten Ratschlag und 100 unnütze Kommentare braucht besuch ein Forum...


Quote:
Originally Posted by hallamasch View Post
Aber wie bereits gesagt, macht es wenig sinn nen Pixelbot zu schreiben, weil dabei eh nichts gescheites bei raus kommt. Und diese sowieso ganz unten auf der Nahrungskette stehen.
Also ich wusste nicht, dass es eine Nahrungskette für Bots gibt und würde dann eher diese Klick-Makros als unterstes Glied ansehen. Desweiteren würde ich die Pixelbots nicht schlechter machen als sie sind, denn sie funktionieren und in meinem Fall ergeben sie auch das Maximum an Geschwindigkeit, da die Abläufe wirklich sehr ähnlich sind, und das Suchen in Bereichen schneller läuft, als mein Spiel sie verarbeiten kann. Demnach muss man es sich ja auch nicht schwerer machen als nötig. Wie oben beschrieben gibt es eben nur ein Problem, wenn man mehrere Clients ausführt. Der Tipp mit Hooks ist nicht schlecht und ich werds mir mal zu Gemüte führen.
11/20/2010 11:27 MoepMeep#7
'Klick-Makros' sind nicht so fehleranfällig wie Pixelbots ;>
11/20/2010 11:35 Beobugs#8
Quote:
Originally Posted by MoepMeep View Post
'Klick-Makros' sind nicht so fehleranfällig wie Pixelbots ;>
Im Ablauf vielleicht nicht, doch können sie in einem MMORPG relativ leicht durch ungewollte Interaktion mit anderen Spielern oder Laggs abgebrochen werden und da finde ich, ist es leichter mit C ö.ä. Fehler abzufangen bzw. zu verarbeiten. Wie dem auch sei ich bleib erstmal dabei und schreib den kleinen Bot hier zuende, schließlich fehlt nichtmehr sooo viel.
11/20/2010 11:36 MoepMeep#9
Quote:
Originally Posted by Beobugs View Post
Im Ablauf vielleicht nicht, doch können sie in einem MMORPG relativ leicht durch ungewollte Interaktion mit anderen Spielern oder Laggs abgebrochen werden und da finde ich, ist es leichter mit C ö.ä. Fehler abzufangen bzw. zu verarbeiten. Wie dem auch sei ich bleib erstmal dabei und schreib den kleinen Bot hier zuende, schließlich fehlt nichtmehr sooo viel.
Das kann dir bei Pixelbots genau so passieren ;)
11/20/2010 14:31 Beobugs#10
Btw: Mir ist beim schreiben aufgefallen, dass Funktionen der Win-API wie Sendmessage() etc. in Windows 7 nicht richtig funktionieren. Weiß da jemand was genaues? Denn meine Googlesuche ergab zwar den Fehler bei vielen Anderen ab Vista aber nicht warum. Ich schätze mal zur Sicherheit oder so?!

Edit: Problem für Windoof 7 gelöst: Rechtsklick auf die exe und als Administrator ausführen.

Edit2: So Pixelbot mehr recht als schlecht fertig. Die Geschwindigkeit von C/C++ ist schon sehr geil, und das der Bot nur 50 Zeilen umfasst auch. Schade nur, dass ich es nicht geschafft hab für mehrere Clients bzw. im Hintergrund laufen zu lassen. Naja vielleicht bringt Memory Bot dann mehr mal sehen.
11/22/2010 00:37 MrSm!th#11
Natürlich funktioniert SendMessage bei Win7 genau wie bei anderen Systemen :rolleyes:
Meist kannst du Messages aber bei Games vergessen, da brauchste normalerweise SendInput.
12/13/2010 18:20 CocaCocain#12
versuchs mal auf der seite [Only registered and activated users can see links. Click Here To Register...] .... da wird dir höchstwarscheinlich geholfen und nicht wie hier nur dumme antwortern gegeben ...
12/14/2010 02:28 hallamasch#13
Quote:
Originally Posted by CocaCocain View Post
versuchs mal auf der seite [Only registered and activated users can see links. Click Here To Register...] .... da wird dir höchstwarscheinlich geholfen und nicht wie hier nur dumme antwortern gegeben ...
Der einzige post der in diesem Thread nicht hilfreich war ist deiner, die anderen enthielten vielleicht nen bisschen sarkasmus.

Waren allerdings alle hilfreich gemeint und enthielten wertvolle informationen.
12/14/2010 14:53 MoepMeep#14
Quote:
Originally Posted by hallamasch View Post
Der einzige post der in diesem Thread nicht hilfreich war ist deiner, die anderen enthielten vielleicht nen bisschen sarkasmus.

Waren allerdings alle hilfreich gemeint und enthielten wertvolle informationen.
Mein Post war nicht hilfreich, hör auf hier rumzulügen :<
12/15/2010 01:33 hallamasch#15
Klar war der hilfreich, der hat mich dazu animiert überhaupt was in dem thread zu posten.
Und hat mir nen lachen aufs gesicht gezaubert :-D

Und du hast schön verdeutlicht das man mit nem hammer schlecht ne schraube in die Wand hauen sollte. Es funktioniert ist aber nicht besonders praktisch.