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. Проверка работы
- Запустите
RunescapeToggle.ahkдвойным кликом или через контекстное меню «Run Script». - Откройте RuneScape.
- Убедитесь, что при нажатии левой кнопки мыши персонаж идёт вперёд (W-спам).
- Нажмите Shift+2, в чате появится «Скрипт выключен», и движение остановится.
- Нажмите 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.