Hotkey einbinden zum script beenden

  • Hi Ihr,

    ich bin noch recht neu bei AutoIt dabei und deswegen gleich meine erste Noobfrage.

    Ich habe hier einen Code für einen Autofire. Das heißt ich drücke einmal die "linke Maustaste" und das Script drückt gleich 5 oder mehrmals hintereinander die Linke Maustaste.
    Jetzt ist klar wofür das wohl sein wird. Es ist für ein Spiel Namens Stalker. Problem dabei ist nur wenn ich jetzt Granaten oder ähnliches werfen will schmeißt er diese gleich weg weil ich die Linke Maustaste durchdrücken muß um sie zu halten.

    Eigentliche Frage ist nur wie ich dem Script ein Hotkey einbinden kann damit er das Script beendet während ich im Spiel bin. Gleiche Frage natürlich umgekehrt kann man auch einen Hotkey setzten um das Script aus dem Spiel heraus aufzurufen ?

    Hier der Code dafür:

    Code
    #include <misc.au3>
    while 1
    if _IsPressed ("01") Then
    MouseClick ("")
    MouseClick ("")
    MouseClick ("")
    MouseClick ("")
    MouseClick ("")
    endif
    WEnd

    Natürlich habe ich mich schon schlau gemacht wie ich den Hotkey setzten kann aber leider funktioniert das nie das er dann auch dabei beendet. Weder wenn ich im Windows bin noch wenn ich mich im Spiel befinde.

    Es wäre nett wenn Ihr mir ein wenig auf die Sprünge helfen könntet und mit konkret sagen könntet wo und wie genau ich dort den Hotkey setzten muß.

    Vielen Dank im vorraus schon einmal euer Rainer (alias Notebookdevil)

  • genau dort liegt mein problem

    ich habe den hotkey schon am anfang gesetzt und am ende aber ich weiß nich was ich genau falsch mache und ich dachte es kann hier ein erfahrener User kurz posten wie und wohin das mti dem Hotkey muß :o)

    • Offizieller Beitrag

    Hi,

    starte erstmal so:

    Spoiler anzeigen
    [autoit]

    HotKeySet('1', '_start')
    HotKeySet('2', '_exit')

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _start()
    MouseClick("")
    MouseClick("")
    MouseClick("")
    MouseClick("")
    MouseClick("")
    EndFunc ;==>_start

    [/autoit] [autoit][/autoit] [autoit]

    Func _exit()
    Exit (0)
    EndFunc ;==>_exit

    [/autoit]

    So long,

    Mega

  • so das mit dem beenden habe ich ja hin bekommen. Leider fehlt mir einfach die erfahrung den start richtig einzubauen. ich bekomme immer wieder fehlermeldungen wenn ich den start Hotkey einbinde.

    Vielleicht kann sich mal ein Experte dran versuchen den code so umzuschreiben das ich ihn auch über hotkeys aus einer Fullscreenanwendung aus starten kann.

    Hier der Code:

    Wie gesagt der code vom Xenobiologist bewirkt das ich kein autofeuer mehr habe da die tasten nich dreimal gedrückt werden sondern wie gewohnt nur einmal.

    Villeicht weiß ja einer rat :o)

    Gruß Noti

  • Zitat

    der code vom Xenobiologist bewirkt das ich kein autofeuer mehr habe

    Dank diesem satz wird dir wohl kaum noch jemand helfen. :D

    EDIT:

    SORRY! ich hab den Text ganz oben nicht angeschaut^^

    Einmal editiert, zuletzt von ManuIt (8. Oktober 2007 um 11:16)

  • nein keine panik ist nich für online spiele. Das ist für Arcadeklassiker weil die damals wahrscheinlichen meinten das oft Klicken spass macht. Ich spiele solche spiele ab und an schonmal gerne nur wenn ich dreitausend mal klicken muß tut mir nunmal irgendwann der finger weh :o)

    Deswegen eben diesen kleine ding hier. Und wenn mir keiner helfen mag ist das auch nich so tragisch ^^ wäre eben nur schön gewesen :o)

  • kk, dann helf ich ;)

    [autoit]


    #include <misc.au3>

    [/autoit][autoit][/autoit][autoit]

    $i = 0

    [/autoit][autoit][/autoit][autoit]

    While $i = 0
    Select
    Case (_IsPressed (01))
    MouseClick ("")
    MouseClick ("")
    MouseClick ("")
    Case (_IsPressed (78)) ;<----F9
    exit
    endselect
    wend

    [/autoit]

    ich hoff das geht

  • Hm ich weiß nich. Du hast einfach nur die Exit Funktion auf F9 gelegt ^^

    Was ich mehr gesucht hatte war die möglichkeit das ganze script zu starten und wieder zu beenden mit hotkeys :)

    Wäre also schön wenn du das so hin biegen könntest :)

  • Was ist denn so schlimm an dieser lösung?

    [autoit]

    #include <misc.au3>

    $i = 0

    While $i = 0
    Select
    Case (_IsPressed (01))
    MouseClick ("")
    MouseClick ("")
    MouseClick ("")
    Case (_IsPressed (39)) ;<----9
    exit
    endselect
    wend

    [/autoit]

    So jetzt ists mit 9.

    Wenn dus mit der Hotkeylösung vom Alien nicht schaffst, wieso sollte es denn mit meiner Hotkeylösung gehn?

  • Er möchte, dass er auch noch normal klicken kann, oder?

    [autoit]

    #include <misc.au3>

    $i = 0
    $mache = 1

    While $i = 0
    Select
    Case (_IsPressed (01) AND $mache = 1)
    MouseClick ("")
    MouseClick ("")
    MouseClick ("")
    Case (_IsPressed (78)) ;<----F9
    exit
    Case (_IsPressed (77)); <--- F8
    $mache = NOT $mache
    endselect
    wend

    [/autoit]
  • Ja das möchte er :o)

    Ich schaue mal ob es denn so geht und dann sage ich morgen kurz bescheid. Ist echt super von euch das ihr mir helfen magt und könnt :o)


    Gruß Noti

  • Funktioniert hervoragend :o)

    F8 ist die wahrscheinlich sowas wie Pause ^^ Wäre ich nie drauf gekommen


    Vielen dank für die schnelle Hilfe @progandy


    Gruß noti