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

Бинд KF2: салюты Rock and Stone в чат одной клавишей

Killing Floor 2 поддерживает сложные бинды. В этом руководстве одна клавиша (по умолчанию V) отправляет в командный чат очередной салют из Deep Rock Galactic и так проходит по кругу 21 фразу. Это проще колеса голосовых команд, а в отличие от эмоций не мешает бегать и стрелять. Бинд только пишет текст в чат. Другие приёмы с биндами смотрите в статье SetBind-бинды чата, multi-toss dosh и suicide.

Чат с салютами Rock and Stone, отправленными клавишей V Каждая строка в командном чате отправлена одним нажатием V.

Где файл

Откройте Documents\My Games\KillingFloor2\KFGame\Config\KFInput.ini в любом текстовом редакторе (подойдёт Блокнот; удобнее Notepad++, VS Code или Sublime Text). Сначала закройте Killing Floor 2: если править файл при запущенной игре, при выходе он будет перезаписан.

Установка кода

Найдите секцию, которая начинается с [KFGame.KFPlayerInput], и не путайте её с похожей [ServerExt.ExtPlayerInput]. После существующих строк Bindings=(Name="... вставьте блок ниже. Каждый салют переназначает V на следующий, а последний замыкает круг на первый:

Bindings=(Name="salute_1",Command="TeamSay Rock on! | SetBind V salute_2",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_2",Command="TeamSay Rock and Stone... Yeeaaahhh! | SetBind V salute_3",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_3",Command="TeamSay Rock and Stone forever! | SetBind V salute_4",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_4",Command="TeamSay ROCK... AND... STONE! | SetBind V salute_5",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_5",Command="TeamSay Rock and Stone! | SetBind V salute_6",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_6",Command="TeamSay For Rock and Stone! | SetBind V salute_7",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_7",Command="TeamSay We are unbreakable! | SetBind V salute_8",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_8",Command="TeamSay Rock and roll! | SetBind V salute_9",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_9",Command="TeamSay Rock and roll and stone! | SetBind V salute_10",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_10",Command="TeamSay That's it lads! Rock and Stone! | SetBind V salute_11",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_11",Command="TeamSay Like that! Rock and Stone! | SetBind V salute_12",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_12",Command="TeamSay Yeaahhh! Rock and Stone! | SetBind V salute_13",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_13",Command="TeamSay None can stand before us! | SetBind V salute_14",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_14",Command="TeamSay Rock solid! | SetBind V salute_15",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_15",Command="TeamSay Come on guys! Rock and Stone! | SetBind V salute_16",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_16",Command="TeamSay If you don't Rock and Stone, you ain't comin' home! | SetBind V salute_17",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_17",Command="TeamSay We fight for Rock and Stone! | SetBind V salute_18",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_18",Command="TeamSay We rock! | SetBind V salute_19",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_19",Command="TeamSay Rock and Stone everyone! | SetBind V salute_20",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_20",Command="TeamSay Rock and Stone in the heart! | SetBind V salute_21",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="salute_21",Command="TeamSay Did I hear a Rock and Stone? | SetBind V salute_1",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="V",Command="salute_1",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)

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

Проверка

Запустите игру и нажмите V. Салюты идут по порядку, а позиция сохраняется между матчами и перезапусками игры.

Настройка

  • Другая клавиша: замените Name="V" в последней строке и каждое SetBind V в строках салютов (больше 20 мест) на нужную клавишу.
  • Другой текст или больше строк: правьте текст после TeamSay, добавляйте и удаляйте строки. Следите, чтобы номера salute_N оставались связаны и последняя строка замыкалась на salute_1.

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

Какой файл править для бинда Rock and Stone?
KFInput.ini в Documents\My Games\KillingFloor2\KFGame\Config, секция [KFGame.KFPlayerInput].
Почему при правке KF2 должна быть закрыта?
Если править файл при запущенной игре, она перезапишет его при выходе, и изменения пропадут.
Как использовать другую клавишу вместо V?
Замените Name="V" в последней строке и все SetBind V в строках салютов на нужную клавишу.