Quake
Cybertrix Aug 19, 2021 @ 4:04pm
2
Quake Enhanced: Useful console keybind and alias notes
Looks like there have been some changes to console commands!

(For those with no idea what I'm talking about, if you press the '`' (tilde) key to the left of '1' then you will bring down the console, which lets you enter useful manual commands. The ones we'll cover here are bind and alias)

You can still bind keys using the console, in the format:

bind r "impulse 7"

the labels of mouse buttons are now as follows:
mouse_left
mouse_right
mouse_middle
mouse_misc1
mouse_misc2

You can still create aliases (lists of commands that all execute in a row, kinda like what we'd now refer to as macros in most games).

Impulse 1-8 still works fine, but there is also a new switchweapon command which has the same basic effect. The numbers have changed, however!

Everything has shifted down by two and the axe is now at the end of the list.
switchweapon 0 = shotgun
switchweapon 1 = super shotgun
switchweapon 2 = nailgun
switchweapon 3 = super nailgun
switchweapon 4 = grenade launcher
switchweapon 5 = rocket launcher
switchweapon 6 = thunderbolt
switchweapon 7 = axe
don't enter switchweapon 8. Engine does -not- like that (you'll get an error message)

There are four default aliases that come predefined by the game. These seem to be d-pad quickswitch binds for gamepads, and they reveal how the new switchweapon command works.

quickswitch_left is aliased to switchweapon 6 7, which switches between Axe (switchweapon 7/impulse 1) and Lightning Gun (switchweapon 6/impulse 8)
quickswitch_right is aliased to switchweapon 2 3, which switches between Nailgun (switchweapon 2/impulse 4) and Super Nailgun (switchweapon 3/impulse 5)
quickswitch_up is aliased to switchweapon 0 1. which switches between Shotgun (switchweapon 0/impulse 2) and Super Shotgun (switchweapon 1/impulse 3)
quickswitch_down is aliased to switchweapon 4 5, which switches between Grenade Launcher (switchweapon 4/impulse 6) and Rocket Launcher (switchweapon 5/impulse 7)

If you want to bind a key to switch between two weapons, use switchweapon x y:

bind mouse_right "switchweapon 4 5"

Or just use the preset aliases above.

In case you want to make your own aliases, you'll need to first define them, and then bind them to something. You create an alias by first typing alias, and then the lists of commands you want to perform separated by a semicolon.

Example:

alias helloiamanalias command_1; command_2
bind p helloiamanalias

Some aliases still seem to work, but it seems stuff like the +attack and -attack switches are gone and have become *in_attack which can be bound to a key but can't be made part of an alias anymore. To get round this, use in_attack 0 in place of what used to be +attack, and use in_attack 1 in place of what used to be -attack.

The current implementation of aliases is largely there to make sure various mods like TF work properly, and can be a bit finnicky. You have to include a command to manually unbind the 'release' version of the alias in the definition of the 'press' version, or it will get confused.

Your old aliases like the classic 'quick rocket' and 'rocket jump' scripts won't work unless you rewrite them to do this.

An example of what 'quick rocket' would look like now:

alias +qr "impulse 6;wait;impulse 7;in_attack 0;unbind r -qr"
alias -qr "in_attack 1"
bind r "-qr;bind r +qr"

Hope this helps!

EDIT: Many thanks to the excellent devs and speedrunners on the Quake discord for clarifying a couple of points here!
Last edited by Cybertrix; Aug 20, 2021 @ 7:22am
< >
Showing 1-15 of 17 comments
Daikatan Aug 19, 2021 @ 4:05pm 
Helpful indeed, thanks.
Cybertrix Aug 19, 2021 @ 4:19pm 
In case you want to make your own aliases, you'll need to first define it, and then bind it to something. You create an alias by first typing alias, and then the lists of commands you want to perform separated by a semicolon.

Example:

alias helloiamanalias command_1; command_2
bind p helloiamanalias
Mr. Boy Aug 19, 2021 @ 4:21pm 
mouse_x1 and mouse_x2 don't work. if you want to bind the side buttons (4 and 5) of a mouse, you need to use mouse_misc1 and mouse_misc2 respectively.
Cybertrix Aug 19, 2021 @ 5:07pm 
Originally posted by Mr. Boy:
mouse_x1 and mouse_x2 don't work. if you want to bind the side buttons (4 and 5) of a mouse, you need to use mouse_misc1 and mouse_misc2 respectively.
Ah, good spot! I just bound them using the menu and looked at the label it gave them, didn't actually test. I'll update the original to avoid confusion
Thanks for this. Helped me fix my old aliases.
bumboklaat Aug 20, 2021 @ 8:41am 
Im trying to get my keybinds like they were in QW to no avail. M1 = Rockets, M2 = Saft, M3 = GL. If theres no ammo, its supposed to shoot with the next gun on the list. How to make it work?

I thought this should work, but it doesn't:

alias +rl "impulse 7;wait;impulse 3;wait;impulse 2;wait;in_attack 0;wait;in_attack 1;unbind mouse_left -rl"
alias -rl "in_attack 1"
alias +gl "impulse 6;wait;in_attack 0;wait;in_attack 1;unbind mouse_middle -gl"
alias -gl "in_attack 1"
alias +lg "impulse 8;wait;impulse 3;wait;impulse 2;wait;in_attack 0;wait;unbind mouse_left -lg"
alias -lg "in_attack 1"

bind mouse_left "-rl;unbind mouse_left +rl"
bind mouse_right "-lg;unbind mouse_right +lg"
bind mouse_middle "-gl;unbind mouse_middle +gl"
Last edited by bumboklaat; Aug 20, 2021 @ 8:50am
Go_Coup Aug 20, 2021 @ 11:42am 
Do you know how to bind the side buttons of the mouse?

I found out it's "mouse_misc1" for M4 and "misc2" for M5.
Last edited by Go_Coup; Aug 20, 2021 @ 12:25pm
chewz Sep 3, 2021 @ 7:37am 
Bumping this as I need to know the same....

Originally posted by bumboklaat:
Im trying to get my keybinds like they were in QW to no avail. M1 = Rockets, M2 = Saft, M3 = GL. If theres no ammo, its supposed to shoot with the next gun on the list. How to make it work?

I thought this should work, but it doesn't:

alias +rl "impulse 7;wait;impulse 3;wait;impulse 2;wait;in_attack 0;wait;in_attack 1;unbind mouse_left -rl"
alias -rl "in_attack 1"
alias +gl "impulse 6;wait;in_attack 0;wait;in_attack 1;unbind mouse_middle -gl"
alias -gl "in_attack 1"
alias +lg "impulse 8;wait;impulse 3;wait;impulse 2;wait;in_attack 0;wait;unbind mouse_left -lg"
alias -lg "in_attack 1"

bind mouse_left "-rl;unbind mouse_left +rl"
bind mouse_right "-lg;unbind mouse_right +lg"
bind mouse_middle "-gl;unbind mouse_middle +gl"
chewz Sep 3, 2021 @ 1:59pm 
@Cybertrix, are you about? - how do amend your alias so that the guns sg, ssg, ng, sng and rl are selected and fired at the same time with mouse1 (mouse_left)

I can only make it work with the last gun in the alias next to in_attack 0. The other weapons are never selected, even though I have picked them up.

So if I have a ssg, it will never select this. Only when I pick up rl does this work.
M. Walrus Sep 3, 2021 @ 2:31pm 
Important note about the new version regarding bindings is that keys can now be double-bound to functions, so in order to properly unbind a key, you have to type out what you want to unbind as well.

say you have the g key bound to rocket launcher for example. before, you could just use "unbind g" before to completely unbind the g key. now you would type unbind g "impulse 7"

to see a list of what is bound already to a particular key, type unbind <key>
Ranzou Sep 4, 2021 @ 10:54pm 
Originally posted by bumboklaat:
Im trying to get my keybinds like they were in QW to no avail. M1 = Rockets, M2 = Saft, M3 = GL. If theres no ammo, its supposed to shoot with the next gun on the list. How to make it work?

I thought this should work, but it doesn't:

alias +rl "impulse 7;wait;impulse 3;wait;impulse 2;wait;in_attack 0;wait;in_attack 1;unbind mouse_left -rl"
alias -rl "in_attack 1"
alias +gl "impulse 6;wait;in_attack 0;wait;in_attack 1;unbind mouse_middle -gl"
alias -gl "in_attack 1"
alias +lg "impulse 8;wait;impulse 3;wait;impulse 2;wait;in_attack 0;wait;unbind mouse_left -lg"
alias -lg "in_attack 1"

bind mouse_left "-rl;unbind mouse_left +rl"
bind mouse_right "-lg;unbind mouse_right +lg"
bind mouse_middle "-gl;unbind mouse_middle +gl"


I got this to work:

alias quickswitch_lg switchweapon 6 0
alias quickswitch_gl switchweapon 4 0

alias +lg "quickswitch_lg;in_attack 0;unbind mouse_right -lg"
alias -lg "in_attack 1;impulse 7"
bind mouse_right "-lg;bind mouse_right +lg"

alias +gl "quickswitch_gl;in_attack 0;unbind mouse_misc1 -gl"
alias -gl "in_attack 1;impulse 7"
bind mouse_misc1 "-gl;bind mouse_misc1 +gl"
Last edited by Ranzou; Sep 4, 2021 @ 11:08pm
Ranzou Sep 4, 2021 @ 11:09pm 
Originally posted by Cybertrix:
Looks like there have been some changes to console commands!

(For those with no idea what I'm talking about, if you press the '`' (tilde) key to the left of '1' then you will bring down the console, which lets you enter useful manual commands. The ones we'll cover here are bind and alias)

You can still bind keys using the console, in the format:

bind r "impulse 7"

the labels of mouse buttons are now as follows:
mouse_left
mouse_right
mouse_middle
mouse_misc1
mouse_misc2

You can still create aliases (lists of commands that all execute in a row, kinda like what we'd now refer to as macros in most games).

Impulse 1-8 still works fine, but there is also a new switchweapon command which has the same basic effect. The numbers have changed, however!

Everything has shifted down by two and the axe is now at the end of the list.
switchweapon 0 = shotgun
switchweapon 1 = super shotgun
switchweapon 2 = nailgun
switchweapon 3 = super nailgun
switchweapon 4 = grenade launcher
switchweapon 5 = rocket launcher
switchweapon 6 = thunderbolt
switchweapon 7 = axe
don't enter switchweapon 8. Engine does -not- like that (you'll get an error message)

There are four default aliases that come predefined by the game. These seem to be d-pad quickswitch binds for gamepads, and they reveal how the new switchweapon command works.

quickswitch_left is aliased to switchweapon 6 7, which switches between Axe (switchweapon 7/impulse 1) and Lightning Gun (switchweapon 6/impulse 8)
quickswitch_right is aliased to switchweapon 2 3, which switches between Nailgun (switchweapon 2/impulse 4) and Super Nailgun (switchweapon 3/impulse 5)
quickswitch_up is aliased to switchweapon 0 1. which switches between Shotgun (switchweapon 0/impulse 2) and Super Shotgun (switchweapon 1/impulse 3)
quickswitch_down is aliased to switchweapon 4 5, which switches between Grenade Launcher (switchweapon 4/impulse 6) and Rocket Launcher (switchweapon 5/impulse 7)

If you want to bind a key to switch between two weapons, use switchweapon x y:

bind mouse_right "switchweapon 4 5"

Or just use the preset aliases above.

In case you want to make your own aliases, you'll need to first define them, and then bind them to something. You create an alias by first typing alias, and then the lists of commands you want to perform separated by a semicolon.

Example:

alias helloiamanalias command_1; command_2
bind p helloiamanalias

Some aliases still seem to work, but it seems stuff like the +attack and -attack switches are gone and have become *in_attack which can be bound to a key but can't be made part of an alias anymore. To get round this, use in_attack 0 in place of what used to be +attack, and use in_attack 1 in place of what used to be -attack.

The current implementation of aliases is largely there to make sure various mods like TF work properly, and can be a bit finnicky. You have to include a command to manually unbind the 'release' version of the alias in the definition of the 'press' version, or it will get confused.

Your old aliases like the classic 'quick rocket' and 'rocket jump' scripts won't work unless you rewrite them to do this.

An example of what 'quick rocket' would look like now:

alias +qr "impulse 6;wait;impulse 7;in_attack 0;unbind r -qr"
alias -qr "in_attack 1"
bind r "-qr;bind r +qr"

Hope this helps!

EDIT: Many thanks to the excellent devs and speedrunners on the Quake discord for clarifying a couple of points here!

Great stuff. This has been bugging me since I started playing. Finally got my quick fire LG and GL working:

alias quickswitch_lg switchweapon 6 0
alias quickswitch_gl switchweapon 4 0

alias +lg "quickswitch_lg;in_attack 0;unbind mouse_right -lg"
alias -lg "in_attack 1;impulse 7"
bind mouse_right "-lg;bind mouse_right +lg"

alias +gl "quickswitch_gl;in_attack 0;unbind mouse_misc1 -gl"
alias -gl "in_attack 1;impulse 7"
bind mouse_misc1 "-gl;bind mouse_misc1 +gl"
Dibbler Sep 6, 2021 @ 3:05pm 
Thanks for all these, getting close to my old setup! The last piece I haven't been able to work out is falling back to another weapon if a better one is out of ammo.

In the original Quake I could do something like "impulse 5; wait; impulse 8" and this would leave me on super nailgun if lightening gun was out of ammo. The "impulse 5" would still have worked even though impulse 8 = no ammo.

But in the new engine, if any command in the whole alias/binding tries to switch to a weapon that's out of ammo, it makes the whole lot fail, and nothing happens.

I've tried trickery with switchweapon, but I always either end up with the same problem: the whole binding either fails because you try to switch to a weapon with no ammo, or you end up with a key that cycles through a bunch of different weapons (eg my "best non-explode-in-my-face gun" ends up switching between them).

Anyone with fancy old-school bindings manage to figure this out?
Ranzou Sep 6, 2021 @ 5:33pm 
Originally posted by Dibbler:
Thanks for all these, getting close to my old setup! The last piece I haven't been able to work out is falling back to another weapon if a better one is out of ammo.

In the original Quake I could do something like "impulse 5; wait; impulse 8" and this would leave me on super nailgun if lightening gun was out of ammo. The "impulse 5" would still have worked even though impulse 8 = no ammo.

But in the new engine, if any command in the whole alias/binding tries to switch to a weapon that's out of ammo, it makes the whole lot fail, and nothing happens.

I've tried trickery with switchweapon, but I always either end up with the same problem: the whole binding either fails because you try to switch to a weapon with no ammo, or you end up with a key that cycles through a bunch of different weapons (eg my "best non-explode-in-my-face gun" ends up switching between them).

Anyone with fancy old-school bindings manage to figure this out?

I don't know yet. I thought switchweapon would do the trick, but that's more like a toggle. What we really want is something like bestweapon 8 4 3, which would select the best available weapon starting with 8 (LG), then 4 (SNG), then 3 (NG). This is available in modern quake engines developed by the community, but not in this "Enhanced" Kex quake engine.
SlimJimE17 Sep 21, 2021 @ 10:40am 
Originally posted by Dibbler:
Thanks for all these, getting close to my old setup! The last piece I haven't been able to work out is falling back to another weapon if a better one is out of ammo.

In the original Quake I could do something like "impulse 5; wait; impulse 8" and this would leave me on super nailgun if lightening gun was out of ammo. The "impulse 5" would still have worked even though impulse 8 = no ammo.

But in the new engine, if any command in the whole alias/binding tries to switch to a weapon that's out of ammo, it makes the whole lot fail, and nothing happens.

I've tried trickery with switchweapon, but I always either end up with the same problem: the whole binding either fails because you try to switch to a weapon with no ammo, or you end up with a key that cycles through a bunch of different weapons (eg my "best non-explode-in-my-face gun" ends up switching between them).

Anyone with fancy old-school bindings manage to figure this out?


Hi, did you get this to work?
It's been driving me mad.
< >
Showing 1-15 of 17 comments
Per page: 1530 50

Date Posted: Aug 19, 2021 @ 4:04pm
Posts: 17