1

Тема: AHK:одновременные действия

У меня вопрос: возможно ли, что бы при нажатии одной клавиши выполнялись два блока действий одновременно? Один блок связан с последовательным нажатием клавиш, а второй с движением мыши.

2

Re: AHK:одновременные действия

Вполне.
Но только так же возможно, что заморочка с этим не вполне отвечает необходимости выполнять их одновременно, особенно, если у обеих операций короткие последовательности. "Одновременно" - подразумевает параллельность, а значит при отсутствии многопоточности, придётся создавать отдельный процесс и все вытекающие при этом плюсы, могут едва ли перевешивать в свою сторону, нежели правильно описанный алгоритм, учитывающий все обстоятельства задачи.

Если вопрос есть чем дополнить, то лучше подумайте над последним.

3 (изменено: ninja__go, 2018-08-04 16:45:59)

Re: AHK:одновременные действия

Проблема то вот в чем: в игре Dead by Daylight, что бы крутить 180 и 360, нужно одновременно нажимать последовательность клавиш w a s d и поворачивать мышь. А у меня это не получается + паника, когда за тобой гонятся, но это не важно. Так вот, если ставить это в один поток действий, это нужно очень сильно заморочиться с таймингом и т.д.. А вот если бы можно было это делать параллельно, то мне бы это очень сильно облегчило работу, хотя я не знаю как сложно это делать(я про параллельность).
P.s. так же я использую библиотеку DD

4 (изменено: ninja__go, 2018-08-04 16:50:01)

Re: AHK:одновременные действия

вот что я смог сделать

#Include, class_DD.ahk
SetWorkingDir %A_ScriptDir%
+WheelUp::
DD.movr(200,0)

+q::
DD._key("a", "Down")
sleep, 150
DD._key("a", "Up") 
DD._key("s", "Down")
sleep, 150
DD._key("s", "Up") 
DD._key("d", "Down")
sleep, 150
DD._key("d", "Up") 

и мне бы хотелось, что бы все это работало от одной клавиши, а когда я просто меняю "+WheelUp" на "+q", то при запуске выходит ошибка.
P.s. мышь я еще доработаю, т.к. это просто пример

5

Re: AHK:одновременные действия

Так это то понятно, у меня вопрос стоял в другом: как сделать что бы эти действия шли параллельно?

6 (изменено: ninja__go, 2018-08-04 21:49:09)

Re: AHK:одновременные действия

извините, забыл уточнить, на протяжении алгоритма связанного с "+q" нужно постоянно крутить колесо мыши вверх. Поэтому я и спрашиваю как сделать параллельно, а потом я уже поворот мыши сделаю через цикл

7

Re: AHK:одновременные действия

Мне просто нужно что бы при нажатии одной клавиши "+q" срабатывали a s d поочередно, и все это время мышь крутилась вправо. Если вы предложите другой вариант исполнения, то я вам только спасибо скажу.

8

Re: AHK:одновременные действия


+Q:: 
	SetTimer, Mouse, 1
	Send {a Down}
	sleep, 150 
	Send {a Up} 
	Send {s Down}
	sleep, 150 
	Send {s Up} 
	Send {d Down} 
	sleep, 150 
	Send {d Up}
	SetTimer, Mouse, Off 
	Return

Mouse: 
	Send {WheelUp}
	MouseMove, 200, 0, 0, R
	Return 
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

9

Re: AHK:одновременные действия

serzh82saratov спасибо большое

10 (изменено: ninja__go, 2018-08-05 12:53:21)

Re: AHK:одновременные действия

Остался только один вопрос: в строчке

MouseMove, 200, 0, 0, R

что означает "R"? мне просто надо все это под библиотеку DD подстроить.
p.s. можете не отвечать, я сам нашел ответ.
p.s.s. еще раз спасибо