C++ pixelbot schreiben



  • abend,

    ich will einen pixelbot schreiben in c++.
    Das Programm soll die Maus benutzen und auf bestimmte bilder/farben im Clientgame mit spezifischen aufgaben reagieren.

    zB.: gegner gesichtet =>flüchten
    ressource gesichtet=>linker mausklick

    Das Programm soll stabil laufen und schnell.
    Ich bräuchte einen "Mentor" der mir Hilfestellung gibt oder überhaupt einen der mir Fragen klärt.



  • Lass dich doch vom ganze Forum hier "mentoren".

    Von den Leuten die hier wirklich was drauf haben werden wohl die wenigsten Lust haben Privatunterricht zu erteilen. Vor allem da die Frage danach immer etwas nach "bin zu faul bzw. ungeduldig für X" riecht.
    Wobei X u.A. enthält
    * Mir die Informationen die ich benötige selbst zusammenzusuchen
    * Zu versuchen meine Fragen in schriftlicher Form verständlich zu formulieren
    * Versuchen zu verstehen was andere mit ihren Antworten meinen
    * Evtl. nachzufragen wenn etwas unklar ist
    * Weitere, von Usern angeforderte Informationen verständlich formuliert nachzuliefern

    Bzw. ganz abgesehen davon frag ich mich jedes mal wenn die Frage nach (gratis) Privatunterricht kommt, wieso der Fragesteller annimmt dass jmd. Lust haben könnte ihm gratis eben diesen zu erteilen.

    Und wiederrum DAVON abgesehen...

    Wenn du Tips möchtest wie man sowas angehen kann, dann solltest du zumindest dazuschreiben um welches OS es sich handelt, und falls es sich um Windows handelt ob das Spiel D3D Fullscreen läuft.
    Und dich darauf gefasst machen noch *einiges* lernen und *viel* heromprobieren zu müssen bevor du die ersten kleinen Erfolgserlebnisse bekommst.
    Weil die Aufgabe die du dir da ausgesucht hast alles andere als einfach ist.



  • ^^.

    Das Game ist ein Online-Browser Game in 2D.
    Es gibt einen Fullscreen mode ,aber der ist nicht nötig , da es auch die normale Größe operfelt ausreicht und auch perfekt sizt.

    Der Bot sollte für mich eigentlicj nicjts bewonders herausgorfnern programmiertes beonhalten.

    Sowas wie drücke Taste "3" ,wenn Leben<30%,Leben kann er nicht sehen sondern muss es sicj ausrechne von dem Grünen Hitpoints Balken .

    Sowas halt.

    Fer Bot soll unter windows 7 laufen.



  • Grundgerüst:

    while true
    {
     Screenshot machen: siehe WinAPI - Stichwort DC
     Bildverarbeitung/Erkennung: siehe OpenCV
     Maus bedienen: siehe WinAPI - Stichwort Event
    }
    

    Einlesen musst du dich aber schon selber, das Thema ist viel zu komplex als dass es dir jemand mal eben so erklärt.



  • Der Bot sollte für mich eigentlicj nicjts bewonders herausgorfnern programmiertes beonhalten.

    Sowas wie drücke Taste "3" ,wenn Leben<30%,Leben kann er nicht sehen sondern muss es sicj ausrechne von dem Grünen Hitpoints Balken .

    Nichts besonders herausforderndes. Nur ein bisschen Bildverarbeitung. LOL. Wenigstens erkennt man gleich dass du keinen Plan hast.



  • Ah, OK.

    Wenn es (nur) um so einfache Sachen geht wie die Länge eines Elements mit bekannter Position und Farbe (Energieanzeige) zu ermitteln, DAS sollte auch für nen Anfänger schaffbar sein.

    Das Grundgerüst hat dir gdfgdfg ja schon skizziert. Bloss "Stichwort Event" verstehe ich überhaupt nicht - ich hätte da statt dessen einfach mal "SendInput" gesagt.

    Den Rest kannst du dir ergoogeln. Auf Stackoverflow etc. solltest du zu den einzelnen Themen genügend Infos finden.
    Und wenn du irgendwo anstehst, dann frag nochmal nach. Je konkreter und je besser beschrieben die Frage, desto eher bekommst du schnell brauchbare Antworten.



  • Was der Bot im grunde machen soll.

    Benutzung der Maus kontinuierlich.

    -Abchecken der Hitpoints(grün)-Schildanzeige(blau) und reagieren,falls eines der beiden sich verändert-basierend auf die Farben

    -auf die npc´s klicken die im Radius befinden(nur 4 arten von npcs)

    Ich bin lernwillig,aber es ist nicht einfach spezifische Wissenslektüren zu finden für mein Ziel.Hier werde ich von manchen eher angegriffen ,als Hilfe zu erhalten.



  • kingaze schrieb:

    Ich bin lernwillig,aber es ist nicht einfach spezifische Wissenslektüren zu finden für mein Ziel.Hier werde ich von manchen eher angegriffen ,als Hilfe zu erhalten.

    Er.
    Meinst du meinen 1. Beitrag hier?
    Wenn ja, vielleicht solltest du ihn dann nochmal lesen und versuchen zu verstehen was ich damit meine.

    Ansonsten sehe ich in deinem letzten Beitrag keine Frage mehr.
    => Thema abgeschlossen.



  • Wenn du so viel Ahnung hast ,kannst du mir ruhig paar. Links geben passend zu meinem Thema, womit ich gut bedient bin.
    Jeder fängt mal klein an.

    Was muss ich mir genau anschauen um an mein Zeil zu erreichen ein Pixelbot zu programmieren.



  • kingaze schrieb:

    Wenn du so viel Ahnung hast ,kannst du mir ruhig paar. Links geben passend zu meinem Thema, womit ich gut bedient bin.
    Jeder fängt mal klein an.

    Was muss ich mir genau anschauen um an mein Zeil zu erreichen ein Pixelbot zu programmieren.

    na aber genau das ist die falsche Einstellung fürs Programmieren. Du kannst nicht immer drauf hoffen dass dich wer bei der Hand nimmt.
    Schau dir die gegebenen Stichworte in dem Thread an, und arbeite damit.

    Screenshot unter Windows machen, in OpenCV Datentyp cv::Mat umwandeln:
    http://stackoverflow.com/questions/14148758/how-to-capture-the-desktop-in-opencv-ie-turn-a-bitmap-into-a-mat

    Grundlagen Bildverarbeitung und OpenCV:
    http://docs.opencv.org/doc/tutorials/tutorials.html
    http://shervinemami.info/blobs.html
    https://www.youtube.com/watch?v=bSeFrPrqZ2A

    Maus simulieren:
    http://stackoverflow.com/questions/5164774/how-can-i-simulate-mouse-events-from-code

    Und GANZ WICHTIG: solide Programmierkenntnisse in C oder C++. Davor hat es wenig Sinn sich mit komplexen Dingen wie Bildverarbeitung zu beschäftigen.



  • kingaze schrieb:

    Wenn du so viel Ahnung hast ,kannst du mir ruhig paar. Links geben passend zu meinem Thema, womit ich gut bedient bin.

    Ganz tief durchatmen, und dann nochmal lesen was ich dir geschrieben habe.

    Den wichtigsten Link geb' ich dir aber gerne: https://www.google.com



  • Mich würde mal interessieren wie groß deine Programmiererfahrung ist...



  • Meine oder die von kingaze?

    Meine is ca. 20 Jahre C++, davon > 15 Jahre professionell.
    Dazu noch diverse Assembler (früher, schon ewig nimmer angegriffen), natürlich C (auch schon ewig nimmer angegriffen) und seit > 5 Jahren auch immer mehr C#.



  • die von kingaze natürlich... deine kann man bei über 20.000 Beiträgen ein wenig besser einschätzen 😉



  • Ach so 🙂 War (mir) nur nicht klar weil direkt unter meinem Beitrag und ohne @ - da ist nicht unüblich anzunehmen dass es an mich gerichtet ist.



  • Meine Erfahrung(en) noch ein Anfänger.

    Danke für die Zahlreichen Links,alle natürlich angeschaut und versucht so gut wie möglich zu verstehen mit meinem Wissensstand.

    Hier mal ein kleines 3minütiges Video was mein ungefähres Ziel ist.

    https://www.youtube.com/watch?v=C0JXrCTy6pc

    Der wurde in AutoIt geschrieben.

    Ich versuche mal diesen hustbaer zu ingorieren.



  • Du hast nichts von dem was ich dir vermitteln wollte verstanden.

    @dfsdfsfs
    Du weisst schon was passiert wenn man jmd. schreibt dass er sich nicht erwarten soll dass ihn jmd. bei der Hand nimmt ... und ihn dann gleich darauf bei der Hand nimmt? 😉



  • @dfsdfsfs
    Du weisst schon was passiert wenn man jmd. schreibt dass er sich nicht erwarten soll dass ihn jmd. bei der Hand nimmt ... und ihn dann gleich darauf bei der Hand nimmt? 😉

    naja, ich hab ihm ein paar Links gegeben, damit er überhaupt mal weiß nach welchen Begriffen er in Google suchen muss.
    Wirklich lernen muss er es selbst, da ists dann komplett aus mit dem Händchenhalten 😉

    Wobei ich immer skeptisch bin wenn jemand gleich sowas großes vorhat. Ich hatte anfangs Spaß daran meine kleinen Hello World Programme immer weiter auszubauen, aber auch zu analysieren, was welche Zeile nun tatsächlich tut.
    Dinge wie WinAPI, OpenCV oder ähnliches hab ich erst viel später gelernt. Ich wäre anfangs auch überfordert gewesen. Da müssen einfach die Basics sitzen. Da hantiert man ganz selbstverständlich mit Datenstrukturen wie Bäumen oder ähnlichem. Kein Problem wenn man die Basics kennt. Kann aber zum Scheitern führen wenn man nicht weiß, wie man damit umzugehen hat.



  • kingaze schrieb:

    Meine Erfahrung(en) noch ein Anfänger.

    Ich hoffe dir ist klar, dass ein Anfänger niemals so ein Programm auf die Beine stellen kann. Du solltest dich erst mal mit MFC an sich befassen und ein bisschen spielen. Danach mit den WinAPIs usw...

    kingaze schrieb:

    Ich versuche mal diesen hustbaer zu ingorieren.

    Ich hoffe dir ist auch klar, dass dieser hustbaer es eigentlich nur gut meint?!



  • Hi,

    da nimmst Du AutoIt, man muss nicht alles neu erfinden, dort kannst Du Pixel aus den verschiedneen Sourfaces dx/Gl usw. abrufen:

    http://de.wikipedia.org/wiki/AutoIt

    Gruß Karsten


Anmelden zum Antworten