Тема: AHK: Конвеер для горячих клавиш
АНК только осваиваю, вот решил попытаться написать скрипт для любимой игры:
Process, Priority, , High ;скрипт с высоким приоритетом
Critical
$1::
{
SendInput,{F6}
SendInput,{F2}
SendInput,{1}
Sleep, 45
SendInput,{F1}
Sleep, 855
Return
}
$2::
{
SendInput,{F6}
SendInput,{F2}
SendInput,{2}
Sleep, 45
SendInput,{F1}
Sleep, 855
Return
}
$3::
{
SendInput,{F6}
SendInput,{F2}
SendInput,{3}
Sleep, 45
SendInput,{F1}
Sleep, 855
Return
}
$4::
{
SendInput,{F6}
SendInput,{F2}
SendInput,{4}
Sleep, 45
SendInput,{F1}
Sleep, 855
Return
}
$5::
{
SendInput,{F6}
SendInput,{F2}
SendInput,{5}
Sleep, 45
SendInput,{F1}
Sleep, 855
Return
}Клавиши F1, F2, F6 - это просто тоглы в игре, придающие умениям различный эффект.
Клавиши 1,2,3. . . 10 - собственно умения (в скрипте я привел только 5 штук, чтобы не выкладывать простыню).
Сначала я не знал про Critical и испытывал неудобства при одновременно или быстром последовательном нажатии клавиш 1-5. Но с Critical получился очень приятный эффект "конвеера" или "буфера", т.е. все нажатия клавиш 1-5 выполняются последовательно (в том порядке в каком я их нажимал).
Но мне очень хотелось бы изменить размер этого конвеера до значения 2. Т.е. при последовательном очень быстром нажатии клавиш 1,2,3,4,5 (ну или в любой другой последовательности) выполнялось только 2 потока (если конечно я правильно понимаю значение этого слова), а остальные нажатия просто игнорировались до тех пор пока не выполниться хотябы первое нажатие.
Я прочитал то что нашел про Crtical, #MaxThreads, #MaxThreadsPerHotkey, #MaxThreadsBuffer, Thread interrup, но для моего ума слишком мало простых примеров, чтобы понять куда это вписывать и как можно использовать. Посему прошу помощи более опытных пользователей.

