Помогите доделать скрипт (прекращение цикла)

Помощь в написании скриптов
User avatar
TheBlackCat__
Posts: 1
Joined: 30 Apr 2023, 13:19

Помогите доделать скрипт (прекращение цикла)

01 May 2023, 03:04

Я новенькей.
Как сделать так, чтоб после отпускания XButton1 прекращался цикл?

Code: Select all

Скрипт:
#SingleInstance Force
XButton1::
Loop 999
{
Send, C
Sleep, 1100
Send, Shift
} 
Return
mcl
Posts: 361
Joined: 04 May 2018, 16:35

Re: Помогите доделать скрипт (прекращение цикла)

01 May 2023, 18:05

TheBlackCat__ wrote: Как сделать так, чтоб после отпускания XButton1 прекращался цикл?

Самое простое - проверять состояние кнопки внутри цикла:

Code: Select all

XButton1::
Loop
{
	If (GetKeyState("XButton1", "P") == 0)
		Break
	Send, C
	Sleep, 1100
	Send, Shift
} 
Return
Но тут есть две проблемы.
1. Скрипт может остановиться с задержкой до секунды (из-за Sleep), и перезапустить его повторным нажатием можно только когда отработает Sleep.
2. Какая-то кнопка (C/Shift) будет нажата ещё раз перед тем, как скрипт проверит состояние кнопки и остановится. Какая именно – зависит от того, где поставить проверку.

Можно или разбить Sleep на несколько коротких интервалов, или использовать SetTimer.

Return to “Помощь”

Who is online

Users browsing this forum: No registered users and 12 guests