Как быстро включать и выключать RuneScript с помощью AutoHotkey

RuneScript — это удобный инструмент, который позволяет автоматизировать рутинные действия в RuneScape.
Однако, чтобы не нарушать правила игры и контролировать поведение бота, нужно уметь быстро деактивировать и потом снова активировать скрипт в любой момент.
Ниже приведено подробное руководство, как именно это реализовать с помощью AutoHotkey.

Что мы получим в итоге

  • При запуске игры скрипт будет автоматически включён.
  • Нажатие Shift+1 активирует скрипт и пишет в чат: «Скрипт включён».
  • Нажатие Shift+2 деактивирует его и пишет в чат: «Скрипт выключен».
  • Все операции выполняются без потери фокуса окна игры и без лишних CPU-циклов.

Шаг 1. Установка AutoHotkey

1. Перейдите на официальный сайт https://www.autohotkey.com и загрузите последнюю стабильную версию.
2. Установите её с параметрами по умолчанию.
3. Создайте на рабочем столе новый текстовый файл и дайте ему расширение .ahk, например RunescapeToggle.ahk.

Шаг 2. Базовый код-шаблон

#NoEnv
#SingleInstance Force
#InstallKeybdHook
SetWorkingDir %A_ScriptDir%

; ---------- НАСТРОЙКИ ----------
toggleKeyActivate := "+1" ; Shift + 1 — включить
toggleKeyDeactivate := "+2" ; Shift + 2 — выключить
chatMessageOn := "Скрипт включен"
chatMessageOff := "Скрипт выключен"

; ---------- ПЕРЕМЕННЫЕ ----------
isActive := true ; Скрипт активен сразу после запуска
WindowTitle := "RuneScape"
Return

; ---------- ГОРЯЧИЕ КЛАВИШИ ----------
Hotkey, %toggleKeyActivate%, TurnOn
Hotkey, %toggleKeyDeactivate%, TurnOff

TurnOn:
 if (!isActive) {
 isActive := true
 SendChatMessage(chatMessageOn)
 }
Return

TurnOff:
 if (isActive) {
 isActive := false
 SendChatMessage(chatMessageOff)
 }
Return

; ---------- ОСНОВНОЙ ЦИКЛ ----------
#IfWinActive, %WindowTitle%
 ; Здесь помещайте ваш основной макрос
 ~LButton::
 While (GetKeyState("LButton", "P") && isActive) {
 Send, {w down}
 Sleep, 30
 Send, {w up}
 Sleep, 30
 } Return
#IfWinActive

; ---------- ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ ----------
SendChatMessage(text) {
 WinActivate, %WindowTitle%
 Sleep, 50
 Send, t{text}{Enter}
}

Шаг 3. Проверка работы

  1. Запустите RunescapeToggle.ahk двойным кликом или через контекстное меню «Run Script».
  2. Откройте RuneScape.
  3. Убедитесь, что при нажатии левой кнопки мыши персонаж идёт вперёд (W-спам).
  4. Нажмите Shift+2, в чате появится «Скрипт выключен», и движение остановится.
  5. Нажмите Shift+1 — «Скрипт включен», движение возобновится.

Шаг 4. Добавление «мягкой» деактивации при выходе из игры

#Persistent
SetTimer, WatchForExit, 1000 ; Раз в секунду проверяем окно

WatchForExit:
IfWinNotExist, %WindowTitle%
{
 isActive := false
 ExitApp ; Полностью выгружаем скрипт
}Return

Частые вопросы (FAQ)

  • Можно ли изменить клавиши?
    Да. Замените +1 и +2 на любые сочетания: ^f1 (Ctrl+F1), !x (Alt+X) и т.д.
  • Что делать, если RuneScape обновился и заголовок окна изменился?
    Откройте «Window Spy» из меню AutoHotkey и скопируйте точный заголовок в переменную WindowTitle.
  • Безопасно ли это?
    Использование AutoHotkey не изменяет память процесса и не внедряет DLL, поэтому риск минимален.
    Тем не менее, старайтесь не использовать скрипты в публичных местах и не оставляйте их на долгое время без присмотра.

Теперь у вас есть полностью рабочий шаблон, который легко адаптировать под любые другие макросы: рыбалку, древесину, крафт и т.д.
Главное — не забывайте деактивировать скрипт в нужный момент, чтобы избежать санкций со стороны Jagex.