Controlclick funktioniert nicht (League of legends)

  • Hi,


    ich arbeite gerade mit Autoit und habe jetzt mal vorgehabt, bei meinem Programm den MouseMove und Click zu ersetzten mit Controlclick, dass ich im Vordergrund noch was anderes machen kann.


    Jetzt die Frage, wie finde ich von meinem Programm, den Fenstertitel und Text herraus, es handelt sich um League of Legends.


    Desweiteren hab ich noch ne kurze Frage, könnte jemand nen kleines Beispiel machen für einen funktionierenden Controlclick, also so z.B.


    MouseClick ("left", 615, 512, 0), nur mit Controlclick :)


    Ich glaube es wäre dann so:


    Controlclick ("League of legends, PVP.net Client, 0, left, 1, 615, 512,0) oder ist das komplett flasch?

  • Fenstertitel usw. kannst du mit "AutoIt Window Info" herausfinden.
    Wird normalerweise mitinstalliert.


    Kuh ;)


    Bei Text müsste PVP.net Client rein so wie ich das herrausgefunden habe, nur Titel weiß ich nicht und ob mein Beispiel so funktinonieren würde :P


    EDIT: Title: PVP.net Client Class (Text): ApolloRuntimeContentWindow


    Jetzt muss ich nur schauen obs geht :)

  • So jetzt habe ich soweit alles zum Laufen gebracht, Fenstertitel etc. läuft, Controlsend geht auch problemlos, nur Controlclick funktioniert nicht, er geht nicht auf die Coordinate und drückt linksklick...


    ich weiß nicht was ich da falsch mache...


    Hier mal nur ein Ausschnitt des Codes:


    [cs]HotKeySet ("{NUMPAD1}","_Start")
    HotKeySet ("{NUMPAD2}","_Exit")


    While 1
    Sleep (1000)
    WEnd



    Func _Start()
    While 1
    Sleep (1000)
    ControlClick ("PVP.net Client", "", "", "left", 322, 795)
    Sleep (1000)
    ControlSend ("PVP.net Client", "", "", "Test", 0)
    Sleep (1000)
    WEnd
    EndFunc


    Func _Exit()
    Exit
    EndFunc
    [/cs]


    Das Problem ist wie gesagt, er macht nicht die Mausbewegung auf das Eingabefeld und den Linksklick schon garnicht, aber wenn ich manuell draufklicke, dann schreibt er Test rein...


    Das ist für ein Bot den ich momentan schreibe, im Vordergrund, also mit MoveMouse etc. geht er problemlos, blos will ich im Vordergrund lieber Streams schauen und so muss der Bot im Hintergrund laufen...


    Wie muss ich vorgehen?

  • Was möchtest du genau machen, verstehe das nicht so genau.
    Was möchtest du anklicken, was wo reinschreiben?


    Das Problem sollte, bzw. macht das jetzt schon ABER nur im Vordergrund:


    Auf Play klicken, Custom Game wählen, Bot joinen, Char wählen, Game starten, AFK Script ausführen hin und her rennen und dann bei 20 Min Surrendern und das in der Whileschleiße.


    Nur will ich jetzt noch nebenbei was machen, was aber leider nicht geht.


    Wie ich gehört habe wird wohl Lol Controlclick blocken.

  • Das Problem ist, dass du explizit eine bestimmte Control ansprechen musst.


    Also damit wir mal ein "gemeinsames Studienobjekt" haben, gehen wir mal von diesem Programm aus (nur der Anschaulichkeit wegen). Weil wenn du an LoL experimentierst und das von uns niemand hat, dann reden wir ständig an einander vorbei.


    Also, nehmen wir mal dieses Fensterchen. Nehmen wir mal an du möchtest Regelmäßig den Knopf drücken.


    Ich habe deinen Code mal entsprechend verändert:


    Wenn du beides laufen lässt, dann müsste die Anzahl Klicks im Fenster nach dem drücken von F2 kontinuierlich steigen.


    Wie du siehst, brauchst du gar nicht ewig viele Parameter:
    ControlClick("testgui", "", "button1")
    Fenstertitel, Text egal, Control die du klicken möchtest


    Das Ding ist einfach, dass du wahrscheinlich noch die Mouseclick() Funktion im Kopf hast. Aber "irgendwo" hin klicken geht bei ControlClick nicht, wie der Titel schon sagt, musst dich an einer beliebigen Control orientieren und nicht nach Koordinaten "ins Nichts klicken"... und "bewegen" tut sich der Mauszeiger beo Controlklick() auch nicht.


    ich hoffe das hilft dir weiter...


    Mal abgesehen davon:
    Die meisten MMOs mit eingermaßen guter Protection sind über ControlClick nicht steuerbar...