AutoHotKey - Makrosammlung

  • Ich weis, viele verwenden Voice Attac, zum Teil auch nur um Makros auf die Tastatur zu legen.


    Aber es gibt ja immer ein paar unverbesserliche, so wie mich zum Beispiel, die es gerne auch mal anders Probieren.
    Auf die Art bin ich zum Tool AutoHotKey (AHK) gekommen und habe mir damit ein paar der F-Tasten belegt.


    AutoHot key steht unter der GNU General Public License und ist daher für alle kostenlos zu haben.
    Mit AutoHotKey (oder kurz AHK) kann man Neben der Tastatur auch Joystick- und Mausknöpfe abfangen und so mit Makros belegen, falls der Hersteller zum Beispiel keine eigene Software dafür bereitstellt.


    Wikipediaeintrag: https://de.wikipedia.org/wiki/AutoHotkey
    Englische Homepage: http://ahkscript.org/
    Deutsche Seite: http://ragnar-f.github.io/
    Es gibt außerdem auch eine wie ich finde gute deutsche Dokumentation dazu, die man von dort aufrufen kann.


    Um jetzt auch anderen die Möglichkeit zu geben, das ganze einmal auszuprobieren oder auch um mal ein paar nützliche Makros untereinander auszutauschen dachte ich mir, es wäre doch nett eine entsprechende Sammlung zusammenzustellen.



    Fangen wir also einfach mal an, hier ist mein aktuelles AHK Script für Elite:Dangerous:



    EDIT: Bevor ich es vergesse... Makros tragen die Dateiendung *.ahk ....


    Bit denne...
    ansi4713

  • Um es nochmal klarzustellen, ich bitte alle die AHK verwenden und gewillt sind zu teilen sich an diesem Thread zu beteiligen...


    Hier ein weiteres Makro,
    wie es in leicht abgewandelter Form bei einem Kommandant in Benutzung ist.



    Bit denne...
    ansi4713

  • Hallo


    Danke und sehr gute Idee. Nach dem Vorbild von ansi4713 habe ich das Skript, welches ich zur Steuerung nutze, ein bisschen lesbarer und mit Kommentarten versehen. Ich hoffe soweit ist alles verständlich. Ich entwickle das Skirpt zur Zeit je nach Bedarf und neuen Idee für meinen HOTAS Thrustmaster X-Flight weiter, sollte aber mit jedem anderen HOTAS auch funktionieren. Die Joystick-Buttons können angepasst werden. Zur Zeit übertrage ich mehrere Funktionen von VoiceAttack auf Autohotkey (ohne Sprachsteuerung und -ausgabe). Daher kommt bei Bedarf weitere Funktionen dazu.


    Bisher eingebaute Funktionen:



      Energie Steuerung durch POV
      Fahrwerk ein/ausfahren ink. Licht aus/einschalten




    MfG

  • Hallo Ansi,


    super Idee! :daumen:
    Ich nutze bisher zwar kein AHK, aber jetzt wäre mal die Gelegenheit damit anzufangen. ;)
    Da bei mir VoiceAttack (EVA) zum Einsatz kommt und ich auch eine Tastatur bzw. Maus mit Makro-Funktion habe, war der Einsatz von AHK bisher nicht wirklich vonnöten.


    ABER: Die Nutzung von AHK hat den großen Vorteil Hard- und Software-unabhängig zu sein!
    Wenn ich also mal meine Gerätschaften tausche oder ein Nachfolger von VA zum Einsatz kommen sollte, könnte ich die in AHK geschriebenen Scripte einfach dort entsprechend einbinden und weiter nutzen...


    Wenn's meine viel zu knapp bemessene Freizeit mal erlaubt und ich gerade keine Lust auf "Kühe im Weltall" habe, werde ich mich mal damit auseinandersetzen.
    Ich denke es gibt so einige Sachen, die man scripten könnte.
    Sollte was sinnvolles dabei herauskommen, werde ich das hier natürlich auch zur Verfügung stellen.


    Anonsten bin ich mal gespannt, was hier so zusammengetragen wird.


    Gruß,
    MilchKuh Paula

  • Hi!


    Ich benutze nun auch das AutoHotKey-Makro. Klappt wirklich super gut!


    Ich habe nun auch meine Shieldbooster und - Cells auf einer Taste. Problem ist nur, dass man sich das linke und rechte Menü nicht verstellen darf, da man nicht explizit auf eine bestimmte Ausgangsposition springen kann. Zudem funktioniert das Makro nur für eine spezielle Schiffskonfiguration. Aber egal.


    Danke für den Tipp!


    cu
    amdu

  • vorgestern habe ich ein Script gebaut um beim Einkauf der PP-Dinger keine Wunde Finger zu bekommen, schliesslich musste ich fast 1000 mal den Counter zurücksetzen und einkaufen ..


    Man muss zuerst die Merits die man ohnehin bekommt einlösen, zB 10 Stück.
    Dann steht man mit dem Cursor dort wo man den Status einsehen kann und drückt Alt-m.


    Folgende Zeile muss man anpassen damit der Balken richtig erkannt wird, wer damit strauchelt darf mich gerne kontaktieren:
    PixelSearch, 1100, 300, 1100-5, 300-5, 1100+5, 300+5, 0xFF7502, 15, FAST RGB




    [url2=https://forums.frontier.co.uk/showthread.php?t=1821&p=1191&viewfull=1#post1191]a cry for Elite IV - few days ago[/url2][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab]!!!!!![/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab][tab][/tab]Extreme Warthog Script Editing

  • Grüsse Cmdrs,


    ich habe jetzt mein 1. einfaches Skript soweit fertig. Hintergrund war folgender:
    Als DK2 Spieler mit XBox 360 Controller spiele ich eigentlich ohne Tastaur. (ausser F12) :lol:
    Man(n) sieht ja eh nix, ausser man schielt zw. der Nase bissl durch. :D
    Die Energieverteilung als Makro mittels Steuerkreuz wird jetzt nur umgeschalten, wenn zusätzlich einer der beiden Steuersticks bewegt wird.
    (macht man ja eh meistens während des Fluges bzw. Kampfes)
    Dies war nötig, damit man im Stauspanel oder Hauptmenü weiter mit dem Steuerkreuz navigieren kann, ohne das die Auswahl hin und her springt bzw. die Energieverteilung sich wieder verstellt.. Einzig die Joystickbelegung im Steuerungsmenü für die Enrgieverteilung löschen und los gehts.
    Wer wieder Default Verteilung haben will muss halt Cursor down drücken, da ich alle 4 Richtungen mit verschieden Setups belegt habe.


    Bin soweit ganz zufrieden, werde aber bestimmt weiter Funktionen noch implementieren bzw. optimieren. (bin kein Progi)


    VG ClassM



    edit: Wer mit Notepad++ arbeitet sollte mal folgende [url2=http://ahkscript.org/boards/viewtopic.php?f=7&t=50]Sprache[/url2] versuchen, macht die Sache sehr übersichtlich.

  • Sehr interessant zu lesen, was mit dem Tool alles möglich ist.


    Mich hatte immer genervt, so umständlich nach der Landeerlaubnis zu fragen. "Einen" Button dafür gibt es nicht... Glücklicherweise bin ich mit Logitech Gaming Tastatur & Maus ausgestattet, so konnte ich mir sehr einfach Tastendruck Makros für drei meiner Mausbuttons erstellen:


    1. Landeerlaubnis: 1, e, e, Leertaste, s, Leertaste, q, q, 1 (Voraussetzung: die Einstellung des linken Panels ist auf dem ganz linken Reiter steht)
    2. Energieverteilung Kampf: links, links, rechts, rechts, rechts, rechts
    3. Energieverteilung Flug: links, links, oben, oben, oben, oben


    Die Energieverteilungsmakros funktionieren bisher immer, unabhängig davon, wie die aktuelle Einstellung ist :)


    Was ansonsten natürlich noch interessant ist, wäre ein Einkaufs- / Verkaufsmakro (Laderaum mit Ware X vollmachen / leeren). Per einfachem "Tastendruck"-Makro vielleicht nicht unbedingt ganz trivial und würde nur für eine festgelegte Route funktionieren - aber per Screenreader?

    Die Piloten der Kokosnuß [PdK] - Eine freie ED-DE-Gruppe - Ohne Verpflichtungen zusammen durch die Milchstrasse fliegen.

  • Obwohl ich der Meinung bin, dass mein Rechner auch zu den schnelleren gehört, habe ich doch ab und an Probleme mit kurzen Verzögerungen zwischen den simulierten Tastendrücken.


    Deshalb habe ich mal in einem ersten Schritt Ansi's Script etwas "flexibler" gestaltet.
    Hier in Auszügen die gemachten Änderungen:



    Also im Prinzip habe ich nur eine Variable "delay" erstellt und mit dem Standardwert 100 (für 100ms) belegt.
    (In den meisten Fällen funktioniert diese Verzögerung bei mir einwandfrei)


    Falls es dann aber Situationen gibt, wo das Script schneller ist, als das UI hinterherkommt, habe ich zwei zusätzliche Hotkeys definiert (STRG + F1, STRG + F2), mit denen man die Verzögerung in 20ms Schritten erhöhen bzw. verringern kann.


    Man könnte natürlich den zweiten Parameter von "SetKeyDelay, %delay%, %delay%" durch einen fixen Wert von 50-100 (ms) ersetzen.
    Dies würde verhindern, dass bei zu großen Werten von %delay% unter Umständen die automatische Tastenwiederholung greift und Tasten quasi "mehrfach" durch das Script gedrückt werden.
    Die Zeile Könnte dann also so aussehen:

    Code
    1. SetKeyDelay, %delay%, 50


    Vielleicht findet der ein oder andere diese Flexibiltät ja auch hilfreich...


    Gruß,
    MKP

  • durch deaktivieren der GUI Effekte kanns verschnellert werden. Die bremsen das ein wenig runter

    The string theory? Oh my god it's full of chars!

  • eine tolle Sache das hier.


    alles funzt bei mir so weit bis auf die Geschichte mit dem 4´er Menü und den Modulen.
    Habe die Tastaturreihenfolge soweit erstellt und alles läuft ab (Kontrolle mir leerem Dokument bis die Eingaben erscheinen)
    Aber wenn ich dann im Spiel die Schildzellen aktivieren will passiert nix.
    Ich komme schon erstmal gar nicht ins 4´er Menü rein.
    Energieverteilung klappt aber reibungslos
    Das gleiche ist es mit der Landeerlaubnis...da komme ich auch nicht ins 1´er Menü.
    Im leeren Dokument sehe ich aber die Tasteneingaben korrekt erscheinen.


    was mach ich falsch?

    CMDR Zefix


    ***********************************************

  • Hast Du Pausen zwischen den einzelnen Tastenanschlägen eingebaut?

    Die Piloten der Kokosnuß [PdK] - Eine freie ED-DE-Gruppe - Ohne Verpflichtungen zusammen durch die Milchstrasse fliegen.

  • Quote from Zefix

    ... bis auf die Geschichte mit dem 4´er Menü und den Modulen.
    ...
    Das gleiche ist es mit der Landeerlaubnis...da komme ich auch nicht ins 1´er Menü.
    ...


    Nur um das auszuschließen... Du hast die 1 und die 4 auch in den Steuerungsoptionen entsprechend zugewiesen?
    Sprich wenn Du ohne Makro die 1 oder 4 drückst kommt das entsprechende Panel?


    Bit denne...
    ansi4713

  • Quote from COM-Ig3l

    Hast Du Pausen zwischen den einzelnen Tastenanschlägen eingebaut?


    ja,


    30 ms.
    Energiezuteilung funzt einwandrei

    CMDR Zefix


    ***********************************************

  • Quote from ansi4713 [UGC]

    Nur um das auszuschließen... Du hast die 1 und die 4 auch in den Steuerungsoptionen entsprechend zugewiesen?
    Sprich wenn Du ohne Makro die 1 oder 4 drückst kommt das entsprechende Panel?


    Bit denne...
    ansi4713


    Ja,


    im Spiel drücke ich ganz normal die 1-4 Tasten und alles klappt...

    CMDR Zefix


    ***********************************************

  • Quote from Zefix

    ... ja,30 ms.Energiezuteilung funzt einwandrei


    Hmmm...
    30 ms kommt mir recht kurz vor.
    ich hab meine Zeiten etwas erhöhen müssen, damit alle Tastatureingaben korrekt ankommen.


    Ich liege jetzt bei 75ms Zwischen den Tasten mit 75ms dauer. (4 GHz, 8 Threads, also bestimmt nicht zu langsam...)


    Sprich ich hab im Kopf ein


    SetKeyDelay, 75, 75


    eingestellt.


    Andererseits, du hast ja geschrieben, das sich noch nicht mal das Panel öffnet.



    Bit denne...
    ansi4713

  • 30ms sind für die panele zu wenig...Bei der E_verteilung geht das aber eben nicht in den panels...da sind 75ms schon knapp bemessen....

    Exiter.png
    Öffnungszeiten: Mo-Fr 06.00 - 14:30 oder ausser der Reihe.......
    Am Wochenende hab ich keine Zeit.....

  • Zefix:


    Mal ein anderer Ansatz:
    Welchen "Hotkey" verwendest Du für den Scriptaufruf?
    Evtl. gibt es hier ja Probleme (bereits belegt durch ED oder ähnliches)...


    Vielleicht könntest Du mal dein Script (zumindest alle relevanten Zeilen) hier posten?
    Wenn wir da alle einen Blick drauf werfen, ist die Wahrscheinlichkeit einen evtl. Fehler zu entdecken viel höher. ;)


    Gruß,
    MKP

  • da habe ich extra drauf geachtet dass diese Tasten NICHT belegt sind bzw. habe ich eh nicht die Standardbelegung.
    Aktivierung des Schildscripts ist mit der "END" Taste.
    Die war bis dato frei bei mir.


    hatte bis dato keine Erfahrung mit AHK.
    Vorher in einem anderen Spiel benutze ich AutoIt, da kann man auch den Bildschirm anhand der Grafik abfragen.
    Quasi mit Kontrolle eines Zustandes des Schiffes.
    Man könnte damit auch die Zündung der Schildzellen automatisieren wenn er einen bestimmten Pegel erreicht...
    Unbegrenzte Möglichkeiten dank PixelSearch.
    Aber das wird dann zu aufgeblasen.
    Deswegen wollte ich AHK nutzen.
    Aber werde gerne meinen Schnipsel hier posten...

    CMDR Zefix


    ***********************************************