Пропуск торговца в KF2 на клавишу: скрипт AutoHotkey
Страница пересказывает короткий пользовательский гайд о том, как привязать пропуск торговца в Killing Floor 2 к клавише. Игра не позволяет сделать это консольной командой, поэтому автор использует скрипт AutoHotkey (AHK) вместо того, чтобы нажимать Escape, наводить мышь и кликать по Skip вручную. Автор говорит, что скрипт адаптирован из старого гайда другого пользователя и что сам он в программировании почти ничего не понимает.
Обложка оригинального гайда.
Что понадобится
Сначала нужно установить AutoHotkey (в гайде это не разбирается). Затем:
- Скачайте папку со скриптом (ссылка в оригинальном гайде).
- Поместите её в любое место.
- Дважды щёлкните
_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. Если клик ниже кнопки, уменьшите второе число, если выше - увеличьте; смещение влево-вправо правится первым числом.