ФЭНДОМ


Ahk logo small

Пример использования программы AutoHotKey

Основная статья: Полезные приложения - AutoHotKey

Скрипты (далее бинды) пишутся в текстовом файле формата .ahk, где указывается кнопка и её функция.

Для того что бы создать бинд, после установки программы, кликаем правой кнопкой мыши на пустом месте рабочего стола, или в любой папке, далее выбираем создать и Autohotkey Script. Для того что бы редактировать готовый бинд необходимо нажать правой кнопкой мыши и выбрать "Edit Script".

Для того что бы забиндить несколько действий на одну кнопку необходимо использовать задержку sleep после которой идёт значение задержки в миллисекундах (1000 - 1 секунда), 1й идёт срока с кнопкой, со следующей строки пишем действие, заканчиваться всё это должно командой end, exit или return.

Полный список клавиш и кнопок мыши

Для комбинации нажатия кнопки и клавиши необходимо добавить:

ctrl - ^
alt - !
shift - +
windows - #

Таким образом, что бы забиндить фразу с одновременным нажатием ctrl и A:

^a:: send, hello

Рассмотрим примеры:

Пример: Базовый

#NoEnv
#UseHook On
#IfWinActive ahk_class FrontierDevelopmentsAppWinClass
setkeydelay, 10, 10

Разберем приведенный пример:

  • NoEnv - отменяет проверку для пустых переменных, не являются ли они переменными окружения (рекомендуется для всех новых скриптов). подробнее
  • UseHook On - заставляет скрипт использовать хук для реализации всех или некоторых горячих клавиш. подробнее
  • IfWinActive ahk_class FrontierDevelopmentsAppWinClass - проверяет, существует ли указанное окно и является ли оно активным, в данном примере на игре Elite Dangerous подробнее
  • setkeydelay, 10, 10 - задержка, которая будет возникать после каждого нажатия клавиши, посланного Send и ControlSend. (SetKeyDelay, *задержка*, *задержка на нажатие*). подробнее

Пример: Скрипт для стыковки

^2::
setkeydelay, 30, 30
Send, {1}{e}{e}{Space}{s}{Space}{q}{q}{1}
exit

Разберем приведенный пример:

  • ^2:: - одновременно нажатие ctrl+2
  • setkeydelay, 30, 30 - задержка нажатий клавиш
  • Send, {1}{e}{e}{Space}{s}{Space}{q}{q}{1} - посылает нажатия клавиш и щелчки мыши в активное окно. подробнее
  • exit - выход из текущего потока или из скрипта в целом. подробнее

Альтернативный синтаксис приведенного примера:

^2::
setkeydelay, 30, 30
send, 1
send, e
send, e
send, {Space}
send, s
send, {Space}
send, q
send, q
send, 1
exit


Для корректной работы с панелями, необходимо включить (on) в настройках графики - Отключить эффекты интерфейса

Пример: Начало прыжка в другую систему с одновременным сканированием

XButton2::
Loop 1
setkeydelay, 100, 50
{
 Send {Z}
 Send {0}
 {
  Send {RButton down}
  Sleep 8000
  Send {RButton up}
 }
 Sleep 10000
 Send {X}
}exit

Разберем приведенный пример:

  • XButton2:: - назначена для нажатия 2-я боковая клавиша мыши для выполнения скрипта
  • Loop 1 - - выполнить 1 раз
  • setkeydelay, 100, 50 - задержка нажатий
  • { - начало скрипта
  • Send {Z} - включения РСД для прыжка в другую систему (в данном примере, в игре назначена кнопка Z)
  • Send {9} - полная тяга (в данном примере, в игре назначена кнопка 9)
  • { - начало скрипта на сканирование
  • Send {RButton down} - нажатие 2 огневой к которой присвоен сканер (в данном примере, в игре назначена кнопка Правая кнопка мыши)
  • Sleep 10000 - время удержание клавиши зажатой (10 сек.)
  • Send {RButton up} - отжатие 2 огневой к которой присвоен сканер
  • } - конец скрипта на сканирование
  • Sleep 10000 - ожидание до начала обратного отсчета до прыжка в другую систему
  • Send {X} - тяга 0 (в данном примере, в игре назначена кнопка X)
  • }exit - конец скрипта

Готовые скрипты от пилотов

  • Скрипт от CMDR Sleep_extras для игры Elite Dangerous (клавиатура + мышь): скачать
В данном скрипте настройки управления в игре отличны от стандартных
Discord
Материалы сообщества доступны в соответствии с условиями лицензии CC-BY-SA , если не указано иное.