If you edit the file while killing floor 2 is running, it will be overwritten when the game exits.
In KFInput.ini, scroll down to (or control-f to search for) the section that starts with the line:
In the KFPlayerInput section, you should see a whole bunch of lines that look like:
Bindings=(Name=" ....
At the bottom of all these, simply paste in the following:
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)
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)
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)
Test it out
Once the KFInput.ini file has been saved, you can start up Killing Floor 2.
Every time that you hit the “V” key, you’ll write a salute to your team mates!
The salutes will cycle through in order, and this order will be maintained throughout matches and restarting the game.
Customization
If you want to change which key gets pressed, you need to change both Name=”V” and all the 20+ instances of SetBind V to whatever key you want.
To change the text or add more lines, just edit what’s there and add / remove lines as you need them. Just make sure that the numbers (e.g. salute_123) all link together and loop over when you get to the end.