Loop не останавливается при повторном нажатии Topic is solved

Помощь в написании скриптов
amo
Posts: 1
Joined: 22 Dec 2021, 13:16

Loop не останавливается при повторном нажатии

22 Dec 2021, 13:32

Хотел сделать скрипт, который бесконечно нажимает кнопку после первого её нажатия и останавливается после второго нажатия. Однако остановки не происходит.
Подскажите, как исправить.

Code: Select all

clone := 0

~a::
Sleep 5000
clone := !clone
while (clone=1) {
  Loop {
  Send {a}
  Sleep 5000
}
}
Return
garry
Posts: 3771
Joined: 22 Dec 2013, 12:50

Re: Loop не останавливается при повторном нажатии  Topic is solved

22 Dec 2021, 14:33

Здравствуйте

Code: Select all

#MaxThreadsPerHotkey 2
;---------------------
~a::
go := !go
If (go) 
{
Loop 
  {
  tooltip,GO
  Sleep 500
  tooltip
  } Until (!go)
tooltip,END
sleep,1000
tooltip
}
return
;-----------
esc::exitapp
;===========
_Teny

код не останавливается, что делать?

22 Dec 2023, 23:34

Code: Select all

#SingleInstance Force           ; Перезагружать скрипт без дополнительных вопросов
SendMode Event  
j::

Send  {W down}, {Shift down}, {LButton down};
Sleep 15000 ;Д
Send {W up}, {Shift up}, {LButton up}, ;
Send {S};
sleep 50

Loop 10                       ; Код между фигурными стрелками будет выполнен 10 раз
  {                             ; 
    MouseMove, -12, 0, 5, R     ; Переместить мышь на 50 единиц влево (минус) со скоростью 5 (меньше - быстрее)
	Sleep 10                   ; Задержка ~20 мс.

  }   
Send  {W down}, {Shift down}, {LButton down};
sleep 1000
Send {W up}, {Shift up}, {LButton up};
Send {S};
sleep 50
Loop 10                       ; Код между фигурными стрелками будет выполнен 10 раз
  {                             ; 
    MouseMove, -12, 0, 5, R     ; Переместить мышь на 50 единиц влево (минус) со скоростью 5 (меньше - быстрее)
	Sleep 10                   ; Задержка ~20 мс.

  } 
Send  {W down}, {Shift down}, {LButton down};
sleep 15000
Send {W up}, {Shift up}, {LButton up};
Send {S};
sleep 50


Loop 10                       ; Код между фигурными стрелками будет выполнен 10 раз
  {                             ; 
    MouseMove, 12, 0, 5, R     ; Переместить мышь на 50 единиц влево (минус) со скоростью 5 (меньше - быстрее)
	Sleep 10                   ; Задержка ~20 мс.

  }   
Send  {W down}, {Shift down}, {LButton down};
sleep 1000
Send {W up}, {Shift up}, {LButton up};
Send {S};
sleep 50
Loop 10                       ; Код между фигурными стрелками будет выполнен 10 раз
  {                             ; 
    MouseMove, 12, 0, 5, R     ; Переместить мышь на 50 единиц влево (минус) со скоростью 5 (меньше - быстрее)
	Sleep 10                   ; Задержка ~20 мс.

  } 
Send  {W down}, {Shift down}, {LButton down};
sleep 15000
Send {W up}, {Shift up}, {LButton up};
Send {S};
sleep 50
loop J;

Home::Pause
Return
[Mod edit: + [code][/code] tags.]
garry
Posts: 3771
Joined: 22 Dec 2013, 12:50

Re: Loop не останавливается при повторном нажатии

23 Dec 2023, 08:37

пример

Code: Select all

#Requires AutoHotkey v1.1.33
#Warn
#SingleInstance Force           ;- Перезагружать скрипт без дополнительных вопросов
setworkingdir,%a_scriptdir%
SendMode Event  
run,notepad                     ;- для теста
A0:
i:=0,mv:=0
return
;----------------
$F3::                           ;- F3 = Start loop
a1:
i++
IF !Mod(I,2)
 sleep=9000
else
 sleep=1000
;--------------- 
A2:
{
if (i>4)
 goto,end
Loop,10                       ;- Код между фигурными стрелками будет выполнен 10 раз
  {
  if (mv=0)
    send,SLEEP %sleep% :  
  mv++
  ;MouseMove, -50, 0, 5, R     ;- Переместить мышь на 50 единиц влево (минус) со скоростью 5 (меньше - быстрее)
  Sleep 100                 
  Send,%i%-%mv%_
  if (mv=10)
    {
    mv=0
	send,`r`n
	sleep,100
	goto,a1
  	}
  else	
    goto,a2
  }
}  
Return
;--------------
END:
send,----`r`n`r`n
sleep,100
msgbox,END`nStart again with F3`nOr use ESC
gosub,A0
return
;---------------- 
;--------------
$F5::pause       ;- stop loop
$F6::Suspend
$F7::reload      ;- reload script
;----------------------
esc::exitapp     ;- exit script
;=======================

Code: Select all

SLEEP 1000 : 1-1_1-2_1-3_1-4_1-5_1-6_1-7_1-8_1-9_1-10_
SLEEP 9000 : 2-1_2-2_2-3_2-4_2-5_2-6_2-7_2-8_2-9_2-10_
SLEEP 1000 : 3-1_3-2_3-3_3-4_3-5_3-6_3-7_3-8_3-9_3-10_
SLEEP 9000 : 4-1_4-2_4-3_4-4_4-5_4-6_4-7_4-8_4-9_4-10_
----

Return to “Помощь”

Who is online

Users browsing this forum: No registered users and 64 guests