1

Тема: AHK: Скрипт отказывается работать

Решил сделать себе такой скрипт, но при запуске ничего не происходит, может кто то подправит меня?

F1::
{
Loop, 63
Sleep, 2000
Send, {vk53}
Loop, 1
Sleep, 2000
Send, {vk52}
}
Return

F2::
  ExitApp
Return

2 (изменено: stealzy, 2016-01-01 18:00:15)

Re: AHK: Скрипт отказывается работать

dfm1337
Все ок. Вы просто не дождались наверно)

F1::
	; { эта скобочка ни на что тут не влияет
		; Первая запятая после команд может быть опущена
		Loop 63 ; 63 х спим 2 сек = 2 минуты 6 сек
			Sleep 2000
		Send {vk53}
		Loop 1 ; 1 раз спим по 2 сек
			Sleep, 2000
		Send {vk52}
	; } эта тоже
	Return

F2::ExitApp ; - сокращенная запись для одной команды

Курите синтаксис команды Loop в справке.

3 (изменено: yalanne, 2016-01-01 18:05:33)

Re: AHK: Скрипт отказывается работать

*Не успел, выше тоже самое описание:D
Неправильно расставлены фигурные скобки для цикла.
У вас при нажатии F1 скрипт ждет (2 сек*63), затем один раз нажимает ы\s, затем один раз ждет 2 сек(1 потому что loop,1, цикла не дает), далее один раз нажимает к\r и конец.

Если надо что бы скрипт нажимал 63 раза ы\s и к\r с интервалом друг от друга в 2 сек то вот:

F1::
Loop, 63
{
Sleep, 2000
Send, {vk53}
Sleep, 2000
Send, {vk52}
}
Return

F2::
  ExitApp
Return

4

Re: AHK: Скрипт отказывается работать

yalanne, ну вот, кто теперь купит удочку, когда тут рыбу нахаляву раздают? :-/

5

Re: AHK: Скрипт отказывается работать

Спасибо вам)

6 (изменено: dfm1337, 2016-01-01 18:35:37)

Re: AHK: Скрипт отказывается работать

Блин, извините еще не могу сделать чтобы 1 раз нажалась одна кнопка и потом 63 раза другая кнопка но не сразу а с интервалом

F1::
Loop, 63
{
Sleep, 2000
Send, {vk53}
Sleep, 2000
Send, {vk52}
}
Return

F2::
  ExitApp
Return

UPD:
Уже сам решил проблему

F1::
Loop, 1
{
Send, {vk42}
Sleep, 2000
}
Loop, 63
{
Send, {vk51}
Sleep, 2000
}
Return

F2::
  ExitApp
Return

7 (изменено: dfm1337, 2016-01-01 18:35:52)

Re: AHK: Скрипт отказывается работать

Как мне зациклить этот скрипт теперь?

F1::
Loop, 1
{
Send, {vk42}
Sleep, 2000
}
Loop, 63
{
Send, {vk51}
Sleep, 2000
}
Return

F2::
  ExitApp
Return

8 (изменено: dfm1337, 2016-01-01 19:20:28)

Re: AHK: Скрипт отказывается работать

Мне поможет

GoTo, F1

?

9

Re: AHK: Скрипт отказывается работать

Ищи Settimer

10 (изменено: stealzy, 2016-01-01 21:00:40)

Re: AHK: Скрипт отказывается работать

Предлагаю подумать на тему смысла цикла Loop, 1, о том, что будет, если указать 1000000 в количестве циклов, и о том что будет, если кол-во циклов не указывать вовсе.

11

Re: AHK: Скрипт отказывается работать

stealzy
Мне нужно чтобы эти кнопки нажимались именно столько раз и все это было по кругу

12

Re: AHK: Скрипт отказывается работать

Вообщем для тех кто не понял, мне нужно чтобы сначала нажалась 1 раз кнопка vk42, затем 63 раза кнопка vk51 и после этого опять vk42 1 раз и потом опять vk51 63 раза и чтобы это было пока я не остановлю скрипт

F1::
Loop, 1
{
Send, {vk42}
Sleep, 2000
}
Loop, 63
{
Send, {vk51}
Sleep, 2000
}
Return

F2::
  ExitApp
Return

13 (изменено: yalanne, 2016-01-02 12:03:39)

Re: AHK: Скрипт отказывается работать

F2::ExitApp
F1::
Loop
{
  Send, {vk42}
  sleep 2000

  Loop, 63
  {
	  Send, {vk51}
	  sleep 2000
  }
  
  sleep 2000
}
+ Если надо что бы скрипт не закрывался на F2 и была мгновенная остановка то вот
SetFormat, float, 0.1

KWF2orSleep(time)
{
KeyWait F2,% "D T" (time/1000)
if !ErrorLevel
    Exit
}


F1::
Loop
{
  Send, {vk42}
  KWF2orSleep(2000)

  Loop, 63
  {
	  Send, {vk51}
	  KWF2orSleep(2000)
  }
  
  KWF2orSleep(2000)
}

Return

14

Re: AHK: Скрипт отказывается работать

yalanne
Спасибо, я сразу не додумался, что сначала можно просто зациклить...