ControlGetPos, ControlClick, PixelSearch, Mouseclick

  • Hi, ich suche aber finde nix für mein Problem. Mir kommt so vor ob in Autoit ein Befehl fehlt.

    Und zwar gibs da ein Game in Jave wo weiße Punkte kommen die man mit Mausklicks treffen muss. Und ich wollte das mal mit ControlGetPos machen weil ich manchmal andere Auflösung habe.. (Wegen mal lappi und PC). Wenn ich jetzt mit PixelSearch mache ist ok klappt gut.. jedes mal wenn ich Q drücke sucht der und klickt drauf. Aber kann man das net mit ControlClick machen? Das hab ich bis jetzt. Was mir aufgefallen ist, wenn man mit Finder Tool auf ne Fenster geht wird ja das Rahmen schwarz und ich bin bis obere ecke links gegangen da kommen 2 verschieden Positionen raus(siehe unten).

    [autoit]


    While 1
    If _IsPressed("51", $dll) Then
    Sleep(100)
    $pos = ControlGetPos("missionred.com - game window - Mozilla Firefox", "", "SunAwtCanvas2")
    $coord2 = PixelSearch( 520, 107, 1024, 720, 0xFFFFFF)
    If Not @error Then
    If $coord2[0] & $coord2[1] Then
    MouseClick("left", $coord2[0], $coord2[1], 1, 1)
    Else
    $coord = PixelSearch( 520, 107, 1024, 720, 0xFFFFFF)
    MouseClick("left", $coord[0], $coord[1], 1, 1)
    EndIf
    EndIf
    EndIf
    WEnd
    DllClose($dll)

    [/autoit]


    Ist das möglich? Wenn ja wie? Mit ControlClick clickt der nu da wo der mousezeiger ist komischerweise Oo
    Ich das war als ich Mouseclick durch "ControlClick("missionred.com - game window - Mozilla Firefox", "", "SunAwtCanvas2", "left", 1, $coord2[0], $coord2[1])" ersetzt habe

    Position: 520, 107
    Size: 500, 620
    ControlClick Coords: 0, 0
    Style: 0x56000000
    ExStyle: 0x00000000
    Handle: 0x0163015C

    >>>> Mouse <<<<
    Position: 524, 137
    Cursor ID: 0
    Color: 0xFFFFFF

    >>Mouse und Position muss doch identisch sein oder? Weil hab beim testen auch gemerkt, dass er darüber klickt, weils einfach viel zu weit von oben anfängt zu suchen.

  • Also sorry aber wenn ich das richtig verstehe versuchst du ein Cheatprogramm zu bauen?
    Weil das mit der Auflösung verstehe ich net. Die Pixel des Browsergames sollten gleich groß bleiben.

    Also Cheatprogramme werden net supported!

    MfG
    Der_Doc

  • Mit Auflösung meinte ich das ich Beispiel am PC die Auflösung 1280 x 1024 habe und am Laptop 1024 x 768. Dann wird ja beim Browser das Fenster angepasst und zentriert. Daher musste ich jedes mal die Coordinaten ändern. Wieso ein Cheatprogramm bauen, wenn ich schon gebaut habe ^^. Ich möchte einfach dazu lernen. Möchte einfach halt wissen obs möglich ist. Ich möchte es halt allgemein wissen, weil ich es hasse, wenn ich was versuche nicht weiter komme. Also nochmal (verallgemeinert) was ich vor hab.

    Mit Control ein Fenster auswählen. Bestimmte bereiche, farben suchen, anklicken oder makieren kopieren(Beispiele).
    Kann man eigentlich nach einen Wort oder Satz suchen? :sleeping:

  • such mal in der Hilfe unter MouseCoordMode.
    Damit kannst Du einstellen, ob die Koordinaten vom Desktop gerechnet werden, oder vom Fenster...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)