Бинды и консоль

Пропуск торговца в KF2 на клавишу: скрипт AutoHotkey

Страница пересказывает короткий пользовательский гайд о том, как привязать пропуск торговца в Killing Floor 2 к клавише. Игра не позволяет сделать это консольной командой, поэтому автор использует скрипт AutoHotkey (AHK) вместо того, чтобы нажимать Escape, наводить мышь и кликать по Skip вручную. Автор говорит, что скрипт адаптирован из старого гайда другого пользователя и что сам он в программировании почти ничего не понимает.

Обложка гайда Обложка оригинального гайда.

Что понадобится

Сначала нужно установить AutoHotkey (в гайде это не разбирается). Затем:

  1. Скачайте папку со скриптом (ссылка в оригинальном гайде).
  2. Поместите её в любое место.
  3. Дважды щёлкните _Traderskip script start.AHK_, чтобы запустить.

Клавиши по умолчанию:

  • F8 - пропустить торговца.
  • F10 - завершить скрипт.

В папке лежат два звуковых файла .mp3, их можно удалить, если не нравятся.

Настройка

Щёлкните правой кнопкой по файлу .AHK и выберите Edit, чтобы открыть его в Блокноте.

  • Поменяйте назначения клавиш в начале файла, key_Terminate и key_SkipTrader, на любые удобные.
  • Строка Click, 1600, 800 задаёт экранные координаты кнопки Skip. Значения по умолчанию рассчитаны на 1920x1080, для других разрешений их, возможно, придётся поменять.

Автор приводит совет из оригинального гайда: первое число - положение по горизонтали, второе - по вертикали. Если клик попадает слишком низко, уменьшите второе число, если слишком высоко - увеличьте. Если клик левее кнопки, увеличьте первое число, если правее - уменьшите.

Полный скрипт

Если не хотите ничего скачивать, весь скрипт короткий. Он задаёт две клавиши и бесконечно крутит цикл:

  • Если нажата клавиша завершения, проигрывается звук, пауза в секунду и выход.
  • Если нажата клавиша пропуска, проигрывается звук, отправляется Escape, пауза 50 мс, клик по сохранённым координатам, пауза 500 мс и ещё один левый клик.
;Key binds, change it to whatever suits you
key_Terminate:="F10"
key_SkipTrader:="F8"
;Main program loop, don't break out of it
loop {
;Menu handling
if GetKeyState(key_Terminate)
{
SoundPlay, %A_ScriptDir%\terminate.mp3
sleep 1000
ExitApp
}
if GetKeyState(key_SkipTrader)
{
SoundPlay, %A_ScriptDir%\skiptrader.mp3
Send, {Esc}
Sleep, 50
Click, 1600, 800
Sleep, 500
Send, {Blind}{LButton}
}
}

Вопросы и ответы

Зачем нужен AutoHotkey для пропуска торговца?
Пропуск торговца нельзя повесить на клавишу консольной командой, поэтому скрипт сам нажимает Escape и кликает по кнопке Skip.
Какие клавиши по умолчанию?
F8 пропускает торговца, F10 завершает скрипт.
Клик попадает не туда. Что менять?
Правьте строку Click. По умолчанию значения подходят для 1920x1080. Если клик ниже кнопки, уменьшите второе число, если выше - увеличьте; смещение влево-вправо правится первым числом.