В данном посте я расскажу, как подвесить команды чата или последовательность действий Minecraft на клавиши. Для этих целей я буду использовать AutoHotkey.

Короткий лист действий:

  1. Скачиваете Installer for AutoHotkey_L

  2. Устанавливаете скачанный файл (32 или 64 бита Unicode)

  3. Создаете на рабочем столе AutoHotkey Script

  4. Кликаете по файлу правой кнопкой, выбираете Edit Script

  5. Редактируете скрипт на свой вкус, я расскажу об этом ниже

  6. Сохраняете файл

  7. Открываете полученный скрипт двойным кликом по нему (в панели задач появится значок зеленого H), или, в случае, если вы редактировали уже запущенный скрипт — кликаете правой кнопкой по значку программы и выбираете Reload This Script

Теперь самое интересное — скрипт, который будет делать нашу магию. Я приведу здесь свой, с комментариями — я предлагаю сначала использовать его, подправив его под свои нужды, как “скелет”, заготовку, прототип.

Всю нужную информацию, обозначения клавиш, прочее, вы найдете в пункте Help программы AutoHotkey.

; ";" — обозначения комментариев, строка, начиная с этого символа, является комментарием.
; самое начало — сделаем скрипт активным только тогда, когда активное окно — Minecraft
#IfWinActive Minecraft
XButton1:: Send t/tp{Space}
; итак, синтаксис: сначала идёт клавиша (XButton1 — четвертая кнопка мыши),
; далее без пробела идут два двоеточия,
; далее идёт действие, которое должно выполнятся при нажатии этой клавиши
; в данном случае — Send (послать)
; t (начало чата), /tp — команда телепорта, {Space} — пробел
; в итоге при нажатии четвертой клавиши мыши у вас открывается окно чата
; с набранным в нём "/tp ", вам остаётся ввести ник человека, к которому вы хотите телепортироваться, и нажать Enter
Numpad0:: Send t/home{Enter}
; здесь при нажатии клавиши 0 Numpad открывается окно чата, вводится команда "/home",
; и нажимается клавиша Enter, в итоге вы телепортируетесь домой
Numpad1:: Send t/pwarp 1{Enter}
; на сервере, где я играю, мне разрешено иметь 4 персональных warp, точки для быстрого телепорта
; клавиши Numpad 1-4 отвечают у меня за телепорт на эти точки
Numpad2:: Send t/pwarp 2{Enter}
Numpad3:: Send t/pwarp 3{Enter}
Numpad4:: Send t/pwarp 4{Enter}
Numpad5::
; пустые заготовки, они не мешают, зато позволяют быстро при желании повесть что-либо на эти кнопки
Numpad6::
Numpad7:: Send t/ch l{Enter}
Numpad8:: Send t/ch t{Enter}
Numpad9:: Send t/ch d{Enter}
NumpadDot:: ;(.)
Send t/spawn{Enter}
return
; как видите, сразу за выбором кнопки у меня идет комментарий, какая это клавиша на клавиатуре
; из-за этого я решил разбить команды, выполняемые при нажатии на эту клавишу на несколько строк
; для этого просто начните писать действия на следующей после объявления клавиши строке
; и в конце не забудьте поставить return, что означает конец действий, выполняемых при нажатии на эту клавишу
NumpadDiv:: ;(/)
Send t/shop{Space}browse{Space}buy{Space}
return
; мои команды для просмотра магазина, незаконченные, чтобы я мог выбрать страницу для просмотра
; как правило, в магазине несколько страниц просмотра товаров
; я не представляю, что бы я делал без скриптов
NumpadMult:: ;(*)
Send t/shop{Space}browse{Space}
return
NumpadSub:: ;(-)
Send t/shop{Space}browse{Space}sell{Space}
return
NumpadEnter:: Send t/deathtp{Enter}
NumpadAdd:: ;(+)
; вот тут начинается интересное
; этот скрипт я сделал для прокачки acrobatics на моём сервере
; на моём сервере включен плагин mcmmo
; что делает этот скрипт:
; 1. кликает по кнопке respawn
; 2. телепортируется к высокой точке
; 3. зажимает кнопку вперед на секунду, я падаю с высокой точки, и у меня остаётся минимальное количество жизни
; 4. снова телепортируется к высокой точке
; 5. снова зажимает кнопку движения на секунду, персонаж умирает
; цикл прекращён, скрипт возвращается к первому шагу
; внутри расставлены задержки, Sleep, в миллисекундах (тысяча миллисекунд — одна секунда)
; без них скрипт проходился бы за полсекунды, и ничего не успевал сделать
Loop
; Loop — повторение, цикл, чтобы действия выполнялись без моего вмешательства — включил и забыл
{
MouseClick
Sleep 5000
Send t/home{Enter}
; телепорт к высокой точке
Sleep 2000
Send {w down}
; зажать/отжать кнопку движения вперед, чтобы упасть с высокой точки
Sleep 1000
Send {w up}
Sleep 1300
MouseClick
; клик на всякий случай, если персонаж уже мертв — просто, чтобы сэкономить время
Send t/home{Enter}
Sleep 2000
Send {w down}
Sleep 1000
Send {w up}
Sleep 2000
} Until GetKeyState("Capslock", "T")
; тут мы говорим скрипту, чтобы он прекратил выполняться при нажатом CapsLock
; т.е., когда вам нужно прекратить выполнение скрипта — нажмите CapsLock и подождите, пока он дойдет до конца
return
#IfWinActive

Я даю здесь заготовку, подразумевая, что у вас есть голова на плечах, чтобы разобраться с настройкой под себя самостоятельно.