Hallo euch allen,
Ich wollte mal eine Makrosammlung für ein Spiel machen und würde dafür gerne eine Taste bestimmen, die ich zuerst drücken muss, damit dann ein Makro abgespielt wird.
Irgendwie bin ich dafür gerade zu doof.
Hier ein kleines Beispiel.
Script läuft im Hintergrund
Wenn ich F1 drücke und innerhalb der nächsten 5 Sekunden Numpad 1, wird Makro 1 abgespielt.
Wenn ich F1 drücke aber innerhalb der nächsten 5 Sekunden Numpad 2, wird Makro 2 abgespielt.
usw
Wie müsste dafür das Script aussehen? Habe mit Keywait and Goto usw versucht, aber so richtig will es nicht. Soll halt auch Flexibel erweiterbar sein.
Dann noch eine kleine Frage. Ist es z.B dann möglich alle Tastenereigisse zu deaktivieren?
Beispiel
Wenn ich F1 gedrückt habe und dann Numpad 1 drücke, er Ingame die 1 nicht schreibt aber das Makro startet?
Vielen Dank für eure Hilfe.
Makrosammlung Topic is solved
Moderator: jNizM
Makrosammlung
Last edited by gregster on 23 Mar 2021, 20:03, edited 1 time in total.
Reason: Due to the language, moved to "Ich brauche Hilfe > Spiele".
Reason: Due to the language, moved to "Ich brauche Hilfe > Spiele".
Re: Makrosammlung Topic is solved
Hallo,
versuch mal:
versuch mal:
Code: Select all
F1::
Input, Key, T5, {Numpad1}{Numpad2}{Numpad3}
IF IsLabel(ErrorLevel)
Goto,% ErrorLevel
Return
EndKey:Numpad1:
SoundBeep, 1000
Return
EndKey:Numpad2:
SoundBeep, 2000
Return
EndKey:Numpad3:
SoundBeep, 3000
Return
-
- Posts: 10
- Joined: 04 Apr 2021, 14:35
Re: Makrosammlung
So, ich mache hier mal weiter. Starter war ich mit der Anfrage.
Danke vielmals für die Hilfe, dies hat wunderbar geklappt und macht richtig spaß.
Jetzt würde ich dies gerne aber etwas ändern und mit Variablen machen, damit ich oben Settings einbauen kann, damit jeder das Makro einfach auf sich einstellen kann, bzw wenn ich selber mal was ändern will.
Ansonsten will ich gerne auch mit Controlsend verwenden, doch dies hat das Problem, das er die Tasten ändert. /home wird so zu 7Home. Gibt es da eine Smarte Lösung? Am liebsten so, das der Text wie geschrieben gepostet wird. Ansonsten geht dies auch mit Steuerelementen.
Danke schonmal vielmals.
Gruß
Verlaeufer
Danke vielmals für die Hilfe, dies hat wunderbar geklappt und macht richtig spaß.
Jetzt würde ich dies gerne aber etwas ändern und mit Variablen machen, damit ich oben Settings einbauen kann, damit jeder das Makro einfach auf sich einstellen kann, bzw wenn ich selber mal was ändern will.
Code: Select all
; ---------------------Settings-----------------------------------
hk_home := "Numpad1" ; Home Punkt
; --------------------------------------------------------
AppsKey::
Tooltip, Makro aktiv, 50, 50, 1
Input, Key, T5, {hk_home}}{Tab}
IF IsLabel(ErrorLevel)
Goto,% ErrorLevel
Tooltip,,,, 1
Return
EndKey:Tab:
aktion := !aktion
if (aktion)
{
ToolTip, Kaufen/Ändern, 50, 75, 2
ToolTip,,,,1
}
else
{
ToolTip,,,,1
ToolTip,,,,2
}
Goto, Tooltip
EndKey:"hk_home":
if (aktion)
{
Controlsend,, {Enter}, Minecraft
Sleep, 1000
Controlsend,, {/sethome}, Minecraft
Sleep, 100
Controlsend,, {Enter}, Minecraft
}
else
{
Controlsend,, {Enter}, Minecraft
Sleep, 1000
Controlsend,, /home, Minecraft
Sleep, 100
Controlsend,, {Enter}, Minecraft
}
Goto, Tooltip
Tooltip:
Tooltip,,,, 1
return
Ansonsten will ich gerne auch mit Controlsend verwenden, doch dies hat das Problem, das er die Tasten ändert. /home wird so zu 7Home. Gibt es da eine Smarte Lösung? Am liebsten so, das der Text wie geschrieben gepostet wird. Ansonsten geht dies auch mit Steuerelementen.
Danke schonmal vielmals.
Gruß
Verlaeufer
Re: Makrosammlung
Ich habe meinem Beispiel die Möglichkeit Tasten zu definieren, gegeben:
Zum ControlSend: "/home" ist keine Taste!
edit: es funkt auch ohne Array
Code: Select all
hk_home := "Numpad1" ;in hk_home wird "Numpad1" gespeichert
%hk_home% := "hk_home" ;in Numpad1 wird "hk_home" gespeichert
Return
F1::
Input, Key, T5, {%hk_home%}{Numpad2}{Numpad3}
Taste := SubStr(ErrorLevel, 8)
IF IsLabel(%Taste%)
Goto,% %Taste% ;definierte Taste
Else IF IsLabel(ErrorLevel)
Goto,% ErrorLevel
Return
hk_home:
SoundBeep, 1000
Return
EndKey:Numpad2:
SoundBeep, 2000
Return
EndKey:Numpad3:
SoundBeep, 3000
Return
edit: es funkt auch ohne Array
Last edited by Rohwedder on 10 Apr 2021, 04:32, edited 1 time in total.
-
- Posts: 10
- Joined: 04 Apr 2021, 14:35
Re: Makrosammlung
Vielen Dank.
Gibt es da eine andere Möglichkeit, text an ein Programm zu senden?
Gibt es da eine andere Möglichkeit, text an ein Programm zu senden?
Re: Makrosammlung
Was soll {/sethome} überhaupt sein?
Welche Tasten/Tastenkombinationen drückt du dabei im Spiel?
Welche Tasten/Tastenkombinationen drückt du dabei im Spiel?
-
- Posts: 10
- Joined: 04 Apr 2021, 14:35
Re: Makrosammlung
Sry,
/sethome bzw /home sind Befehle im Spiel. Also kann es auch alles andere sein.
/text also.
/sethome bzw /home sind Befehle im Spiel. Also kann es auch alles andere sein.
/text also.
Re: Makrosammlung
Wie machst du "/"
Betätigst du {Shift Down}{7}{Shift Up} oder {NumpadDiv} ?
Betätigst du {Shift Down}{7}{Shift Up} oder {NumpadDiv} ?
-
- Posts: 10
- Joined: 04 Apr 2021, 14:35
Re: Makrosammlung
{Shift Down}{7}{Shift Up}, da dies immer geht.
Re: Makrosammlung
Ich habe keine Ahnung ob es Minecraft mag, aber Notepad akzeptiert beides:
Googlefund: https://minecraftonline.com/wiki/AutoHotkey
Code: Select all
q::ControlSend, Edit1, /home, ahk_class Notepad
w::ControlSend, Edit1, {Shift Down}{7}{Shift Up}home, ahk_class Notepad
-
- Posts: 10
- Joined: 04 Apr 2021, 14:35
Re: Makrosammlung
Danke dir.
Ist ja lustig, habe Code ausprobiert und weder in Notepad oder Minecraft (nach Änderung ) geht es. Bei Notepad blinkt nur einmal der Cursor auf, das dort etwas passiert ist xD Ich fühle mich wirklich bescheuert xD
Als Administrator habe ich es auch gestartet xD
Die anderen Sachen, gehen wunderbar, doch Controlsend will mich echt mal gern haben^^
Ist ja lustig, habe Code ausprobiert und weder in Notepad oder Minecraft (nach Änderung ) geht es. Bei Notepad blinkt nur einmal der Cursor auf, das dort etwas passiert ist xD Ich fühle mich wirklich bescheuert xD
Als Administrator habe ich es auch gestartet xD
Die anderen Sachen, gehen wunderbar, doch Controlsend will mich echt mal gern haben^^
-
- Posts: 10
- Joined: 04 Apr 2021, 14:35
Re: Makrosammlung
Hab das Problem gefunden.
Meine Delays waren die Lösung xD Es war einfach zu schnell xD
Danke dir herzlichst und habe ne menge lernen können.
Meine Delays waren die Lösung xD Es war einfach zu schnell xD
Danke dir herzlichst und habe ne menge lernen können.
-
- Posts: 10
- Joined: 04 Apr 2021, 14:35
Re: Makrosammlung
Boah macht das ein Spaß, bin dank dir echt einiges an Erfahrung weiter und habe ne Menge geschafft.
Hänge jedoch an 2 Sachen.
1.stens Wie kann ich wenn ich
Code in Options
Gestartete AHK
2.tens wie schaffe ich es, eine Taste in Options festzulegen, so das diese im gesamten Skript geändert wird.
Habe gestern mir den Kopf zerbrochen und gelesen und gesucht, aber nichts gefunden. Auch nach Makros gesucht, wo ich es ableiten kann, aber habe nichts gefunden.
Wäre schön für noch einen anstubser und vielen Dank.
Gruß
Verlaeufer
Hänge jedoch an 2 Sachen.
1.stens Wie kann ich wenn ich
Code in Options
Code: Select all
wert := 50
name := Klaus
Code: Select all
SetKeyDelay, 25, 20
FileRead, Options, %A_WorkingDir%\Ordner\Options.txt
%Options% ;Hier die Options laden
F1::
Send, %name% %wert%
return
2.tens wie schaffe ich es, eine Taste in Options festzulegen, so das diese im gesamten Skript geändert wird.
Code: Select all
Enter = Wie-auch-immer ; Was muss hier gemacht werden, damit wenn ich Enter ersetze, dies auch weiterhin geht.
Wie-auch-immer:
Send, {Wie-auch-immer}
sleep, 5000
Send, {G}
return
Habe gestern mir den Kopf zerbrochen und gelesen und gesucht, aber nichts gefunden. Auch nach Makros gesucht, wo ich es ableiten kann, aber habe nichts gefunden.
Wäre schön für noch einen anstubser und vielen Dank.
Gruß
Verlaeufer
Re: Makrosammlung
Zum 1.stens,
schau dir mal IniRead an.
https://ahkde.github.io/docs/commands/IniRead.htm
Zum 2.tens:
Wie-auch-immer erfüllt nicht die Kriterien an Variablennamen, Wie_auch_immer dagegen schon.
Ansonsten würde ich ein Array verwenden:
oder:
schau dir mal IniRead an.
https://ahkde.github.io/docs/commands/IniRead.htm
Zum 2.tens:
Code: Select all
Wie_auch_immer = Enter
Wie-auch-immer:
Send, {%Wie_auch_immer%}
sleep, 5000
Send, {G}
return
Ansonsten würde ich ein Array verwenden:
Code: Select all
K := {} ; Initialisierung des Array K
K["Wie-auch-immer"] := "{Enter}"
Wie-auch-immer:
Send,% K["Wie-auch-immer"]
sleep, 5000
Send, {G}
return
Code: Select all
K := {} ; Initialisierung des Array K
K["Wie-auch-immer"] := "Enter"
Wie-auch-immer:
Send,% "{" K["Wie-auch-immer"] "}"
sleep, 5000
Send, {G}
return
-
- Posts: 10
- Joined: 04 Apr 2021, 14:35
Re: Makrosammlung
Danke dir vielmals.
2tens habe ich mich wohl etwas falsch ausgedrückt.
Zur 1 muss ich noch etwas einlesen
2tens habe ich mich wohl etwas falsch ausgedrückt.
Code: Select all
Pseudotaste = Enter ; Enter kann getauscht werden wie es will, zb. 1
Pseudotaste: ; <---- Möchte Pseudo über oben gewählte Tasten starten
Send, Pseudo über Enter gestartet
sleep, 5000
Send, {Enter}
return
Zur 1 muss ich noch etwas einlesen
Re: Makrosammlung
Na dann:
Im Falle Pseudotaste = 1 wäre die Meldung "Send, Pseudo über 1 gestartet" ohne obige Eingangsstufenanhebung unvollständig.
Die "1" würde fehlen, da ein Hotkey normalerweise, zur Vermeidung von Selbstauslösung, sich selbst maskiert.
Abweichungen vom Normalen rächen sich oft.
Verwende die Optionen des Hotkey-Befehls nur, wenn es nötig ist.
Code: Select all
Pseudotaste = Enter ; Enter kann getauscht werden wie es will, zb. 1
Hotkey,% Pseudotaste, Pseudotaste, I1 ;I1 = #InputLevel 1, Eingangsstufe 1
Return
Pseudotaste: ; <---- Möchte Pseudo über oben gewählte Tasten starten
Send, Pseudo über %Pseudotaste% gestartet
sleep, 5000
Send, {Enter}
return
Die "1" würde fehlen, da ein Hotkey normalerweise, zur Vermeidung von Selbstauslösung, sich selbst maskiert.
Abweichungen vom Normalen rächen sich oft.
Verwende die Optionen des Hotkey-Befehls nur, wenn es nötig ist.
Who is online
Users browsing this forum: No registered users and 33 guests