• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Key Binds and Binding 101

o0|REDRUM|0o

Member
Mar 21, 2006
19
0
Let me start off by saying I don’t know everything there is to know about binding and am still learning this engine. However I have had experience with other engines. What I am going to lay out for you are the basics of binding, along with some examples, requests, and what working knowledge I possess. PLEASE if you have anything to add, or correct me, spelling, typos or whatever, SPEAK UP!
I have also not tested all of the binds, commands, ect. So there may be an error or 3. Also, some work on a listen server and not on a dedicated server, don’t ask me why.

The basics
First of all, to bind keys you have to find the correct file to do so. In your typical installation this file will be located like so..
C:\ProgramFiles\Steam\SteamApps\o0redrum0o\red orchestra\System\user.ini
User.ini is the file we are looking for.

Within this file we will mainly be dealing with the topmost section which has lines like this..
Aliases…
Aliases[8]=(Command="Jump | Axis aUp Speed=+300.0",Alias="Jump")
Aliases[9]=(Command="Crouch | Axis aUp Speed=-300.0| OnRelease UnCrouch",Alias="Duck")
Aliases[18]=(Command="Button bRun",Alias="Walking")


Aliases are just that, an alias. As you can see in the above example, Button bRun is the same as Walking. When you bind a key to walking, G=Walking, you are essentially telling the game to do Button bRun

A note on aliases. It appears that the game only allows for 39 Aliases so you will have to choose carefully on which you want to replace, more on that later.

Keybinds
C=ToggleDuck
D=StrafeRight
E=LeanRight
F=use

Keybinding is as simple as it gets. As you can see above, a letter simply equals a command.

The Advanced
Alright, now for what some symbols mean within the .ini.
; This used in front of a line will comment it out. That means the game will not read this line, example..
;C=ToggleDuck This key will now not be read and will be rendered useless. Another example would be to add notes to your user.ini If you wanted to organize your user.ini and say put your speech binds in a section.
;Speech Binds
p=speech SUPPORT 4
l=speech ENEMY 1


| This just basically allows a further command to be set, a comma if you will. An example

RightMouse=ROIronSights|set Engine.PlayerInput MouseSensitivity 0.5|Onrelease ROironsights|Onrelease set Engine.PlayerInput MouseSensitivity 2.5
In this example by holding down the rightmouse it will bring up your ironsights and lower your mouse sensitivity, then on release it lowers your ironsights and returns your sensitivity to normal.
NOTE
This bind, specifically the ironsights is buggy at best. You must hold the button down to allow the ironsight animation to finish or you will get stuck with your mouse speed reversed. Unfortunately there isn’t any way to have an ironsight holdon any other way for now.


Onrelease This performs an action when the key is released. Check the above example.

Toggle This will SOMETIMES work to toggle an action. One keypress will do an action, the second keypress will stop the action. By sometimes I mean this will not work with all commands, you will just have to try it and see if it works.
C=ToggleDuck
SET [class variable value] - Sets a specified class and specified variable with the specified value

Multiple binds
[KEY]= speech SUPPORT 0| speech ALERT 8| teamsay I am down to %H
This would produce in speech
We need help!
Under attack at..
I am down to 30 Health
More on % binds in the speech section



Creating Aliases/Scripting
Aliases[32]=(Command="ROIronSights|set Engine.PlayerInput MouseSensitivity 0.5|set input p Newsightoff",Alias="Newsighton")
Aliases[33]=(Command="ROIronSights|set Engine.PlayerInput MouseSensitivity 2.5|set input p Newsighton",Alias="Newsightoff")
P= Newsighton


In the above example we are raising our ironsights and turning down the sensitivity, and hitting it again to reverse those actions. We are creating a toggle to do this versus an onrelease command. We are also creating a script. A script allows us to have a key do a specific command or commands, then allows us to assign the key to do something else on the next keypress. We are also assigning a key to do the next command. In alias 32 you see the phrase “set input p Newsightoff” Alias 33 is newsightoff. When you press P in 32 it does the specified action, then assigns the key to alias 33, newsighton.
P= Newsighton
You must then put this line in your binds section to start the script using alias 32, and after that were done.

NOTE
You may only have one alias assigned to a #.It is believed you can only have 39 aliases so choose wisely.
Further testing is required


EXEC and multiple keyboard layouts
The exec command can be very useful. Here is one example but use your imagination. Like map specific configs or settings
Alt=exec Vehiclebinds.txt|OnRelease exec Defaultbinds.txt

These are a little more complex... What it does, is execute a .txt file that contains lines of commands, and execute another file that contains another file which should inculde you default binds. That means that you can make a bind for, lets say X, and another bind for Alt+X
IMPORTANT
You need to make a .txt file containing the binds for Alt+Button and another file for you default binds or you will loose your originals... like this:


Vehiclebinds.txt:
NumPad6=speech VEH_ALERTS 0
NumPad6=speech VEH_ALERTS 0
NumPad6=speech VEH_ALERTS 0
NumPad6=speech VEH_ALERTS 0
NumPad6=speech VEH_ALERTS 0
NumPad6=speech VEH_ALERTS 0


Defaultbinds.txt:
NumPad6=speech VEH_ALERTS 0
NumPad5=speech VEH_ORDERS 0
NumPad4=speech ALERT 0
NumPad3=speech ENEMY 0
NumPad2=speech ACK 0
NumPad1=speech SUPPORT 0

NOTE: You can not make complex bindings with this... a complex binding is a bind containing more than one action... like the other binds here!

NOTE2: The more binds executed in one .txt file, the longer screen freezeup... so instead of filling one file with a lot of binds, try making more button combos... Shift+Button, Ctrl+Button, Caps+Button


Some commands you can bind

Stat commands
MEM STAT - Displays Windows memory usage
STAT ALL - Shows all stats
STAT AUDIO - Shows audio stats
STAT FPS - Displays your frames per second
STAT GAME - Displays game stats
STAT HARDWARE - Shows hardware stats
STAT NET - Shows network game play stats
STAT NONE - Turns off all stats
STAT RENDER - Displays rendering statistics

Demo Commands
DEMOPLAY [demoname] - Plays the specified demo
DEMOREC [demoname] - Records a demo using the demoname you type
STOPDEMO - Stop recording a demo

Other Commands
BRIGHTNESS [number] - Changes the brightness level to the specified number
CONFIGHASH - Displays configuration info
CONTRAST [number] - Changes the contrast level to the specified number
DEBUG CRASH - Test crashes the game with an error
DEBUG EATMEM - Tests memory allocation until full
DEBUG GPF - Test crashes the game with a general protection fault error
DEBUG RECURSE - Test crashes the game by infinite recursion
DUMPCACHE - Displays the memory gcache contents
EXEC [filename] - Executes a file in the UT2003 /system/ directory by default
EXIT Exits the game entirely
FLUSH - Flushes all caches and relights
GAMMA [number] - Changes the gamma level to the specified number
GETCURRENTRES - Displays your current resolution
GETCURRENTTICKRATE - Displays your current tick rate
GETMAXTICKRATE - Displays the maximum allowed tick rate
NETSPEED [number] - Sets the net speed, default is 10000
OBJ GARBAGE - Collects and purges objects no longer in use
PAUSESOUNDS - Pauses all sounds
RELAUNCH - Relaunches the engine
REPORT - Copies a report of the current game to clipboard
Engine.PlayerInput MouseSensitivity [number] - Sets the mouse sensitivity to the specified number
SETRES [WxHxD] - Sets your screen resolution to the specified width, height, and color depth
SOCKETS - Displays a list of sockets in use
TOGGLEFULLSCREEN - Toggles fullscreen mode
TYPE [text] - Displays the specified text on the console
UNPAUSESOUNDS - Un-pauses all sounds


Weapon Binds
Non-toggleable Iron Sights

Scroll down the binds at the top of the .ini until you find the button you use for iron sights. Paste this on to the line:
RightMouse=ROIronsights | Onrelease ROironsights

There is some problems with this tweak in that the gun doesnt always release when you let go of the button. Its rough but its the only option as of now.

Ironsights with a sensitivity change
Aliases[32]=(Command="ROIronSights|set Engine.PlayerInput MouseSensitivity 0.5|set input p Newsightoff",Alias="Newsighton")
Aliases[33]=(Command="ROIronSights|set Engine.PlayerInput MouseSensitivity 2.5|set input p Newsighton",Alias="Newsightoff")

Change the sensitivity to your liking

I used P in my example, for your key, change it to yours in both lines above "set input p"
Then add this to your desired key
p=Newsighton

Ifyou want the ironsights toggle along with the mouse toggle. If thats the case then here...
RightMouse=ROIronSights|set Engine.PlayerInput MouseSensitivity 0.5|Onrelease ROironsights|Onrelease set Engine.PlayerInput MouseSensitivity 2.5


Grenade Throw
KEY=SwitchWeapon 2|Fire|OnRelease SwitchToBestWeapon
Hit the button and hold it down until you wanna throw(distance) your grenade and when you release, it will switch to your best weapon.

Movement Binds
Mouse sensitivity
set Engine.PlayerInput MouseSensitivity 0.8 | onrelease set Engine.PlayerInput MouseSensitivity 2.0

To toggle your sprint button....
key=Toggle bSprint

Walking toggle
Z=Toggle bRun

Lean toggle
Aliases[34]=(Command="leanleft|set input q leanleftoff",Alias="leanlefton")
Aliases[35]=(Command="LeanLeftReleased|set input q leanlefton",Alias="leanleftoff")
Aliases[36]=(Command="leanRight|set input e leanrightoff",Alias="leanRighton")
Aliases[37]=(Command="LeanRightReleased|set input e leanRighton",Alias="leanrightoff")

q=leanlefton
e=leanRighton



Miscelaneous Binds
Combat Photographer Binds

For those who want to be able to get a clean screen on the fly and not have to remove the hud by going to the menu and wasting time, possibly missing the shot, type this in the console (x is just an exampe for the key you want):

set input x togglescreenshotmode
or
set input x showhud 0



Speech/Voice Binds
Say = Global chat
Teamsay = teamchat

%w Weapon
%h Health
%Ll Location (doesn’t work very well, its redundant information)
^NOTE only works in team chat^
Examples
[KEY]=Say GG all im out for the night
[KEY]=Teamsay Get your asses over here, im in trouble
t=speech SUPPORT 0| Im at %L and down to %H

This would produce

We need help
Im at The Ruins and down to 20 Health

Speech binds
[KEY]=speech SUPPORT [#]
[0]="We need help!"
[1]="Need help at"
[2]="I need ammo!"
[3]="Get a sniper over here!"
[4]="We need MG support!"
[5]="We need an AT Rifle!" OR "We need a Panzerfaust!"
[6]="Someone blow this!"
[7]="We need a tank!"
[8]="Give us artillery!"
[9]="I need transport!"


[KEY]=speech ENEMY [#]
[0]="Infantry spotted!"
[1]="MG position!"
[2]="Sniper!"
[3]="Sapper!" OR "Pionier!"
[4]="Anti-tank soldiers!"
[5]="Small vehicle!"
[6]="Tank! Tank!" OR "Achtung, panzer!"
[7]="Heavy tank!"
[8]="Artillery!"


[KEY]=speech ALERT [#]
[0]="Grenade!"
[1]="Go go go!"
[2]="Take cover!"
[3]="Stop!"
[4]="Follow me!"
[5]="Satchel planted!"
[6]="Covering fire!"
[7]="Friendly fire!"
[8]="Under attack at"
[9]="Retreat!"


[KEY]=speech VEH_ORDERS [#]
[0]="Go to"
[1]="Move forward"
[2]="Stop"
[3]="Move back"
[4]="Go left"
[5]="Go right"
[6]="Forward 5 metres!"
[7]="Back 5 metres!"
[8]="Turn left a little!"
[9]="Turn right a little!"


[KEY]=speech VEH_ALERTS [#]
[0]="Enemy in front!"
[1]="Enemy left flank!"
[2]="Enemy right flank!"
[3]="Enemy behind us!"
[4]="Enemy infantry close!"
[5]="Yes, sir!"
[6]="No, no!"
[7]="We're burning!"
[8]="Get out!"
[9]="Loaded."


[KEY]=speech TAUNT [#]
[0]="I will kill you!"
[1]="No retreat!"
[2]="*insult*"


[KEY]=speech ACK [#]
[0]="Yes sir!"
[1]="No, no!"
[2]="Thanks"
[3]="Sorry"


[KEY]=speech ORDER [#]
[0]="Attack"
[1]="Defend"
[2]="Hold this position!"
[3]="Follow me!"
[4]="Attack at will!"
[5]="Retreat!"
[6]="Fire at will!"
[7]="Cease fire!"
 
Last edited:
is it possible to change the keys that control aiming when in a tank, while not changing my movement keys?

to elaborate, i would like to have my tank aiming just like how my mouse is set up (i have it set to 'invert mouse'). so in other words, i would like it that when i press the backwards key, the cannon will aim upwards. when i push the forward key, it will aim downwards.
 
Upvote 0
Key Bindings

Key Bindings

I have my # 1-2-3 keys assigned to other movements 1=sprint,2=lean left,3=lean right.When i bind there keys they work great.Now when i enter the Tank they do not work 1=nothing 2=nothing,3=nothing i cannot go between Tank positions i just sit in the drivers seat.Can't these keys be rebound?When i go back to default they work.Also there no place to bind the Tank Gunner,MG,etc in the setup configure screen?.If there a way to rebind there keys(tank) to other keys i would appreciate it,,,,
 
Upvote 0
That's not very helpful. I used the in-game control settings and remapped f12. I can't find anything relating to scope detail in the control menu, so it must have been coded into the ini by TW, but the way the ini is, there is no way to find the command (the ini lists keys, not commands).

Also the game has been acting up, and I often freeze in the menu, so the ini is the best place to fix the problem.

I appreciate the advice, but it would have been more helpful (and kinder) if you actually looked up the solution, but instead I have to keep waiting for help.

Edit: Found someone to help. It is "SetScopeDetail" if anyone cares.
 
Last edited:
Upvote 0