иван иванов
Ученик
(243)
2 месяца назад
Для выполнения указанного сценария в AutoHotkey (AHK), можно написать скрипт, который будет выполнять последовательность нажатий и действий с мышкой. Вот пример кода, который выполняет требуемую последовательность:
#Persistent ; Держим скрипт активным
#MaxThreadsPerHotkey 1 ; Ограничиваем выполнение по одному разу за нажатие
SetDefaultMouseSpeed, 10 ; Скорость движения мыши
F1:: ; Скрипт активируется при нажатии F1
{
; Зажимаем "W"
Send, {w down}
Sleep, 1000 ; Ждем 1 секунду
; Нажимаем "Space"
Send, {Space}
; Отпускаем "W"
Send, {w up}
; Поворачиваем мышку влево и зажимаем "A"
Send, {a down}
MoveMouse(-100, 0, 50) ; Плавное движение мыши влево
Sleep, 500 ; Ждем пол секунды
; Отпускаем "A"
Send, {a up}
; Зажимаем "Ctrl" и нажимаем "Ъ"
Send, {Ctrl down}
Sleep, 500
Send, {Ctrl up}{ъ}
; Поворачиваем мышку вправо и зажимаем "D"
Send, {d down}
MoveMouse(100, 0, 50) ; Плавное движение мыши вправо
Sleep, 500 ; Ждем пол секунды
Send, {d up}
; Поворачиваем мышку влево и зажимаем "A" 3 раза попеременно с "D"
Loop, 3
{
; Зажимаем "A" и поворачиваем влево
Send, {a down}
MoveMouse(-100, 0, 50) ; Плавное движение мыши влево
Sleep, 500 ; Ждем пол секунды
Send, {a up}
; Зажимаем "D" и поворачиваем вправо
Send, {d down}
MoveMouse(100, 0, 50) ; Плавное движение мыши вправо
Sleep, 500 ; Ждем пол секунды
Send, {d up}
}
return
}
MoveMouse(x, y, speed)
{
MouseMove, %x%, %y%, %speed%, R
}
Описание работы скрипта:
Нажатие клавиши "W" на 1 секунду.
Нажатие пробела ("Space").
Отпускание "W".
Поворот мыши влево на 100 пикселей и одновременное зажатие "A".
Отпускание "A" через пол секунды.
Зажимается "Ctrl", ждём пол секунды и нажимается "Ъ".
Поворот мыши вправо на 100 пикселей и одновременное зажатие "D".
Попеременное зажатие "A" и "D" с поворотом мыши, повторяется 3 раза.
Настройка скрипта:
MoveMouse(x, y, speed) — это функция для плавного движения мыши. Параметры x, y — смещение по осям, а speed — скорость перемещения. Вы можете подкорректировать значения под свои нужды.
Если нужно изменить скорость движения мыши, настройте переменную SetDefaultMouseSpeed.
Запуск:
Сохраните этот скрипт в файл с расширением .ahk.
Установите AutoHotkey, если он ещё не установлен.
Запустите скрипт, нажав дважды на сохранённый файл.
Для активации нажмите F1.
LolskУченик (141)
2 месяца назад
можно сделать так чтобы при нажатие f1 он включался и про повторном нажатии он останавливался?
LolskУченик (141)
2 месяца назад
а также как настроить скорость вращение мышки?, а то слишком медленно
иван ивановУченик (243)
2 месяца назад
Да, можно сделать так, чтобы при нажатии клавиши F1 скрипт включался, а при повторном нажатии останавливался. Для этого нужно использовать переменную-флаг, которая будет отслеживать текущее состояние (включен или выключен скрипт). Пример обновленного скрипта:
#Persistent
SetMouseDelay, 10 ; Устанавливаем задержку между движениями мышки для плавности
toggle := false ; Переменная для включения/выключения
F1:: ; Скрипт активируется и деактивируется при нажатии F1
{
toggle := !toggle ; Переключаем флаг
if (toggle) ; Если скрипт включен
{
Loop
{
if (!toggle) ; Если флаг выключен, прерываем цикл
break
; Зажимаем "W"
Send, {w down}
Sleep, 1000 ; Ждем 1 секунду
иван ивановУченик (243)
2 месяца назад
; Нажимаем "Space"
Send, {Space}
; Отпускаем "W"
Send, {w up}
; Плавное поворачивание мышки влево
Loop, 50 ; Увеличьте количество итераций для более плавного поворота
{
MouseMove, -5, 0, 0
Sleep, 10
if (!toggle) ; Проверяем флаг во время выполнения движения мышки
break
}
; Зажимаем "A"
Send, {a down}
Sleep, 500 ; Ждем 0.5 секунды
Send, {a up} ; Отпускаем "A"
; Зажимаем "Ctrl"
Send, {Ctrl down}
Sleep, 500
Send, {Ctrl up}
; Нажимаем "Ъ"
Send, {sc027} ; Код для русской клавиши "Ъ"
иван ивановУченик (243)
2 месяца назад
; Цикл нажатий "A" и "D" с движениями мышки
Loop, 3
{
; Плавное движение мышки вправо
Loop, 50
{
MouseMove, 5, 0, 0
Sleep, 10
if (!toggle) ; Проверяем флаг во время выполнения движения мышки
break
}
; Зажимаем "D" на полсекунды
Send, {d down}
Sleep, 500
Send, {d up}
; Плавное движение мышки влево
Loop, 50
{
MouseMove, -5, 0, 0
Sleep, 10
иван ивановУченик (243)
2 месяца назад
if (!toggle) ; Проверяем флаг во время выполнения движения мышки
break
}
; Зажимаем "A" на полсекунды
Send, {a down}
Sleep, 500
Send, {a up}
if (!toggle) ; Проверяем флаг внутри цикла
break
}
if (!toggle) ; Проверяем флаг после окончания цикла
break
}
}
return
}
иван ивановУченик (243)
2 месяца назад
Что изменено:
Переменная toggle — флаг, отслеживающий, включен или выключен скрипт.
Проверка toggle в циклах и движениях — на каждом этапе работы скрипта проверяется состояние флага. Если toggle становится false, скрипт останавливается.
Нажатие F1 теперь не только запускает, но и останавливает выполнение скрипта.
Теперь, при повторном нажатии F1, скрипт остановится, прервав выполнение текущей операции.
иван ивановУченик (243)
2 месяца назад
Чтобы настроить скорость вращения мышки в скрипте, можно изменить два параметра:
Количество пикселей, на которое перемещается мышка за одну итерацию. Увеличение этого значения приведет к более быстрому повороту.
Время задержки между итерациями (Sleep). Уменьшение задержки ускорит перемещение мышки.
Изменим скрипт для настройки скорости вращения:
иван ивановУченик (243)
2 месяца назад
#Persistent
SetMouseDelay, 0 ; Устанавливаем задержку между движениями мышки для плавности
toggle := false ; Переменная для включения/выключения
moveSpeed := 10 ; Количество пикселей, на которое мышь будет перемещаться за один шаг (увеличьте для более быстрого вращения)
rotationDelay := 5 ; Задержка между движениями мышки в миллисекундах (уменьшите для более быстрого вращения)
F1:: ; Скрипт активируется и деактивируется при нажатии F1
{
toggle := !toggle ; Переключаем флаг
if (toggle) ; Если скрипт включен
{
Loop
{
if (!toggle) ; Если флаг выключен, прерываем цикл
break
; Зажимаем "W"
Send, {w down}
Sleep, 1000 ; Ждем 1 секунду
иван ивановУченик (243)
2 месяца назад
; Нажимаем "Space"
Send, {Space}
; Отпускаем "W"
Send, {w up}
; Плавное поворачивание мышки влево
Loop, 20 ; Количество итераций (уменьшите для быстрого поворота)
{
MouseMove, -moveSpeed, 0, 0 ; Поворачиваем мышку влево на moveSpeed пикселей
Sleep, rotationDelay ; Ждем между движениями для плавности
if (!toggle) ; Проверяем флаг во время выполнения движения мышки
break
}
; Зажимаем "A"
Send, {a down}
Sleep, 500 ; Ждем 0.5 секунды
Send, {a up} ; Отпускаем "A"
иван ивановУченик (243)
2 месяца назад
; Зажимаем "Ctrl"
Send, {Ctrl down}
Sleep, 500
Send, {Ctrl up}
; Нажимаем "Ъ"
Send, {sc027} ; Код для русской клавиши "Ъ"
; Цикл нажатий "A" и "D" с движениями мышки
Loop, 3
{
; Плавное движение мышки вправо
Loop, 20 ; Количество итераций
{
MouseMove, moveSpeed, 0, 0 ; Поворачиваем мышку вправо на moveSpeed пикселей
Sleep, rotationDelay ; Ждем между движениями для плавности
if (!toggle) ; Проверяем флаг во время выполнения движения мышки
break
}
иван ивановУченик (243)
2 месяца назад
; Зажимаем "D" на полсекунды
Send, {d down}
Sleep, 500
Send, {d up}
; Плавное движение мышки влево
Loop, 20
{
MouseMove, -moveSpeed, 0, 0 ; Поворачиваем мышку влево на moveSpeed пикселей
Sleep, rotationDelay
if (!toggle) ; Проверяем флаг во время выполнения движения мышки
break
}
; Зажимаем "A" на полсекунды
Send, {a down}
Sleep, 500
Send, {a up}
LolskУченик (141)
2 месяца назад
я немножко запутался в этом обилие скрипта, что мне использовать?
иван ивановУченик (101)
2 месяца назад
; Нажимаем "Space"
Send, {Space}
; Отпускаем "W"
Send, {w up}
; Плавное поворачивание мышки влево
Loop, 20
{
MouseMove, -moveSpeed, 0, 0 ; Двигаем мышку влево
Sleep, rotationDelay
if (!toggle) ; Прерывание, если скрипт выключен
break
}
; Зажимаем "A" на 0.5 секунды
Send, {a down}
Sleep, 500
Send, {a up}
иван ивановУченик (101)
2 месяца назад
; Зажимаем "Ctrl" и "Ъ"
Send, {Ctrl down}
Sleep, 500
Send, {Ctrl up}
Send, {sc027} ; Нажимаем "Ъ"
; Цикл "A" и "D" с движением мышки
Loop, 3
{
; Вправо
Loop, 20
{
MouseMove, moveSpeed, 0, 0 ; Вправо
Sleep, rotationDelay
if (!toggle)
break
}
; Зажимаем "D"
Send, {d down}
Sleep, 500
Send, {d up}
иван ивановУченик (101)
2 месяца назад
; Влево
Loop, 20
{
MouseMove, -moveSpeed, 0, 0 ; Влево
Sleep, rotationDelay
if (!toggle)
break
}
; Зажимаем "A"
Send, {a down}
Sleep, 500
Send, {a up}
}
if (!toggle)
break
}
}
return
}
иван ивановУченик (101)
2 месяца назад
Как настроить скорость вращения мышки:
moveSpeed — отвечает за количество пикселей, на которые мышка перемещается при каждом шаге (например, 10). Чем выше это значение, тем быстрее поворачивается мышка.
rotationDelay — задержка в миллисекундах между каждым шагом перемещения (например, 5 мс). Чем меньше задержка, тем быстрее будет перемещаться мышка.
Тебе нужно изменить два параметра:
Увеличь moveSpeed для более быстрого движения.
Уменьши rotationDelay для уменьшения пауз между шагами и ускорения движения.
Теперь это компактный и понятный скрипт, с которым легко работать!
LolskУченик (141)
2 месяца назад
повороты мышки стали не плавными, и скрипт стал зациклинным, f1 только запускает но не останавливает
иван ивановУченик (101)
2 месяца назад
RunScript:
; Зажимаем "W"
Send, {w down}
Sleep, 1000 ; Ждем 1 секунду
; Нажимаем "Space"
Send, {Space}
; Отпускаем "W"
Send, {w up}
; Плавное поворачивание мышки влево
Loop, 20
{
MouseMove, -moveSpeed, 0, 0, R ; Двигаем мышку влево
Sleep, rotationDelay
if (!toggle) ; Проверяем флаг
return
}
; Зажимаем "A" на 0.5 секунды
Send, {a down}
Sleep, 500
Send, {a up}
; Зажимаем "Ctrl" и "Ъ"
Send, {Ctrl down}
Sleep, 500
Send, {Ctrl up}
Send, {sc027} ; Нажимаем "Ъ"
иван ивановУченик (101)
2 месяца назад
; Цикл "A" и "D" с движением мышки
Loop, 3
{
; Вправо
Loop, 20
{
MouseMove, moveSpeed, 0, 0, R ; Вправо
Sleep, rotationDelay
if (!toggle)
return
}
; Зажимаем "D"
Send, {d down}
Sleep, 500
Send, {d up}
; Влево
Loop, 20
{
MouseMove, -moveSpeed, 0, 0, R ; Влево
Sleep, rotationDelay
if (!toggle)
return
}
; Зажимаем "A"
Send, {a down}
Sleep, 500
Send, {a up}
}
return