Dark's Guide To Binding

Wrote this a long time ago for gpp, now made it 1.1 compatible as well (i hope, haven’t played 1.1 for a long time, correct my mistakes ty)

Because i haven’t seen anyone interested in making a guide like this, i thought i’d do it. I still get way too many kills as goon by pouncing into h base onto the medi where a human has just bought his gun, but no armour yet (sound familiar?) So here it is: Dark’s Guide to binding (without too many vstr binds, because that shit gets confusing for new players)

Binding
For those of you that have never heard of “binding” before, binding is done to perform actions in the game with a key, rather than typing the action out.
for instance: “+forward” is what makes your alien / human move forward, by default, it is bound to “w”
The basic movements (Forward, backwards, left, right, jump, crouch, sprint, walk, etc) are bound to a key by default, you can change these using the in-game menu’s.
It’s easier bind trough the autogen.cfg file and not by typing them in-game.

Keybinding
Most people probably know about this type of binding, as it is the most basic form of it. I will explain it none the less.
as i said before, “w” is bound to “+forward” by default.
the code in your autogen.cfg will list your bind as: bind w “+forward” <— PLEASE NOTE THE " OTHERWISE BINDS WILL NOT WORK!
we can make our own binds this way.
Don’t you hate that moment when you die as a human because you couldn’t press “M” fast enough to heal using the medkit because you couldn’t take your hands of the movement keys (WASD) and the mouse?
Those days are over, because it is possible to bind “itemact medkit” to another key. I’d recommend to either place it on “q” or “e” so you can instantly press it when you need to heal, as “q” and “e” are right next to your movement keys. I have my medkit at “q” and jetpack at “e”. Please note that you can also bind these actions to any mouse buttons you may have. I actually have mouse buttons right now but i’ve gotten used to q and e so meh :confused:
But how can i buy new stuff at the armory then? and how do i deconstruct buildings? you might have asked yourself these two questions. Not a problem, we can rebind these actions to other keys as well.

Deconstruct = Bind m “deconstruct”
Access armory = bind v “+button7”

This was about the more practical placement of actions to keys that you can press easier, and thus lose less battles. We can however also do something about every human’s worst dream (except getting swarmed by grangers, obviously) which is “Getting killed at the armory when you just bought your new weapon” What if i told you that you can press 1 key, and get your favorite weapon and armor, in less than half a second? We can do this by entering the following:

<bind WhatEverKeyYouWantToBindTo “WeaponOrArmorHere”>
For example, if i wanted to bind buying a rifle to the key “1” i would do the following:
bind 1 “buy rifle”

Simple enough, right?

We can also buy armor AND a rifle, with one press of a button.
bind 1 "buy rifle; buy helmet; buy larmour <—The semicolon “;” here is very important, when you enter (bind 1 "buy rifle buy helmet buy larmour) it will only buy the rifle, and the next time you press the button it will buy the helmet and the next time you press it it will buy the armor. by adding the semicolon the bind completes every command in-between the “”'s with only one push of the key “1”
However, at the armory you always have to sell your weapon / armor before you can buy a new one, the same goes with binds, or you will get an annoying error. This means that we will have to add two more commands to this bind to make it functional: “sell weapons; sell upgrades”
in this bind weapons are weapons (duh) and upgrades are everything non-weapons. This means armor, grenades, jetpacks and battery packs. Please note that if you only want to buy a battpack or a jetpack. you should put: “sell bsuit; sell battpack” and “sell bsuit; sell jetpack” in front of each respectively. Otherwise you’ll end up having no armor with your jetpack, which is really bad.
If we improve our first bind we will get the following bind:

bind 1 "sell weapons; sell upgrades; buy rifle; buy helmet; buy larmour” ← sell weapons; sell upgrades always goes in front of the item you’re trying to buy, you can’t buy 2 weapons and then sell 1 #LogicMVP

Binding alien classes is done with this command:
“class levelXupg” ← the x here is a number (granger is builder :/) Builder/0/1/2/3/4/5 and the upg is the advanced version of said class. (Marauder = class level2; AdvMarauder = class level2upg)

You can make chat binds as well, this means that you can tell your team that you destroyed the enemy Overmind or reactor with one press of a button so that they can help attack as soon as possible.
this is done with the command: Say (Shows message to everyone) Say_team (Shows message only to your team) and Say_area (Shows message only to members of your team in the area, mostly useful for calling out when you have thrown a nade, or are being flanked by enemies)

we do this by:
bind F6 „say Rant is flanking, Be careful!”

It’s way more useful to only tell your team the above message, this is done by using „say_team”
bind F6 "say_team Rant is flanking, Be careful!”

The next part of my guide continues on “normal” binding.
I’m assuming most of you don’t have a keypad or a mouse with 20 programmable buttons (WoW Addicts Unite?)
We want to have as much room for binds as possible. Wouldn’t you love to have “1” bound to becoming a basilisk as well as buying a rifle?
This is very well possible, but it does get kind of tricky here. You don’t want to mess this up.
We will do this by making two new .cfg files.
Humans.cfg
Aliens.cfg
Once you have made these files you want to put them in the same location as your autogen.cfg is at (otherwise you can’t open them when you’re in-game)

In humans.cfg we put this bind
bind 1 "sell weapons; sell upgrades; buy rifle; buy larmour; buy helmet”

In aliens.cfg we put this bind
bind 1 “class level1”

Now you want to have two keys that activate these .cfg files.
You could put humans.cfg on the key “o” and put aliens.cfg on the key “p”
This is done by doing the following:

bind o “exec humans.cfg” ← This will activate all the binds you have put in this file, in this case, your Rifle bind.
bind p “exec aliens.cfg” ← This will activate all the binds you have put in this file, in this case, your Basilisk bind.

Essentially, we allow these files to overwrite each other when we give them the permission to do so. This allows us to program many different actions to only one key.

We will now focus on the “set” command, if you for some reason run out of space to bind your chat messages to, you might want to consider using these. They are overall pretty useful anyways. With a bit of messing around with the vstr and set commands you can get ALL of your binds in one file, but it takes some time and experience, but since this is a beginner guide i don’t want to mess around with that.
If i want to tell my team members the enemy overmind is down, the general thing to say without using binds is: om down. But what if want to having something a little more flashy. What if i could type “om down” and i would instead say: OvermindThe Enemy Overmind is Down! Attack Now!Overmind

this is somewhat possible, first we have to setup the command.
the command for giving certain commands another name is “set”

using the overmind down example from above the command would be:
set omdown say ”The Enemy Overmind is Down! Attack Now!"

This is essentially just a lengthier bind, and i would not recommend using it to buy things at armouries (unless you use the vstr / set magic i talked about earlier) but it’s a very decent thing to use for making your chat messages a little better.

to talk using the set command effectively you HAVE to type /vstr omdown. /vstr activates the line you set to “omdown” so to activate omdown you would type:

/vstr omdown

typing omdown will just say “omdown” in chat.
typing /omdown will just be recognized as a false command.

http://tremulous.net/forum/index.php?topic=1038.0
Lava Croft’s building binds are also quite useful, just put the alien binds in one cfg and the humans in another and assign some keys to activate both files.

You will need to have another file to activate fighting binds again. Just make a simple cfg like this:

//Fighter

bind MOUSE1 “+attack”
bind MOUSE2 “+button5”
bind MOUSE3 “+button2”
bind MWHEELDOWN “weapnext”
bind MWHEELUP “weapprev”

Quick little tip as well, it’s a very good idea to turn off warning messages (ever pressed b by accident in the middle of combat and just stood still for 2 secs? (FFS I KNOW THERE’S NO ARMORY NEAR ME)
you can do this by searching for the following line in your autogen.cfg (also doable in in-game menu):
seta cg_disableWarningDialogs
By default, it is set to “0” We want to set it to “1” so we don’t get the annoying warning message that cause you to die.

Written by 1.2/GPP peasant, please 1.1 master race feel free to correct anything that isn’t right in 1.1

3 Likes

Thanks DM this is great :smile:
I also have a building.cfg file but it’s kinda buggy.

if you are only using one command per key the quotation marks aren’t required
e.g.

bind k +moveleft
bind o "+forward;boost"

Also there is no class “level5” in ordinary Tremulous. Even KoRx, which had a 600 health advance tyrant, that was simply “level4upg”

Other things to add that you didn’t have:

bind z itemtoggle blaster

this basically toggles your blaster. It isn’t useful in GPP and Unvanquished since there’s more priority in switching weapons when you use the mouse wheel but in 1.1 Tremulous the itemtoggle has higher priority in the weapon timer queues so you can effectively switch immediately without any delay after firing your mass driver. There’s also an exploit in 1.1 Tremulous where you partially cancel out the lucifer cannon charge timer which is why you often see people bobbing their lucifer cannon weapon up and down, essentially keeping a higher charge in their cannon at all times.

Other useful things include things like

bind backspace toggle r_lightmap

which basically turns non-complex shader elements of the map white.

Explore all your command-variables and commands using the following commands in-game:

/cmdlist [*<searchterm>||<prefix>]
/cvarlist [*<searchterm>||<prefix>]

The asterisk implies you are searching for part of a command. For example if you forgot what the shadows variable was:

/cvarlist *shadow

If you don’t include the asterisk it thinks you’re searching the prefix or the beginning of a term such as:

/cvarlist cg_sh

and it should show everything that starts with it.

/cvarlist cg_sh
cg_showmiss = "0"
cg_showRGB = "0"
cg_shadows = "0"

Some clients show some flags before it like “A” or simply nothing. Just ignore that part.

Pressing Tab ->| after entering a command/variable also works as an auto complete function however if there are multiple commands/variables/aliases available, it provides them in a list instead:

/r_sho

(press TAB ->| and the following should appear like this)

\r_show
r_shownormals = "0"
r_showky = "0"

Note that the slash flips around. It doesn’t matter which you use however.

1 Like

The hummel in Edge based mods is referred to as class level5.

Who knows, KoRx’s spitfire was simply called spitfire rather than level5. The level# is just a standard to simplify the alien classes. It’s not like everyone will remember the tyrant as “big_mofo” and the dragoon as “prowl” and marauder as “tarantula” and basilisk as “hydra” or “spitter”

thanks for the reply virus :smile:
as sparky already said: class level5 was the hummel from new-edge, i probably forgot to take it out :confused:

Put helmet last due to some servers just giving an error without you buying the armour at stage 1 (at least this was the case on 1.1). Not sure if this is still the case on GPP.

I should clean up my binds, there’s a whole horde of useful cvars to use.