Looking for a way to switch weapons faster in Half-Life? Check out this gaming guide for a modified system that uses over 100 aliases to make simple changes to weapon switching. Read on to learn more about this trick.
Disclaimer
Features
Middle Mouse toggles between scrolling through weapons like Fast Weapon Switch, and scrolling through Weapon Categories.
In both modes, when weapon inventory is open, it scrolls through it instead.
Tab and “Forward” Mouse Button (Mouse 5):
Swaps between the first two weapons of a category
Capslock and “Back” Mouse Button (Mouse 4):
Swaps between the last two weapons of a category
Q Key
Q has the function of swapping to the last selected Weapon Category, and rebinding Tab/Capslock and the above mouse buttons to its weapons. This is a replacement for Last Weapon Used (lastinv).
Other Notes:
You’ll have to set a different key from Tab to Display Multiplayer Scores.
(+showscores)
This is incompatible with Next Weapon, Previous Weapon, and Last Weapon Used.
(invnext, invprev, and lastinv).
If your forward mouse button is Mouse 4 instead of Mouse 5, and vice versa, you’ll have to flip the side mouse buttons in the config. You can do this with any text editor, with a “find” and “replace all” feature.
Example:
Find
mouse5
Replace All with
temp
Find
mouse4
Replace All with
mouse5
Find
temp
Replace All with
mouse4
Setup (Part 1)
// SETUP
//
unbind [
unbind ]
unbind tab
unbind capslock
unbind mouse5
unbind mouse4
unbind enter
//
bind mwheelup wheel_invprev
bind mwheeldown wheel_invnext
bind mouse3 wheel_quicker
//
bind q lastslot_s
//
bind 1 slot1_melee_s
bind 2 slot2_sidearms_s
bind 3 slot3_xpersonnel_s
bind 4 slot4_heavy_s
bind 5 slot5_explosive_s
//
//
//
//
// MOUSEWHEEL
//
alias wheel_simpler “xbind_wheel_x; bind mwheelup wheel_invprev; bind mwheeldown wheel_invnext; wlock_simpler; bind mouse3 wheel_quicker”
alias wheel_quicker “xbind_wheel_x; bind mwheelup slot5_explosive_s; bind mwheeldown slot1_melee_s; wlock_quicker; bind mouse3 wheel_simpler”
alias xbind_wheel_x “unbind tab; unbind capslock; unbind mouse5; unbind mouse4”
//
//
alias wheel_invprev “invprev; +attack; wait; -attack; xbind_wheel_x”
alias wheel_invnext “invnext; +attack; wait; -attack; xbind_wheel_x”
//
//
alias wlock_wheel_x “unbind mouse3”
alias xlock_wheel_x “xlock_simpler”
alias xlock_simpler “bind mwheelup wheel_invprev; bind mwheeldown wheel_invnext; bind mouse3 wheel_quicker”
alias wlock_simpler “alias xlock_wheel_x xlock_simpler”
alias wlock_quicker “alias xlock_wheel_x xlock_quicker”
alias xlock_quicker “bind mouse3 wheel_simpler”
//
//
//
//
// LASTSLOT
//
alias lastslot_s “lastslot_a”
alias lastslot_a “”
alias lastslot_b “”
//
//
alias qlock_last “unbind q”
alias xlock_last “bind q lastslot_s”
//
//
alias rotation_a “rotation1a; rotation2a; rotation3a; rotation4a; rotation5a”
alias rotation_b “rotation1b; rotation2b; rotation3b; rotation4b; rotation5b”
//
//
alias rotation1a “alias lasts_melee_s lasts_melee_a”
alias rotation1b “alias lasts_melee_s lasts_melee_b”
alias rotation2a “alias lasts_sidearms_s lasts_sidearms_a”
alias rotation2b “alias lasts_sidearms_s lasts_sidearms_b”
alias rotation3a “alias lasts_xpersonnel_s lasts_xpersonnel_a”
alias rotation3b “alias lasts_xpersonnel_s lasts_xpersonnel_b”
alias rotation4a “alias lasts_heavy_s lasts_heavy_a”
alias rotation4b “alias lasts_heavy_s lasts_heavy_b”
alias rotation5a “alias lasts_explosive_s lasts_explosive_a”
alias rotation5b “alias lasts_explosive_s lasts_explosive_b”
//
//
Setup (Part 2)
//
// MELEE
//
alias slot1_melee_s “qlock_last; wlock_wheel_x; slot1; unbind r; unbind mouse2; cycle_melee_s; xslot_melee_s; wheel_melee_s; kbind_melee_s; mouse_melee_s”
//
//
alias cycle_melee_s “+attack; wait; -attack; slot1”
alias xslot_melee_s “unbind 1; bind 2 slot2_sidearms_s; bind 3 slot3_xpersonnel_s; bind 4 slot4_heavy_s; bind 5 slot5_explosive_s”
//
//
alias wheel_melee_s “bind mwheelup slot5_explosive_s; bind mwheeldown slot2_sidearms_s”
alias kbind_melee_s “bind tab close_melee_s; bind capslock close_melee_s”
alias mouse_melee_s “bind mouse5 close_melee_s; bind mouse4 close_melee_s; bind mouse1 close_melee_s”
//
//
alias close_melee_s “+attack; wait; -attack; rbind_melee_s; kbind_melee_a; mouse_melee_a; xlock_wheel_x; bind 1 slot1_melee_s; lasts_melee_s; xlock_last”
alias rbind_melee_s “bind r +reload; bind mouse1 +attack; bind mouse2 +attack2”
//
//
alias lasts_melee_s “lasts_melee_a”
alias lasts_melee_a “alias lastslot_a lasts_melee_x; rotation_b; alias lastslot_s lastslot_b”
alias lasts_melee_b “alias lastslot_b lasts_melee_x; rotation_a; alias lastslot_s lastslot_a”
alias lasts_melee_x “qlock_last; slot1; close_melee_s”
//
//
alias kbind_melee_a “bind tab slot1_melee1a; unbind capslock”
alias mouse_melee_a “bind mouse5 slot1_melee1a; unbind mouse4”
//
//
alias slot1_melee1a “weapon_crowbar”
//
//
//
//
// SIDEARMS
//
alias slot2_sidearms_s “qlock_last; wlock_wheel_x; slot2; unbind r; unbind mouse2; cycle_sidearms_s; xslot_sidearms_s; wheel_sidearms_s; kbind_sidearms_s; mouse_sidearms_s”
//
//
alias cycle_sidearms_s “+attack; wait; -attack; slot2”
alias xslot_sidearms_s “bind 1 slot1_melee_s; unbind 2; bind 3 slot3_xpersonnel_s; bind 4 slot4_heavy_s; bind 5 slot5_explosive_s”
//
//
alias wheel_sidearms_s “bind mwheelup slot1_melee_s; bind mwheeldown slot3_xpersonnel_s”
alias kbind_sidearms_s “bind tab close_sidearms_s; bind capslock close_sidearms_s”
alias mouse_sidearms_s “bind mouse5 close_sidearms_s; bind mouse4 close_sidearms_s; bind mouse1 close_sidearms_s”
//
//
alias close_sidearms_s “+attack; wait; -attack; rbind_sidearms_s; kbind_sidearms_b; mouse_sidearms_b; xlock_wheel_x; bind 2 slot2_sidearms_s; lasts_sidearms_s; xlock_last”
alias rbind_sidearms_s “bind r +reload; bind mouse1 +attack; bind mouse2 +attack2”
//
//
alias lasts_sidearms_s “lasts_sidearms_a”
alias lasts_sidearms_a “alias lastslot_a lasts_sidearms_x; rotation_b; alias lastslot_s lastslot_b”
alias lasts_sidearms_b “alias lastslot_b lasts_sidearms_x; rotation_a; alias lastslot_s lastslot_a”
alias lasts_sidearms_x “qlock_last; slot2; close_sidearms_s”
//
//
alias kbind_sidearms_b “bind tab slot2_sidearms1b; unbind capslock”
alias mouse_sidearms_b “bind mouse5 slot2_sidearms1b; unbind mouse4”
//
//
alias slot2_sidearms1a “weapon_357; weapon_9mmhandgun; kbind_sidearms1a; mouse_sidearms1a”
alias kbind_sidearms1a “bind tab slot2_sidearms1b”
alias mouse_sidearms1a “bind mouse5 slot2_sidearms1b”
//
//
alias slot2_sidearms1b “weapon_357; kbind_sidearms1b; mouse_sidearms1b”
alias kbind_sidearms1b “bind tab slot2_sidearms1a”
alias mouse_sidearms1b “bind mouse5 slot2_sidearms1a”
//
//
//
//
// XPERSONNEL
//
alias slot3_xpersonnel_s “qlock_last; wlock_wheel_x; slot3; unbind r; unbind mouse2; cycle_xpersonnel_s; xslot_xpersonnel_s; wheel_xpersonnel_s; kbind_xpersonnel_s; mouse_xpersonnel_s”
//
//
alias cycle_xpersonnel_s “+attack; wait; -attack; slot3”
alias xslot_xpersonnel_s “bind 1 slot1_melee_s; bind 2 slot2_sidearms_s; unbind 3; bind 4 slot4_heavy_s; bind 5 slot5_explosive_s”
//
//
alias wheel_xpersonnel_s “bind mwheelup slot2_sidearms_s; bind mwheeldown slot4_heavy_s”
alias kbind_xpersonnel_s “bind tab close_xpersonnel_s; bind capslock close_xpersonnel_s”
alias mouse_xpersonnel_s “bind mouse5 close_xpersonnel_s; bind mouse4 close_xpersonnel_s; bind mouse1 close_xpersonnel_s”
//
//
alias close_xpersonnel_s “+attack; wait; -attack; rbind_xpersonnel_s; kbind_xpersonnel_b; mouse_xpersonnel_b; xlock_wheel_x; bind 3 slot3_xpersonnel_s; lasts_xpersonnel_s; xlock_last”
alias rbind_xpersonnel_s “bind r +reload; bind mouse1 +attack; bind mouse2 +attack2”
//
//
alias lasts_xpersonnel_s “lasts_xpersonnel_a”
alias lasts_xpersonnel_a “alias lastslot_a lasts_xpersonnel_x; rotation_b; alias lastslot_s lastslot_b”
alias lasts_xpersonnel_b “alias lastslot_b lasts_xpersonnel_x; rotation_a; alias lastslot_s lastslot_a”
alias lasts_xpersonnel_x “qlock_last; slot3; close_xpersonnel_s”
//
//
alias kbind_xpersonnel_b “bind tab slot3_xpersonnel1b; bind capslock slot3_xpersonnel2a”
alias mouse_xpersonnel_b “bind mouse5 slot3_xpersonnel1b; bind mouse4 slot3_xpersonnel2a”
//
//
alias slot3_xpersonnel1a “weapon_shotgun; weapon_9mmAR; kbind_xpersonnel1a; mouse_xpersonnel1a”
alias kbind_xpersonnel1a “bind tab slot3_xpersonnel1b”
alias mouse_xpersonnel1a “bind mouse5 slot3_xpersonnel1b”
//
//
alias slot3_xpersonnel1b “weapon_shotgun; kbind_xpersonnel1b; mouse_xpersonnel1b”
alias kbind_xpersonnel1b “bind tab slot3_xpersonnel1a”
alias mouse_xpersonnel1b “bind mouse5 slot3_xpersonnel1a”
//
//
alias slot3_xpersonnel2a “weapon_crossbow; kbind_xpersonnel2a; mouse_xpersonnel2a”
alias kbind_xpersonnel2a “bind tab slot3_xpersonnel1a”
alias mouse_xpersonnel2a “bind mouse5 slot3_xpersonnel1a”
//
//
Setup (Part 3)
//
// HEAVY
//
alias slot4_heavy_s “qlock_last; wlock_wheel_x; slot4; unbind r; unbind mouse2; cycle_heavy_s; xslot_heavy_s; wheel_heavy_s; kbind_heavy_s; mouse_heavy_s”
//
//
alias cycle_heavy_s “+attack; wait; -attack; slot4”
alias xslot_heavy_s “bind 1 slot1_melee_s; bind 2 slot2_sidearms_s; bind 3 slot3_xpersonnel_s; unbind 4; bind 5 slot5_explosive_s”
//
//
alias wheel_heavy_s “bind mwheelup slot3_xpersonnel_s; bind mwheeldown slot5_explosive_s”
alias kbind_heavy_s “bind tab close_heavy_s; bind capslock close_heavy_s”
alias mouse_heavy_s “bind mouse5 close_heavy_s; bind mouse4 close_heavy_s; bind mouse1 close_heavy_s”
//
//
alias close_heavy_s “+attack; wait; -attack; rbind_heavy_s; kbind_heavy_b; mouse_heavy_b; xlock_wheel_x; bind 4 slot4_heavy_s; lasts_heavy_s; xlock_last”
alias rbind_heavy_s “bind r +reload; bind mouse1 +attack; bind mouse2 +attack2”
//
//
alias lasts_heavy_s “lasts_heavy_a”
alias lasts_heavy_a “alias lastslot_a lasts_heavy_x; rotation_b; alias lastslot_s lastslot_b”
alias lasts_heavy_b “alias lastslot_b lasts_heavy_x; rotation_a; alias lastslot_s lastslot_a”
alias lasts_heavy_x “qlock_last; slot4; close_heavy_s”
//
//
alias kbind_heavy_b “bind tab slot4_heavy1b; bind capslock slot4_heavy2a”
alias mouse_heavy_b “bind mouse5 slot4_heavy1b; bind mouse4 slot4_heavy2a”
//
//
alias slot4_heavy1a “weapon_gauss; weapon_rpg; kbind_heavy1a; mouse_heavy1a”
alias kbind_heavy1a “bind tab slot4_heavy1b; bind capslock slot4_heavy2a”
alias mouse_heavy1a “bind mouse5 slot4_heavy1b; bind mouse4 slot4_heavy2a”
//
//
alias slot4_heavy1b “weapon_gauss; kbind_heavy1b; mouse_heavy1b”
alias kbind_heavy1b “bind tab slot4_heavy1a”
alias mouse_heavy1b “bind mouse5 slot4_heavy1a”
//
//
alias slot4_heavy2a “weapon_hornetgun; weapon_egon; kbind_heavy2a; mouse_heavy2a”
alias kbind_heavy2a “bind tab slot4_heavy1a; bind capslock slot4_heavy2b”
alias mouse_heavy2a “bind mouse5 slot4_heavy1a; bind mouse4 slot4_heavy2b”
//
//
alias slot4_heavy2b “weapon_hornetgun; kbind_heavy2b; mouse_heavy2b”
alias kbind_heavy2b “bind capslock slot4_heavy2a”
alias mouse_heavy2b “bind mouse4 slot4_heavy2a”
//
//
//
//
// EXPLOSIVE
//
alias slot5_explosive_s “qlock_last; wlock_wheel_x; slot5; unbind r; unbind mouse2; cycle_explosive_s; xslot_explosive_s; wheel_explosive_s; kbind_explosive_s; mouse_explosive_s”
//
//
alias cycle_explosive_s “+attack; wait; -attack; slot5”
alias xslot_explosive_s “bind 1 slot1_melee_s; bind 2 slot2_sidearms_s; bind 3 slot3_xpersonnel_s; bind 4 slot4_heavy_s; unbind 5”
//
//
alias wheel_explosive_s “bind mwheelup slot4_heavy_s; bind mwheeldown slot1_melee_s”
alias kbind_explosive_s “bind tab close_explosive_s; bind capslock close_explosive_s”
alias mouse_explosive_s “bind mouse5 close_explosive_s; bind mouse4 close_explosive_s; bind mouse1 close_explosive_s”
//
//
alias close_explosive_s “+attack; wait; -attack; rbind_explosive_s; kbind_explosive_b; mouse_explosive_b; xlock_wheel_x; bind 5 slot5_explosive_s; lasts_explosive_s; xlock_last”
alias rbind_explosive_s “bind r +reload; bind mouse1 +attack; bind mouse2 +attack2”
//
//
alias lasts_explosive_s “lasts_explosive_a”
alias lasts_explosive_a “alias lastslot_a lasts_explosive_x; rotation_b; alias lastslot_s lastslot_b”
alias lasts_explosive_b “alias lastslot_b lasts_explosive_x; rotation_a; alias lastslot_s lastslot_a”
alias lasts_explosive_x “qlock_last; slot5; close_explosive_s”
//
///
alias kbind_explosive_b “bind tab slot5_explosive1b; bind capslock slot5_explosive2a”
alias mouse_explosive_b “bind mouse5 slot5_explosive1b; bind mouse4 slot5_explosive2a”
//
//
alias slot5_explosive1a “weapon_satchel; weapon_handgrenade; kbind_explosive1a; mouse_explosive1a”
alias kbind_explosive1a “bind tab slot5_explosive1b; bind capslock slot5_explosive2a”
alias mouse_explosive1a “bind mouse5 slot5_explosive1b; bind mouse4 slot5_explosive2a”
//
//
alias slot5_explosive1b “weapon_satchel; kbind_explosive1b; mouse_explosive1b”
alias kbind_explosive1b “bind tab slot5_explosive1a”
alias mouse_explosive1b “bind mouse5 slot5_explosive1a”
//
//
alias slot5_explosive2a “weapon_snark; weapon_tripmine; kbind_explosive2a; mouse_explosive2a”
alias kbind_explosive2a “bind tab slot5_explosive1a; bind capslock slot5_explosive2b”
alias mouse_explosive2a “bind mouse5 slot5_explosive1a; bind mouse4 slot5_explosive2b”
//
//
alias slot5_explosive2b “weapon_snark; kbind_explosive2b; mouse_explosive2b”
alias kbind_explosive2b “bind capslock slot5_explosive2a”
alias mouse_explosive2b “bind mouse4 slot5_explosive2a”
//
//
Issues
In certain situations, you’ll have to press the Capslock or “Back” Mouse Button twice to switch from Laser Tripmine to Snarks. This can’t be fixed, without altering the system.
Post any issues in the comments
And that wraps up our share on Half-Life: Faster weapon switching using 100+ aliases. If you have any additional insights or tips to contribute, don’t hesitate to drop a comment below. For a more in-depth read, you can refer to the original article here by tulex582hr, who deserves all the credit. Happy gaming!