| AutoHotKey Tutorial | Erlernen der Basics |

  • Hallo liebe Brotfischer, :D


    Da viele Autohotkey (AHK) Keybinder Tutorials nicht gut genug erklärt sind, werde ich nun selbst eines schreiben. Vermittelt werden hier nur die wichtigsten Funktionen, die man braucht um einen Keybinder zu erstellen. Wenn du dich schon gut mit AHK auskennst, dann musst du dich zusätzlich nach einem anderen Tutorial umsehen.
    So, dann fang ich mal an:




    0. Inhalt:

    • Vorbereitungen
    • Extra-Funktionen
    • Hotkeys
    • Aktionen
    • Zusatzinfos
    • Multi-Hotkeys
    • Konvertieren/Compilen
    • Schlusswort


    1. Vorbereitungen:
    Zuerst benötigst du das Programm Autohotkey, welches du HIER downloaden kannst. Danach muss es klarerweise installiert werden. Wenn das getan ist, gehst du auf deinen Desktop, machst einen Rechtsklick und erstellst ein neues Autohotkey Script. Nun kannst du es öffnen, in dem du einen Rechtsklick auf das neue AHK-Script machst und "Edit Script" auswählst. Jetzt öffnet sich normalerweise der Editor und du löscht alles, was bereits im Script steht, heraus, das brauchen wir nicht mehr.



    2. Extra-Funktionen:
    Bevor wir uns ans scripten machen, kannst du schonmal 2 Funktionen einbauen, wenn du sie brauchst. Wie genau diese Features funktionieren ist nicht weiter wichtig, es ist nur wichtig was sie bewirken.


    Funktion 1: Wenn du willst, dass der Keybinder nur in GTA San Andreas funktioniert, dann schreibe in die erste Zeile folgenden Code:

    Code
    #IfWinActive, GTA:SA:MP


    Funktion 2: Diese Funktion bewirkt, dass der Keybinder sich deaktiviert, wenn die Textbox in sa:mp geöffnet ist. Sollte man nämlich z.B. eine 1 ins Chatfenster tippen, aber man hat einen Keybind auf die 1, dann wird ein Fehler ausgeführt. Deswegen kannst du das in die 2. oder 3. Zeile schreiben:


    Außerdem ist es möglich, Kommentare ins Script einzufügen, diese werden nicht vom System beachtet. Kommentare macht man mit ; und dann das Kommentar.




    3. Hotkeys:
    So, jetzt gehts ans Eingemachte. Also, um einen Keybind zu erstellen, benötigt man 3 Teile. 1. Die Taste, die man drücken muss um den Keybind auszuführen. 2. Die Aktion, die ausgeführt werden soll. 3. Das beenden des Keybinds.
    Also, hier ein Beispiel:

    Code
    1:: ;Hier wird definiert, welche Taste gedrückt werden muss
    Send tTest ;Hier kann man dann den Code schreiben, der ausgeführt werden soll
    return ;Hier kehrt das Script wieder zum Start zurück, also wartet auf den nächsten Keybind


    Hier wird beispielsweise beim Drücken der Taste 1 das Wort "Test" in die SA:MP Textbox geschrieben. Das t vor dem Test ist dafür da, dass sich die Textbox erstmal öffnet.




    4. Aktionen:
    Jetzt gibt es mehrere Aktionen, die ausgeführt werden können. Die wichtigsten sind wohl Send, SendInput, Sleep und Suspend.

    • Send: Send bewirkt, dass ein Text geschrieben wird, allerdings jeder Buchstabe nacheinander mit einer kleinen Verzögerung.
    • SendInput: SendInput bewirkt, dass ein Text geschrieben wird, allerdings steht er sofort da, ohne Verzögerung. (Am besten für Keybinder)
    • Sleep: Sleep bewirkt, dass X Milisekunden gewartet wird.
    • Suspend: Suspend bewirkt, dass der Keybinder gestoppt wird und die Hotkeys deaktiviert werden.



    5. Zusatzinfos:
    Wichtig ist, dass Rufzeichen nicht als ! sondern als {!} geschrieben werden, sonst können Fehler auftreten. Außerdem kann man z.B. Texte sofort absenden, also die Entertaste simulieren, mit dem Befehl {enter}. Außerdem gibt es die Möglichkeit, den Keybind nicht beim Drücken sondern beim Loslassen einer Taste auszuführen. Dafür hängt man an die Hotkey-Taste einfach ein "UP" an. Also z.B. 1 UP:: ...



    Jetzt einige Beispiele zu den Aktionen:
    Send:

    Code
    1::
    Send tHallo, hier ist der Hanspeter. Wie gehts?
    return


    SendInput:

    Code
    2::
    SendInput tVORSICHT{!]{!] Hier gilt die StVO{enter}
    return


    Sleep:

    Code
    3::
    SendInput tStart in 3 Sekunden...{enter}
    Sleep 1000
    SendInput tStart in 2 Sekunden...{enter}
    Sleep 1000
    SendInput tStart in 1 Sekunde...{enter}
    Sleep 1000
    SendInput tGO GO GO{!}
    return


    Suspend: siehe Punkt 2, Extra-Funktionen.



    6. Multi-Hotkeys:
    Multihotkeys gibt es in 2 Versionen:
    A: Keybinds, bei denen man mehrere Tasten gleichzeitig drücken muss, um den Keybind zu aktivieren.
    B: Keybinds, die man mit zwei verschiedenen Arten ausführen kann.


    Zu A: Man kann z.B. die ALT-Tasten oder Shift oder AltGr Tasten belegen. Dabei folgendes Schema beachten:
    Alt ist !
    Windows-Taste ist #
    Shift ist +
    Control ist ^
    AltGr ist <^>!


    Zu B: Man kann z.B. einen Keybind mit 1 und mit der 1 am Ziffernblock möglich machen. Das geht so:

    Code
    1::
    Numpad1::
    SendInput tSo geht das :D
    return




    7. Konvertieren/Compilen:
    Wenn du deinen Keybinder fertiggestellt hast, dann kannst du ihn konvertieren und compilen. Was das bringt, erkläre ich dir jetzt.
    Es gibt 2 Möglichkeiten, um deinen Keybinder zu schützen, also dass man den Quellcode nicht sehen kann mit edit script.
    Möglichkeit 1: Man macht einen Rechtsklick auf das Script und klickt auf Compile Script. Jetzt hast du eine zweite Datei im Ordner, die mit .ahk endet. Hier könnte es aber vllt. einen DeCompiler geben und man könnte den Quellcode dennoch sehen.
    Möglichkeit 2: Man geht in den Ordner von AutoHotkey und führt die Datei "Convert .ahk to .exe". Hier ist es quasi unmöglich, den Quellcode wiederzuerlangen. Außerdem kann man ein persönliches Icon einfügen.



    8. Schlusswort:
    Ich hoffe, ich konnte dir mit diesem Tutorial die Grundlagen von Autohotkey-Scripting erklären/beibringen und ich habe dir geholfen. Wenn du Fragen hast, kannst du natürlich gerne fragen ;) Ansonsten bitte ich darum, dass man dieses Tutorial nicht ohne meine Erlaubnis dupliziert und schon garnicht als sein eigenes ausgibt. Danke fürs Lesen und viel Spaß beim coden :D



    mit freundlichen Grüßen,
    Raphael alias Flash (ehem. Back)

    Professioneller Webentwickler.

    2 Mal editiert, zuletzt von Le FlasH ()