Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Есть кто разбирается в скрипте ahk?

ноу нэйм Ученик (150), на голосовании 1 месяц назад
Короче говоря нужен ahk который при нажатии Q будет чередовать клавиши 1 2 3, как в кс.
Чтобы один раз нажал Q получил 1, если еще раз нажму то получу 2 и еще раз Q то 3, а потом по новой 1 2 3. Есть у меня скрипт но он только 1 и 2 чередует. Помогите пж, не разбираюсь. Буду очень благодарен!!!!!



; Initialize the count variable
count := 0

; This hotkey will be triggered when you press Q
$q::

; Increase the count every time you press the Q key
count := count + 1

; If the count is even, then send key 1, else send key 2
if (Mod(count, 2) = 0)
{
Send, {1 down}
Sleep, 100
Send, {1 up}
}
else
{
Send, {2 down}
Sleep, 100
Send, {2 up}
}

return
Голосование за лучший ответ
XD Знаток (368) 2 месяца назад
; Инициализируем переменную count
count := 0

; Это горячая клавиша будет срабатывать, когда вы нажимаете Q
$q::
; Увеличиваем count каждый раз, когда вы нажимаете клавишу Q
count := Mod(count + 1, 3)

; Отправляем соответствующую клавишу в зависимости от count
if (count = 0) {
Send, {1 down}
Sleep, 100
Send, {1 up}
} else if (count = 1) {
Send, {2 down}
Sleep, 100
Send, {2 up}
} else {
Send, {3 down}
Sleep, 100
Send, {3 up}
}
return
ноу нэймУченик (150) 2 месяца назад
ЛУЧШИЙ!!!!!!!!!! СПАСИБО ОГРОМНОЕЕЕЕЕЕЕЕЕЕ
XDЗнаток (368) 2 месяца назад
не зачто броу
Юлия Скрипниченко Мастер (1992) 2 месяца назад
Ваш текущий скрипт переключает между клавишами 1 и 2, но не реализует переключение между 1, 2 и 3. Чтобы чередовать клавиши 1, 2 и 3 при каждом нажатии на клавишу Q, вы можете изменить скрипт следующим образом:

### Обновленный скрипт AHK

```ahk
; Initialize the count variable
count := 0

; This hotkey will be triggered when you press Q
$q::

; Increase the count every time you press the Q key
count := count + 1

; Determine which key to send based on the count
if (Mod(count, 3) = 1)
{
Send, {1 down}
Sleep, 100
Send, {1 up}
}
else if (Mod(count, 3) = 2)
{
Send, {2 down}
Sleep, 100
Send, {2 up}
}
else
{
Send, {3 down}
Sleep, 100
Send, {3 up}
}

return
```

### Пояснение к коду:

1. **`count := 0`**: Инициализируем переменную `count`, которая будет отслеживать количество нажатий на клавишу Q.
2. **`$q::`**: Определяет горячую клавишу Q.
3. **`count := count + 1`**: Увеличиваем счётчик каждый раз, когда нажимается клавиша Q.
4. **`if (Mod(count, 3) = 1)`**: Используем оператор `Mod` для деления счётчика на 3 и проверки остатка. Это позволяет чередовать между 1, 2 и 3.
5. **`Send, {1 down}`**: Отправляем нажатие клавиши 1.
6. **`Sleep, 100`**: Ждём 100 миллисекунд.
7. **`Send, {1 up}`**: Отпускаем клавишу 1. То же самое происходит и для клавиш 2 и 3 в других условиях.

С этим скриптом при каждом нажатии на Q будет переключаться между клавишами 1, 2 и 3.
Похожие вопросы