Добро пожаловать на форум проекта RP GameWorld!

Flash

Полная инструкция по AutoHotKey

Recommended Posts

AutoHotkey_logo.gif

>> Скачать <<

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


Например, если запустить этот скрипт, при нажатии на кнопку home будет набрано слово hello.

home:: send, hello

Для того чтобы написать что либо в игровой чат нужно эмулировать нажатие F6, для этого в коде бинда берём F6 в фигурные скобки - {f6}

home:: send, {f6}hello

Таким образом нажатие home отправит слово hello в игровой чат, что бы сообщение сразу отправилось добавляем в конец {enter}, для отступа - {space}, например удобно что бы после команды /id оно сразу сделало отступ, добавляем {space} в конец строки.

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

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

 

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

^a:: send, hello

Что бы текст набирался моментально, на windows XP нужно использовать sendplay вместо send, на windows 7 и vista - sendinput вместо send.

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

!b::sendplay, {f6}Здравствуйте, меня зовут Кенджи{enter}sleep 1100sendplay, {f6}/me улыбнулся{enter}exit

В этом случае при нажатии alt и b будет введено и отправлено две фразы в чат, после первой фразы будет задержка на 1.1сеунду, что позволит обойти антифлуд.

Начало каждого бинда следует начинать со строки, которая сделает бинд не активным вне игры GTA:SA.

#IfWinActive GTA:SA:MP

Если вы хотите ставить бинд на паузу используйте команду pause, ниже кнопка клавиатуры end ставит бинд на паузу.

end:: pause

Share this post


Link to post
Share on other sites

Список клавиш и кнопок мыши/джойстика

Мышь (работает только с Windows NT/2000/XP)

LButton - левая кнопка мыши

RButton - правая кнопка мыши

MButton - средняя кнопка мыши (или колесо)

WheelDown - поворот колеса мыши "вниз"

WheelUp - поворот колеса мыши "вверх"

Поддерживается только Windows 2000/XP:

XButton1 - четвертая кнопка мыши, боковая

XButton2 - пятая кнопка мыши, боковая

Клавиатура

Примечание: названия буквенных и цифровых клавиш точно такие же, как и сами символы этих клавиш. То есть, клавиша "b" записывается как b, а клавиша "5" как 5.

Space - пробел

Tab

Enter (или Return)

Escape (или Esc)

Backspace (или BS)

Delete (или Del)

Insert (или Ins)

Home

End

PgUp

PgDn

Up

Down

Left

Right

ScrollLock

CapsLock

NumLock

NumpadDiv - слэш "/"

NumpadMult - звездочка "*"

NumpadAdd - плюс "+"

NumpadSub - минус "-"

NumpadEnter - клавиша "Numpad-Enter"

Следующие названия клавиш используются, когда Numlock выключен:

NumpadDel

NumpadIns

NumpadClear - та же кнопка, что и Numpad5 на клавиатуре

NumpadUp

NumpadDown

NumpadLeft

NumpadRight

NumpadHome

NumpadEnd

NumpadPgUp

NumpadPgDn

Эти названия клавиш используются при включенном Numlock'e:

Numpad0

Numpad1

Numpad2

Numpad3

Numpad4

Numpad5

Numpad6

Numpad7

Numpad8

Numpad9

NumpadDot - "Numpad-точка"

С F1 по F24 - двенадцать или более функциональных клавиш, на большинстве клавиатур представлены в самом верхнем ряду.

AppsKey - клавиша, вызывающая контекстное меню файла/программы, как при правом клике мышкой.

LWin - левая клавиша "Windows"

RWin - правая клавиша "Windows"

Control (или Ctrl)

Alt

Shift

Примечание: в большинстве случаев работа со следующими шестью клавишами не поддерживается под Windows 95/98/Me. Используйте в этом случае вариант их записи, приведенный выше, вместо следующего:

LControl (или LCtrl) - левый "Сontrol"

RControl (или RCtrl) - правый "Сontrol"

LShift

RShift

LAlt - левый "Alt"

RAlt - правый "Alt". Примечание: если на вашей клавиатуре вместо клавиши RAlt сделана клавиша AltGr, вы можете использовать следующую запись данной клавиши: <^>! Также заметим, что клавишу AltGr можно записать как сочетание клавиш "LControl & RAlt::".

PrintScreen

CtrlBreak

Pause

Break

Help - довольно редкая клавиша, присутствует далеко не на всех клавиатурах. И работает совсем не как F1.

Sleep - предупреждаем, что клавиша "Sleep" на некоторых клавиатурах не работает под этой записью.

Клавиши расширенных функций Мультимедийных и Интернет-клавиатур:

Browser_Back

Browser_Forward

Browser_Refresh

Browser_Stop

Browser_Search

Browser_Favorites

Browser_Home

Volume_Mute

Volume_Down

Volume_Up

Media_Next

Media_Prev

Media_Stop

Media_Play_Pause

Launch_Mail

Launch_Media

Launch_App1

Launch_App2

Запись вида SCnnn, где nnn - это сканкод клавиши, позволяет нам работать с остальными клавишами, не упоминавшимися выше. Подробнее об этом - см. ниже.

Возможна запись VKnn, где nn является шестнадцатиричным виртуальным кодом клавиши. Несмотря на то, что этот редко используемый метод поддерживается всеми версиями программы, только с версии 1.0.38.02 и выше для некоторых типов горячих клавиш реализовано предотвращение отслеживания их функцией "keyboard hook" (обработчик клавиатурных прерываний). Например, следующая комбинация клавиш не использует обработчик клавиатурных прерываний (keyboard hook), и как следствие может быть запущена нажатием как клавиши Home, так и NumpadHome:

^VK24::MsgBox Вы нажали Home или NumpadHome`, удерживая клавишу Control.

Джойстик

Joy1 - Joy32: кнопки джойстика. Для удобства определения номеров кнопок вашего джойстика был создан специальный тест-скрипт (см. ссылку в оригинале статьи). Обратите внимание, что такие префиксы, как ^ (control) и + (shift) здесь не поддерживаются (тем не менее, команда GetKeyState может использоваться). Также обратите внимание, что нажатия клавиш джойстика всегда обращены напрямую в активное окно, поддерживающее приём таких сигналов.

Несмотря на то, что следующие управляющие элементы джойстика не могут использоваться как горячие клавиши, их можно использовать при помощи команды GetKeyState:

JoyX, JoyY, и JoyZ: где X (горизонтальная), Y (вертикальная), и Z (высота/глубина) - оси координат джойстика.

JoyR: руль джойстика или 4-ая ось джойстика.

JoyU и JoyV: 5-ая и 6-ая оси джойстика.

JoyPOV: the point-of-view (hat) control (POV control, "шляпка" или "переключатель видов"; например, вид глазами игрока).

JoyName: название джойстика.

JoyButtons: количество кнопок, поддерживаемых джойстиком (не всегда точное).

JoyAxes: количество направлений, поддерживаемых джойстиком.

JoyInfo: генерирует строку, состоящую из нуля или более знаков, иллюстрирующих возможности джойстика: Z (имеется Z направление), R (имеется R направление), U (имеется U направление), V (имеется V направление), P (имеется POV control), D (POV control имеет ограниченное количество дискретных/промежуточных настроек), C (POV control передает непрерывные/точные данные). Пример строки: ZRUVPD.

Несколько джойстиков: если вы используете несколько джойстиков одновременно, то для более точной адресации команды используйте при записи номер джойстика перед именем клавиши джойстика. Например запись 2joy1 будет обозначать первую кнопку второго джойстика.

Примечание: если у вас возникли проблемы с определением скриптами вашего джойстика, вы можете попробовать изменить номер джойстика с 1 на что-нибудь другое, даже несмотря на то, что к компьютеру у вас подключен всего один. Неизвестно, по каким мистическим причинам, но иногда это вместе с использованием нашего тестового скрипта даёт положительный результат.

Использование джойстика как мыши: специальный скрипт превращает ваш джойстик в мышь (см. ссылку в оригинале статьи).

Дистанционные пульты управления

Получение сигналов от дистанционных пультов управления с помощью специального клиентского скрипта WinLIRC - см. ссылку в оригинале статьи.

Специальные клавиши

Если ваши клавиатура или мышь имеют клавиши, не перечисленные выше, вы всё равно имеете возможность использовать их в качестве горячих клавиш, используя следующий метод (необходимы Windows NT/2000/XP или выше):

1. Вначале убедитесь, что у вас проинсталлирован обработчик клавиатурных прерываний (keyboard hook) - #InstallKeybdHook.

2. Запускаем этот скрипт, и затем двойным кликом по его иконке в системном трее открываем его главное окно.

3. Затем нажимаем ту самую клавишу, которую пытаемся определить.

4. Далее открываем меню окошка скрипта "View - Key history and script info" и прокручиваем записи до самого низа.

5. Где-то внизу этого лога должны быть записи по нажатию-отпусканию нашей искомой клавиши. Сам лог обновляется нажатием клавиши F5. Примечание: если после нажатия искомой клавиши никаких записей в логе не появилось, значит такая клавиша не распознаётся данной программой. В этом случае вы не можете использовать данную клавишу как горячую, т.к. либо драйвер вашей клавиатуры, либо сама её "железная" составляющая даёт сигнал слишком низкого уровня, недоступного для AutoHotkey. В случае со "злобными" драйверами, вы можете попробовать либо перенастроить сами "родные" драйвера, либо заменить их на другие, более дружественые, например такие, как дефолтные клавиатурные драйвера Windows.

6. Если ваша клавиша успешно определилась, обратите внимание на трехзначное шестнадцатеричное число во второй колонке лога (например, 159).

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

SC159:: ; Замените 159 на индекс вашей клавиши.

MsgBox, Вы нажали клавишу %A_ThisHotKey%

Return

Как альтернативный способ или в добавление к описанному выше: для переназначения какой-либо клавиши в нашу "искомую" клавишу, используйте запись вида #c::Send {vkFFsc159}. Замените 159 на индекс вашей клавиши, определённый вышеописанным методом. При необходимости замените буквы FF на те, что отображены в первой колонке лога "View-Key history" (код вашей виртуальной клавиши).

© Dmitrij_Medvedev

Share this post


Link to post
Share on other sites

Приветствую, уважаемые читатели и игроки сервера GameWorld.

Данная статья о том, как правильно настроить свой AHK для хорошей и удобной работы (без ошибок и прочего).

В моей практике часто встречались вопросы о том, как настроить правильно свои бинды, чтобы не было что-то подобного:

 

m2BZ.png

 

Либо:

 

A5cWjvTIfQ.png

 

И так. Пошаговая инструкция, специально для вас, по пунктам.

 

1. Скачиваем качественную программу с официального сайта: ссылка (кликаем)

 

2. Устанавливаем программу и открываем папку с установленным AutoHotKey.

 

3. Нажимаем " Installer ".

 

7wb3Bu.png

 

4. Нажимаем " Modify ".

 

2EC04.png

 

5. Нажимаем " ANSI 32-bit ".

 

DKikI.png

 

6. Оставляем всё как есть. Нажимаем " Next ".

 

7LoxgV2R.png

 

7. Убираем все галочки и нажимаем " Apply ".

 

rpBoRwtCq.png

 

Готово. Пробуем. Запускаем. Радуемся.

Кому то это, возможно, пригодится.

Приятной игры на сервере.

 

Share this post


Link to post
Share on other sites

Всем привет.
Если вы пользуетесь скриптами Autohotkey и хотите упростить себе игру, помимо горячих клавиш вы можете использовать "горячие строки", иными словами - автозамену.

 

Делается это очень просто.
:?:текст1::текст2
- данный кусочек скрипта заменит "текст1" на "текст2", когда вы введете его в чате и нажмете пробел или Enter.

 

Примеры:
:?:/админы::/admins
:?:/помощь::/help
:?:/рюкзак::/bag
:?:/я::/me
:?:(Слово удалено системой)::пипец
; можно даже автоматическую самоцензуру делать.

 

Обратите внимание, что горячие клавиши все равно удобнее, но если вам не хватает кнопок на клавиатуре, горячие строки могут вам пригодиться.

 

Если в первой части бинда добавить знак звездочки :?*:текст1::текст2 - то автозамена произойдет сразу при вводе, не дожидаясь пробела или enter.

Если все ваши горячие строки не являются префиксами других строк, то этот вариант может быть удобнее.

Edited by Kangaroo

Share this post


Link to post
Share on other sites

Иногда бывает что AutoHotKey сворачивает игру при нажатии кнопки.

 

 

  • Пример :

Numpad6::SendInput, {f6} РУКИ В ГОРУ Вы арестованы!{enter}Sleep 1200SendInput, {f6} В случае неподчинения, проявления агрессии - помните!{enter}Sleep 1200SendInput, {f6} - У ВАС ДВЕ КОЛЕННЫЕ ЧАШЕЧКИ!{enter}Sleep 1200SendInput, {f6} На то, чтобы сдаться я даю Вам 10 секунд или я начну стрелять.{enter}Return

 

  • Решение :

В конце предложения если стоит восклицательный или вопросительный знак, то нужно взять его в скобочку {!}

 

Numpad6::SendInput, {f6} РУКИ В ГОРУ Вы арестованы{!}{enter}Sleep 1200SendInput, {f6} В случае неподчинения, проявления агрессии - помните{!}{enter}Sleep 1200SendInput, {f6} - У ВАС ДВЕ КОЛЕННЫЕ ЧАШЕЧКИ{!}{enter}Sleep 1200SendInput, {f6} На то, чтобы сдаться я даю Вам 10 секунд или я начну стрелять.{enter} Return

Тоже самое проделывается с теми предложениями где не высвечиваются символы, к примеру как запятая .

 

Edited by Surоviy

Share this post


Link to post
Share on other sites

Очередная статья по удобству использования програмы AutoHotKey.

 

Я расскажу и покажу как можно включать/отключать бинды и переключать их между собой, не сворачивая при этом игру. То есть, если у вас имеется 2 бинда, и вы хотите быстро переключить их, то не нужно будет сворачиваться, а нажать всего-лишь одну кнопку и бинды "поменяются местами".

 

Начнём.

 

Пример. У меня два бинда, которые несут названия " HELPERS " и " AutoSchool ".

 

В моём случае, я забиндил переключение биндов на клавишу F1.

 

Сам скрипт:

 

Для бинда " AutoSchool ".
 
F1::
Run, C:\Users\Дмитрий\Desktop\AHK\HELPERS.ahk
ExitApp
Return
 
Для бинда " HELPERS ".
 
F1::
Run, C:\Users\Дмитрий\Desktop\AHK\AutoSchool.ahk
ExitApp
Return
 
Путь к биндам указывайте свой и он должен быть полным.
 
Тоесть и в первом бинде и во втором мы пишем данный скрипт, указывая путь второго бинда.
Думаю вам не составит большого труда сделать это. Это очень удобно.
 
Отдельное спасибо Кенгурятине за помощь.

 

 

 

Edited by LUCADELRIO

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.