Page 1 of 1

Hilfe bei disable Funktion

Posted: 30 Apr 2024, 03:26
by roblive
Ich habe ein Script mit disable funktion, welches die Auslösetaste für eine bestimmte Zeit blockiert, bis das Skript vollständig ausgeführt ist.
Ist es möglich, den disabler für z.B. 1500 zu verzögern, so das die Auslösetaste mehrmals gedrückt werden kann, um eine andere bestimmte Taste vorher belibig oft zu triggern, bevor dann das disable aktiv und den Rest des Skripts abspielt wird?

Hier das Script

Code: Select all

F5::	
;-----------------------------
if disabler
	return
else
	disabler := true
	SetTimer, cooldown, -6500
;-----------------------------
Send, {4 down}
Sleep, 100
Send, {4 up}
Sleep, 100
;-----------------------------
BlockInput, MouseMove
	Sleep, 100
	Send, {E down}
	Sleep, 100
	MouseMove, 830, 500
	Sleep, 100
	Send, {E up}
BlockInput, MouseMoveOff
Sleep, 100
;-----------------------------
Send, {RButton down}
Sleep, 100
Send, {RButton up}
Sleep, 5500
;-----------------------------
Send, {1 down}
Sleep, 100
Send, {1 up}
return
;-----------------------------
cooldown:
	disabler := false
return
Quasi das F5 wiederholt gedrückt werden kann, um {4 down} {4 up} zu senden, kurz wartet und dann erst der disabler aktiv wird.

Würde mich über jede Hilfe freuen.

Re: Hilfe bei disable Funktion

Posted: 30 Apr 2024, 04:34
by just me
Moin,

mir musst Du noch etwas detaillierter erklären, was Du 'disablen' willst. In Deinem Beispiel ist der Hotkey F5 standardmäßig 'blockiert', solange seine Routine läuft. Die Variable disabler ist überflüssig, wenn Du nicht über die Ausführungszeit hinaus 'blockieren' willst. Du müsstest etwas tun, damit er überhaupt mehrfach parallel ausgelöst werden kann.

Re: Hilfe bei disable Funktion

Posted: 01 May 2024, 04:18
by Guest
Moin danke erstmal für den Hinweis.

Meinst du die variable vom disabler SetTimer, cooldown? Stimmt jetzt wo du es sagst fällt mir es auch auf, könnte man sich eigentlich sparen, wenn man nicht über die Routine hinaus blocken möchte.

Nochmal genauer erklärt, ich hätte gerne das Send 4 vor dem disabler sitzt, mit quasi einem sleep von 1500. Solang man F5 in dieser Timer Zeit von 1500 drückt kann man beliebig oft Send 4 nutzen und das script beginnt jedes mal von vorne. Wenn es über den sleep von 1500 hinaus geht, aktiviert dann der disabler und die gesamte restliche routine läuft durch. Kenn mich aber leider Zuwenig aus um das umzusetzen

Code: Select all

F5::	
;-----------------------------
Send, {4 down}
Sleep, 100
Send, {4 up}
Sleep, 1500
return
;-----------------------------
if disabler
	return
else
	disabler := true
	SetTimer, cooldown, -6500
;-----------------------------
BlockInput, MouseMove
	Sleep, 100
	...

Re: Hilfe bei disable Funktion

Posted: 01 May 2024, 07:23
by just me
Moin,

ein nicht getestetes Beispiel:

Code: Select all

#Requires AutoHotkey v1.1.34
#NoEnv
F5::
SetTimer, Blocker, -1500
Send, {4 down}
Sleep, 100
Send, {4 up}
Return

Blocker:
Suspend, On ; Hotkeys blockieren
;-----------------------------
BlockInput, MouseMove
Sleep, 100
Send, {E down}
Sleep, 100
MouseMove, 830, 500
Sleep, 100
Send, {E up}
BlockInput, MouseMoveOff
Sleep, 100
;-----------------------------
Send, {RButton down}
Sleep, 100
Send, {RButton up}
Sleep, 5500
;-----------------------------
Send, {1 down}
Sleep, 100
Send, {1 up}
;-----------------------------
Suspend, Off ; Hotkeys freigeben
Return

Re: Hilfe bei disable Funktion

Posted: 01 May 2024, 14:03
by Guest
Ich probiere es aus, Dankeschön!