Binds are commands which 'bind' a specific game action to a certain keystroke. All game controls are binds, such as bind "mouse1" "+attack", which tells DoD that you want to shoot your gun when you press the left mouse button. You can create your own binds by editing your configuration files, which allows you to do all sorts of useful things at the tap of a button.
You'll need to access your config files, which can be located in your Steam install folder:
....\Steam\SteamApps\<username>\day of defeat\dod
In this folder, there should be two files called config.cfg and userconfig.cfg - if userconfig doesn't exist then create it (use notepad, save as type 'all files' - not 'text document' - and remember the .cfg extension).
Check that your config.cfg file has a line at the end which says "exec userconfig.cfg" (it should have this already). Then the fun begins in your userconfig file.
Basically each line in your cfg files is a command which you would type in the console, you're just setting DoD to do it automatically each time you start the game. The general format for a bind is:
bind "<key>" "<command>"
where key is whichever key you want to perform the action, such as "e" or "ENTER" (list of non-character codes), and command is what you want the bind to do. A section of a cfg file might look like:
bind "y" "voice_yessir"
bind "~" "toggleconsole"
bind "ENTER" "voice_grenade;say_team Look out! Grenade at %l"
You can create your own custom binds by creating lines like this in your userconfig.cfg file. There are all sorts of uses you might want binds for; I'll list the more common ones here and you can Google for any others you might need.
Format: bind "(KEY)" "say xxxxxxxx" / bind "(KEY)" "say_team xxxxxxxxx"
These are chat commands, say is for normal chat, say_team is... go on, guess. So "say PH34R TEH SPADEAGE" would result in everyone recieving a message saying 'PH34R TEH SPADEAGE' whereas "say_team I need ammo!" would result in your teammates getting a message saying 'I need ammo!' Simple.
To make these chat binds more useful, there are a number of special symbols you can use which the game will substitute with appropriate text depending on your situation. These are:
You can combine these for greater effect, for example "%c requesting backup at %l" tells your teammates who you are and where you need backup. Try to resist the temptation to go the whole hog and say something like "Hey %i, I'm a %c with %h health and I need backup at %l", and promptly get shot for taking up half the screen.
Format: bind "(KEY)" "name xxxxxxxxxxx"
This changes your nick. If you change your name regularly you might want to have a couple of binds to switch between your names, for example I have binds for all of "name Lamsey|Spade%Maniac", "name Lamsey|Knife%Maniac", and "name Lamsey|KABOOM%Maniac" depending on what class I'm playing. Note that to have spaces in your name you need to use the % sign instead of a space.
Format: bind "(KEY)" "voice_xxxxxxxxxxx" / bind "(KEY)" "signal_xxxxxxxxxxx"
Some of the most useful binds are voice commands; they give your teammates around you a better idea of what's going on because they can hear it coming from your character, not just in the chat text. By far the most useful one is voice_grenade - this makes your character shout "GRENADE!" and it's a good habit to hit your key for this whenever you see an inbound nade (whilst scarpering in the opposite direction, of course). If you want to be more stealthy the hand signals can be effective too; a list of the codes follows later.
Format: bind "(KEY)" "record xxxxxxx.dem" / bind "(KEY)" "stop"
Another command bind that might be handy is for recording demos. If you see someone cheating in spec, or if you come across an enemy spawncamping, or if you're about to knife someone rather spectacularly, whatever, you might want to record evidence of it quickly. The commands you need are "record filename.dem" and "stop" - these start and end recording respectively.
In addition to the above, of course, there are all the other commands you're accustomed to using such as "reload", "+forward", etc. I'll list these too later on as it is actually useful to know them, as you're about to see.
If you want really complex binds, you can combine several commands into one bind by separating them with semicolons. Be careful with these as it's quite easy to think "coool, i'll do a bind so every time i reload i request cover" - this is a good way to piss off your teammates by screaming for cover every twenty seconds. A good use of composite binds is to perform a voice command at the same time as a chat command; the voice gives immediate feedback to people around you and the chat message can give precise details. Examples:
| Voice Command | Hand Signal |
|---|---|
| voice_areaclear | signal_areaclear |
| voice_attack | signal_moveout |
| voice_backup | signal_backup |
| voice_bazookaspotted | |
| voice_ceasefire | |
| voice_cover | signal_coveringfire |
| voice_displace | |
| voice_enemyahead | signal_enemyspotted |
| voice_enemybehind | |
| voice_fallback | signal_fallback |
| voice_fireleft | signal_enemyleft |
| voice_fireright | signal_enemyright |
| voice_fireinhole | |
| voice_gogogo | |
| voice_grenade | signal_grenade |
| voice_hold | signal_holdposition |
| voice_left | signal_flankleft |
| voice_mgahead | |
| voice_moveupmg | |
| voice_needammo | |
| voice_negative | signal_no |
| voice_right | signal_flankright |
| voice_sniper | signal_sniper |
| voice_sticktogether | signal_sticktogether |
| voice_usebazooka | |
| voice_usegrens | |
| voice_yessir | signal_yes |
| Command | Notes |
|---|---|
| +attack | Shoot / slash |
| +attack2 | Deploy, bayo, scope, etc |
| +back | |
| cancelselect | Main menu |
| changeclass | |
| changeteam | |
| drop | Drop weapon |
| dropammo | Drop ammo box |
| dropobject | Drop objective item |
| +duck | |
| firemarker | Sets a map marker at current crosshair position |
| +forward | |
| invnext | Next weapon |
| invprev | Last weapon |
| +jump | |
| lastinv | Quick-switch; selects last-used weapon |
| impulse 100 | Flashlight |
| impulse 201 | Spray logo |
| map | Opens / closes map |
| mapzoom | Toggles map zoom |
| messagemode | Chat |
| messagemode2 | Team chat |
| +moveleft | |
| +moveright | |
| prone | |
| +reload | |
| +showscores | |
| snapshot | Take screenshot |
| +speed | Sprint |
| toggleconsole | |
| +use | Use / pick up grenades |
| +voicerecord | Voice comms |
| Arrows / Keypad | Others |
|---|---|
| UPARROW | ESCAPE |
| DOWNARROW | F1 - F12 |
| LEFTARROW | TAB |
| RIGHTARROW | SHIFT |
| KP_HOME | CTRL |
| KP_UPARROW | ALT |
| KP_PGUP | SPACE |
| KP_LEFTARROW | ENTER |
| KP_5 | BACKSPACE |
| KP_RIGHTARROW | DEL |
| KP_END | PGDN |
| KP_DOWNARROW | PGUP |
| KP_PGDN | END |
| KP_INS | HOME |
| KP_DEL | INS |
| KP_ENTER | MWHEELDOWN |
| KP_PLUS | MWHEELUP |
| KP_MINUS | MOUSE1 |
| KP_SLASH | MOUSE2 |
(note the keypad * key is just '*', not 'KP_*')