AHK | /eat 1-5 Wie mache ich das?
Halli Hallo,
ich bin gerade dabei einen AHK Keybinder für meine Fraktion zuschreiben da ich Spezielle Wünsche an Features habe, die nicht jeder Keybinder beinhaltet und man dann zwischen mehreren Keybinder wechseln müsste.
Ich stehe bei dem Problem das man mit Fishen sein Leben heilt. Dabei gibt es 5 Fish Plätze.
Ich möchte das der Keybinder (Bei einem Hotkey) /eat 1 - bis /eat 5 ausgibt (Pro Tastendruck eine Nummer Größer. Wenn man bei 5 Angekommen ist soll der Nächste Tastenanschlag wieder /eat 1 triggern. Wie muss ich das Coden?
1 Antwort
Ich weiß ja nicht wie dein code aussieht...
Mir fallen da aber zwei Möglichkeiten ein;
1. Methode;
Du kannst folgendes deklarieren;
#Persistent (Sorgt dafür, dass das Skript weiterläuft)
SendMode Input (Schnellere und zuverlässigere Methode zum Senden von Tastendrücken)
Dann musst du einen Startwert festlegen
eatCounter := 1
Dann kannst du eine taste festlegen, die bei betätigung das skript ausführt;
F1::
Send, /eat %eatCounter%{Enter} ; Sendet den /eat Befehl mit dem aktuellen Zählerwert
eatCounter := (eatCounter % 5) + 1 ; Erhöht den Zähler und setzt ihn nach 5 zurück auf 1
return
2.Methode;
#SingleInstance
global currentFish = 1
F1::
currentFish += 1
if currentFish > 5
currentFish = 1
SendInput, /eat %currentFish%
#SingleInstance verhindert, dass mehrere Instanzen des AHK-Scripts ausgeführt werden. Global currentFish = 1 deklariert die globale Variable currentFish und initialisiert sie mit dem Wert 1.
F1:: deklariert die Funktion F1::, die aufgerufen wird, wenn die Taste F1 gedrückt wird (da kannst du natürlich eine beliebige Taste nutzen).
currentFish += 1 erhöht die Variable currentFish um 1.
if currentFish > 5 überprüft, ob die Variable currentFish größer als 5 ist.
currentFish = 1 setzt die Variable currentFish auf 1 zurück.
SendInput, /eat %currentFish% sendet den Befehl /eat mit der aktuellen Nummer des Fishes als Argument.
Danke, hab deine 2. Methode verwendet und diese Funktioniert Einwandfrei <3