Ich habe mir für ein Spiel mehrere AHK Hotkey Scrippte geschrieben die auch einzeln funktionieren. Nun möchte ich diese 5 Routinen mittels eines Menue auswählen anstatt das jeweils aktuelle mittels
Windows (Ich nutze win11, AHK 2) klick auf exit zu schließen, und ein anderes auf zu rufen. Alle Routinen belegen mir die F1 Taste und sind jeweils an die Vorgaben im Spiel angepasst.
Ich habe es mit Process, Close, und Datei.Exe, als auch mit Process, Close, PID versucht- aber die Instanzen laufen dennoch weiter. Auch mit Process Waitclose und If Process Exit abfragen ist es nicht gelungen die Scripte zu beenden. Der Name der Scripte ist so aufgebaut: 8 tasten 2380.exe (compiliert). Das Menu ansich arbeitet, soll heißen der Auswahlkasten erscheint, aber es werden alle Routinen gestartet (statt der ausgewählten), und leider keiner der Routinen gelöscht. Ich denke einen elementaren Gedankenfehler zu haben und bitte um Rat bzw. Hilfe.
Beispiel einer der Routinen:
Code: Select all
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
SetKeyDelay, 50 ; Tstendruckzeit da sonst zu schnell für Spiel
a=2300; Variable die den Cooldown den es im Spiel gibt abwartet
F1::
Send 1
Sleep a
Send 2
Sleep a
Send 3
SoundBeep, 500, 100; kurzer Signalton das das Script fertig ist.
Code: Select all
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
DetectHiddenWindows 1
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
a=2380 ; Cooldowntimer (Wartezeit)
; Script soll Hotkey mit verschiedenen Hotkey´s via Menu setzen. Angedacht für das Spiel Final-Fantasy 14, Belegt das Komandomenu1 in Game 1-8, Sowie Komandomenu8(ALT+Taste)
: Script Barde (8 tasten 1-8 mit 2380 milisekunden Wartezeit) plus ALT-1 (gameinternes makro ruft den barden mit begleiter)
; Script Heiler ( 2 scripte a 3 Tasten mit je 2383 ms Wartezeit) plus ALT-2
; Script Paladin (6 Tasten mit 2383 ms Wartezeit) plus ALT-3
; Script Schnitter (2 scripte a 3 tasten mit je 2383 ms Wartezeit) plus ALT-6
; Script Blaumagier (6 tasten 1-6 mit 2380 ms WSartezeit) plus ALT-4
; Sript Emute benötigt kein tastenscript, nur Aufruf des Blaumagier via ALT+5
;
;Hotkey F12 startet das Auswahlmenu
;
; variabel für PID
;
NeuePID1 = 0
NeuePID2 = 0
NeuePID3 = 0
NeuePID4 = 0
;---------------------------------------------------------------------
; Menu Definition
;---------------------------------------------------------------------
Menu, MyMenu, Add, Barde, MenuHandler
Menu, MyMenu, Add, Heiler, MenuHandler
Menu, MyMenu, Add, Blau, MenuHandler
Menu, MyMenu, Add, Paladin, MenuHandler
Menu, MyMenu, Add, Schnitter, MenuHandler
Menu, MyMenu, Add, Emute, MenuHandler
;
return ; End of script's auto-execute section.
;
MenuHandler:
;
goto %A_ThisMenuItem%
;
; --------------------------------------------------------------------------------
; subroutinen
;----------------------------------------------------------------------------------
Barde:
;
; auf barde schalten
Process, Close, NeuePID2
Process, Close, NeuePID3
Process, Close, NeuePID4
send "!1"; (ingame ruft das !1 das makro des Komandomenue 8 auf, das seinerseit den Barden samt seinem Layout und Begleittier aktiviert)
Run "C:\Users\Raine\Desktop\Autohotkey scripte\8 tasten 2380.exe",,, NeuePID1
;
; auf Heiler schalten
Heiler:
Process, Close, NeuePID1
Process, Close, NeuePID4
send "!3"
Run "C:\Users\Raine\Desktop\Autohotkey scripte\3 tasten 2383 heil.exe",,, NeuePID
Run "C:\Users\Raine\Desktop\Autohotkey scripte\3 tasten 2383.exe",,, NeuePID
;
; auf Paladin schalten
Paladin:
Process, Close, NeuePID1
Process, Close, NeuePID2
Process, Close, NeuePID3
send "!4"
Run "C:\Users\Raine\Desktop\Autohotkey scripte\6 tasten 2383.exe",,, NeuePID4
;
; auf Schnitter schalten
Schnitter:
Process, Close, NeuePID1
Process, Close, NeuePID4
send "!6"
Run "C:\Users\Raine\Desktop\Autohotkey scripte\3 tasten 2383 heil.exe"
Run "C:\Users\Raine\Desktop\Autohotkey scripte\3 tasten 2383.exe"
Emute:
;
; auf Emute schalten (alle Komandomenue ingame mit Emute belegt, der Charakter ist ein Rotmagier
Process, Close, NeuePID1
Process, Close, NeuePID2
Process, Close, NeuePID3
Process, Close, NeuePID4
send "!5"
SoundBeep, 900, 100
Return
;
F12::Menu, MyMenu, Show ; Hotkey für Menue