Comparing two revisions:

Revisions for Team IPX ETQW Configs

Fri, 27/06/2008 - 16:46 by ltmonMon, 30/06/2008 - 01:23 by CombatChuck
Changes to Body
 
 
 
 
-
 
+
  +
*Chuck's Key Binds*
  +
Just the fancy ones... most of these are ideas i've stolen from others, so i take very little credit.
  +
The first one is self explanitory:
  +
<pre>bind "del" "kill" "" "default" //suicide</pre>
  +
*Stroy Up & Down Keys*... StroyUp is same as GDF Reload, which feels very natural... I use z for stroy down, but what ever button you choose to use should be easily accessible!
  +
<pre>
  +
bind "r" "_reload" "" "default"
  +
bind "r" "_stroyUp" "" "aggressor" // has to be set individually for each strogg class,
  +
bind "r" "_stroyUp" "" "technician" // so as not to screw up some other class specific binds
  +
bind "r" "_stroyUp" "" "constructor"
  +
bind "r" "_stroyUp" "" "oppressor"
  +
bind "r" "_stroyUp" "" "infiltrator"
  +
bind "z" "_stroyDown" "" "default"
  +
</pre>
  +
*Flyer Controls*: the following script makes flyers behave more like a flyer drone, or free fly while spectating. Personally i find this easier... but i still suck at flying. Note: CTRL is usually my crouch key... substitute C if this is what you use to crouch.
  +
<pre>
  +
seta g_bind_context_anansi "flyer" // create a generic flyer context
  +
seta g_bind_context_bumblebee "flyer"
  +
seta g_bind_context_hornet "flyer"
  +
bind "w" "_sprint" "" "flyer" // Forwards
  +
bind "s" "_speed" "" "flyer" // Airbrake
  +
bind "SPACE" "_forward" "" "flyer" // Up (Ascend)
  +
bind "CTRL" "_back" "" "flyer" // Down (Descend)
  +
</pre>
  +
*Fire decoys with Mouse2*... that pesky 1 key is just to hard to reach quickly. Uses the Vehicle and Flyer contexts, so doesnt affect ironsights when on foot.
  +
<pre>
  +
bind "MOUSE2" "_weapon0" "" "vehicle" // Fire decoy
  +
bind "MOUSE2" "_weapon0" "" "flyer"
  +
</pre>
  +
*Changing the view in vehicles:*
  +
<pre>
  +
bind "HOME" "_vehicleCamera" "" "default" // Toggle 3rd Person View
  +
bind "END" "toggle g_showVehicleCockpits" "" "default" // Toggle Cockpit
  +
</pre>
  +
*Class and Weapon Selection Binds*, save you going to the limbo menu. This last one is a big one, and comes in four parts.
  +
  +
Its big because it needs to be set individually for each class, if you try to consolidate them all to a GDF and Strogg context (similar to how i did the flyer context above) you lose the ability make class specific binds (the weapons selection relies on this).
  +
  +
How it works: pressing alt-1 selects soldier, alt-2 selects medic, alt-3 engineer... etc... if you are Strogg the the Strogg equivalent is selected.
  +
pressing shift-1 selects the first weapon for your current class (eg Assault Rifle), shift-2 the second (eg Shotgun)... etc. Changes take effect on next respawn. oh, and you get a happy green message telling you what you have just chosen.
  +
  +
Part 1: Class Selection for GDF
  +
<pre>
  +
bind "1" "clientClass soldier 0; addchatline '^2Class = Soldier'" "alt" "soldier"
  +
bind "1" "clientClass soldier 0; addchatline '^2Class = Soldier'" "alt" "medic"
  +
bind "1" "clientClass soldier 0; addchatline '^2Class = Soldier'" "alt" "engineer"
  +
bind "1" "clientClass soldier 0; addchatline '^2Class = Soldier'" "alt" "fieldops"
  +
bind "1" "clientClass soldier 0; addchatline '^2Class = Soldier'" "alt" "covertops"
  +
bind "2" "clientClass medic 0; addchatline '^2Class = Medic'" "alt" "soldier"
  +
bind "2" "clientClass medic 0; addchatline '^2Class = Medic'" "alt" "medic"
  +
bind "2" "clientClass medic 0; addchatline '^2Class = Medic'" "alt" "engineer"
  +
bind "2" "clientClass medic 0; addchatline '^2Class = Medic'" "alt" "fieldops"
  +
bind "2" "clientClass medic 0; addchatline '^2Class = Medic'" "alt" "covertops"
  +
bind "3" "clientClass engineer 0; addchatline '^2Class = Engineer'" "alt" "soldier"
  +
bind "3" "clientClass engineer 0; addchatline '^2Class = Engineer'" "alt" "medic"
  +
bind "3" "clientClass engineer 0; addchatline '^2Class = Engineer'" "alt" "engineer"
  +
bind "3" "clientClass engineer 0; addchatline '^2Class = Engineer'" "alt" "fieldops"
  +
bind "3" "clientClass engineer 0; addchatline '^2Class = Engineer'" "alt" "covertops"
  +
bind "4" "clientClass fieldops 0; addchatline '^2Class = Field Ops'" "alt" "soldier"
  +
bind "4" "clientClass fieldops 0; addchatline '^2Class = Field Ops'" "alt" "medic"
  +
bind "4" "clientClass fieldops 0; addchatline '^2Class = Field Ops'" "alt" "engineer"
  +
bind "4" "clientClass fieldops 0; addchatline '^2Class = Field Ops'" "alt" "fieldops"
  +
bind "4" "clientClass fieldops 0; addchatline '^2Class = Field Ops'" "alt" "covertops"
  +
bind "5" "clientClass covertops 0; addchatline '^2Class = Covert Ops'" "alt" "soldier"
  +
bind "5" "clientClass covertops 0; addchatline '^2Class = Covert Ops'" "alt" "medic"
  +
bind "5" "clientClass covertops 0; addchatline '^2Class = Covert Ops'" "alt" "engineer"
  +
bind "5" "clientClass covertops 0; addchatline '^2Class = Covert Ops'" "alt" "fieldops"
  +
bind "5" "clientClass covertops 0; addchatline '^2Class = Covert Ops'" "alt" "covertops"
  +
</pre>
  +
Part 2: Weapon Selection for GDF
  +
<pre>
  +
bind "1" "clientClass soldier 0; addchatline '^2Weapon = Assault Rifle'" "shift" "soldier"
  +
bind "2" "clientClass soldier 1; addchatline '^2Weapon = Rocket Launcher'" "shift" "soldier"
  +
bind "3" "clientClass soldier 2; addchatline '^2Weapon = GPMG'" "shift" "soldier"
  +
bind "4" "clientClass soldier 3; addchatline '^2Weapon = Shotgun'" "shift" "soldier"
  +
bind "1" "clientClass medic 0; addchatline '^2Weapon = Assault Rifle'" "shift" "medic"
  +
bind "2" "clientClass medic 1; addchatline '^2Weapon = Shotgun'" "shift" "medic"
  +
bind "1" "clientClass engineer 0; addchatline '^2Weapon = Assault Rifle'" "shift" "engineer"
  +
bind "2" "clientClass engineer 1; addchatline '^2Weapon = Shotgun'" "shift" "engineer"
  +
bind "3" "clientClass engineer 2; addchatline '^2Weapon = Grenade Launcher'" "shift" "engineer"
  +
bind "1" "clientClass fieldops 0; addchatline '^2Weapon = Assault Rifle'" "shift" "fieldops"
  +
bind "2" "clientClass fieldops 1; addchatline '^2Weapon = Scoped Assault Rifle'" "shift" "fieldops"
  +
bind "1" "clientClass covertops 0; addchatline '^2Weapon = Scoped Assault Rifle'" "shift" "covertops"
  +
bind "2" "clientClass covertops 1; addchatline '^2Weapon = Sniper Rifle'" "shift" "covertops"
  +
</pre>
  +
Part 3: Class Selection for Strogg
  +
<pre>
  +
bind "1" "clientClass aggressor 0; addchatline '^2Class = Aggressor'" "alt" "aggressor"
  +
bind "1" "clientClass aggressor 0; addchatline '^2Class = Aggressor'" "alt" "technician"
  +
bind "1" "clientClass aggressor 0; addchatline '^2Class = Aggressor'" "alt" "constructor"
  +
bind "1" "clientClass aggressor 0; addchatline '^2Class = Aggressor'" "alt" "oppressor"
  +
bind "1" "clientClass aggressor 0; addchatline '^2Class = Aggressor'" "alt" "infiltrator"
  +
bind "2" "clientClass technician 0; addchatline '^2Class = Technician'" "alt" "aggressor"
  +
bind "2" "clientClass technician 0; addchatline '^2Class = Technician'" "alt" "technician"
  +
bind "2" "clientClass technician 0; addchatline '^2Class = Technician'" "alt" "constructor"
  +
bind "2" "clientClass technician 0; addchatline '^2Class = Technician'" "alt" "oppressor"
  +
bind "2" "clientClass technician 0; addchatline '^2Class = Technician'" "alt" "infiltrator"
  +
bind "3" "clientClass constructor 0; addchatline '^2Class = Constructor'" "alt" "aggressor"
  +
bind "3" "clientClass constructor 0; addchatline '^2Class = Constructor'" "alt" "technician"
  +
bind "3" "clientClass constructor 0; addchatline '^2Class = Constructor'" "alt" "constructor"
  +
bind "3" "clientClass constructor 0; addchatline '^2Class = Constructor'" "alt" "oppressor"
  +
bind "3" "clientClass constructor 0; addchatline '^2Class = Constructor'" "alt" "infiltrator"
  +
bind "4" "clientClass oppressor 0; addchatline '^2Class = Oppressor'" "alt" "aggressor"
  +
bind "4" "clientClass oppressor 0; addchatline '^2Class = Oppressor'" "alt" "technician"
  +
bind "4" "clientClass oppressor 0; addchatline '^2Class = Oppressor'" "alt" "constructor"
  +
bind "4" "clientClass oppressor 0; addchatline '^2Class = Oppressor'" "alt" "oppressor"
  +
bind "4" "clientClass oppressor 0; addchatline '^2Class = Oppressor'" "alt" "infiltrator"
  +
bind "5" "clientClass infiltrator 0; addchatline '^2Class = Infiltrator'" "alt" "aggressor"
  +
bind "5" "clientClass infiltrator 0; addchatline '^2Class = Infiltrator'" "alt" "technician"
  +
bind "5" "clientClass infiltrator 0; addchatline '^2Class = Infiltrator'" "alt" "constructor"
  +
bind "5" "clientClass infiltrator 0; addchatline '^2Class = Infiltrator'" "alt" "oppressor"
  +
bind "5" "clientClass infiltrator 0; addchatline '^2Class = Infiltrator'" "alt" "infiltrator"
  +
</pre>
  +
Part 4: Weapon Selection for Strogg
  +
<pre>
  +
bind "1" "clientClass aggressor 0; addchatline '^2Weapon = Lacerator'" "shift" "aggressor"
  +
bind "2" "clientClass aggressor 1; addchatline '^2Weapon = Obliterator'" "shift" "aggressor"
  +
bind "3" "clientClass aggressor 2; addchatline '^2Weapon = Hyperblaster'" "shift" "aggressor"
  +
bind "4" "clientClass aggressor 3; addchatline '^2Weapon = Nailgun'" "shift" "aggressor"
  +
bind "1" "clientClass technician 0; addchatline '^2Weapon = Lacerator'" "shift" "technician"
  +
bind "2" "clientClass technician 1; addchatline '^2Weapon = Nailgun'" "shift" "technician"
  +
bind "1" "clientClass constructor 0; addchatline '^2Weapon = Lacerator'" "shift" "constructor"
  +
bind "2" "clientClass constructor 1; addchatline '^2Weapon = Nailgun'" "shift" "constructor"
  +
bind "3" "clientClass constructor 2; addchatline '^2Weapon = Plasma Launcher'" "shift" "constructor"
  +
bind "1" "clientClass oppressor 0; addchatline '^2Weapon = Lacerator'" "shift" "oppressor"
  +
bind "2" "clientClass oppressor 1; addchatline '^2Weapon = Accurized Lacerator'" "shift" "oppressor"
  +
bind "1" "clientClass infiltrator 0; addchatline '^2Weapon = Accurized Lacerator'" "shift" "infiltrator"
  +
bind "2" "clientClass infiltrator 1; addchatline '^2Weapon = Railgun'" "shift" "infiltrator"
  +
</pre>
Revision of Mon, 30/06/2008 - 01:23:

Team IPX ETQW Configs

WEBSITE RESOURCES
http://4newbies.planetwolfenstein.gamespy.com/ETQW/cvars.php

SUGGESTED CONFIGS

CONFIG variables/defult How its used Whats it Achieve
seta com_unlockFPS 1 0=off, 1=on seta com_unlockFPS 1 Shows your current Frames Per Second in the top right corner
seta com_unlock_timingMethod 1 1=on 0=off seta com_unlock_timingMethod 1 enables you to “increase” your Frames Per Second via the below commands
seta com_unlock_maxFPS 120 defult = 30 seta com_unlock_maxFPS 120 increases your FPS to a max of 120
seta g_fov 120 Defult =95, but can range from 95-120 seta g_fov 120, or seta g_fov 95 etc gives more angle on your field of vision. ie you can see more of whats going on around you

HarassmentPandas Suggested Vehicle Settings
Turn off cockpit
Allow the camera angle to change
Remember Camera Views – This is a huge freaking difference. No cockpit means greater view angle.

Robag’s Settings

path to myconfig.cfg
\My Documents\id Software\Enemy Territory – QUAKE Wars\base\myconfig.cfg

use WORDPAD to create and edit file.
File:myconfig.cfg

CONFIG variables/defult How its used Whats it Achieve
seta net_clientPunkbusterEnabled “1” turns on Punkbuster
seta ui_clanTagPosition “1” Adds Clan tag to the end of your Name
seta ui_clanTag “-^4I^7P^AX” Clan Tag with
seta ui_name “Robag” You UI Name
seta com_allowconsole “1” Enables console press the ~ key to activate
seta g_skipintro “1” turns of Intro Movie
seta com_videoRam “512” Set GPU Ram Size V Important with SLI
seta r_useThreadedRenderer “2” Tunes GPU Rendering Engine
seta g_advancedHud “1” More Hud Details Ingame
bind “w” “_voice” “” “default” Binds World Chat Key
seta g_playTooltipSound “0” Turns Off Tools Tips audio
seta g_tooltipVolumeScale “-20” Suppress Volume for Tool Tips Ingame

path to autoexec.cfg
\My Documents\id Software\Enemy Territory – QUAKE Wars\sdnet\robag\base\autoexec.cfg
File:autoexec.cfg
set logtimestamps “1”
set logfile “2”
set logFileName “console_$Y-$M-$D_$h.$m.$s.log”
set developer “1”
pb_logtofile 1

this creates a handy log file of a full dump of the console during the start up of the game

Replace robag with your ETQW Profile name
The placement of the file is very important.
Otherwise the “profile.cfg” and “bindings.cfg” will reapply the default keybinds.
if you remove “profile.cfg” and “bindings.cfg” files ETQW will replace them the next time you run the game

Ltmon’s Zombie Bot Config
This is a good config to run against bots (won’t work in a pub) in order to set up the Strogg as weaponless zombies and yourself as god. I use this to practice aiming. You should save this in your profile base or pro dir as “zombie.cfg”, then in the console type “exec zombie”.

Next, stand at the top of a hill with a supply crate and fire at any passing strogg. They’ll come towards you, and you can practice aiming and see if you can get them all before the top of the hill. Turning on jumping and strafe jumping will make it harder, and you can also tweak this to do the same thing as a Strogg yourself.

net_allowcheats 1
god
bot_enable 1
bot_uiSkill 2
bot_skill 2
bot aimSkill 2
bot_uiNumGDF 0
bot_uiNumStrogg 12
botSillyWarmup 0
bot_knifeOnly 1
bot_useVehicles 0
bot_useRearSpawn 0
bot_ignoreGoals 1
bot_doObjectives 0
bot_noTaunt 1
bot_noChat 1
bot_canDropDeployables 0
bot_canStrafeJump 0
bot_noRandomJump 1
bot_useSpawnHosts 0

Chuck’s Key Binds
Just the fancy ones… most of these are ideas i’ve stolen from others, so i take very little credit.
The first one is self explanitory:

bind "del" "kill" "" "default"          //suicide

Stroy Up & Down Keys… StroyUp is same as GDF Reload, which feels very natural… I use z for stroy down, but what ever button you choose to use should be easily accessible!

bind "r" "_reload" "" "default"
bind "r" "_stroyUp" "" "aggressor"        // has to be set individually for each strogg class,
bind "r" "_stroyUp" "" "technician"        // so as not to screw up some other class specific binds
bind "r" "_stroyUp" "" "constructor"
bind "r" "_stroyUp" "" "oppressor"
bind "r" "_stroyUp" "" "infiltrator"
bind "z" "_stroyDown" "" "default"

Flyer Controls: the following script makes flyers behave more like a flyer drone, or free fly while spectating. Personally i find this easier… but i still suck at flying. Note: CTRL is usually my crouch key… substitute C if this is what you use to crouch.

seta g_bind_context_anansi "flyer"     // create a generic flyer context
seta g_bind_context_bumblebee "flyer"
seta g_bind_context_hornet "flyer"
bind "w" "_sprint" "" "flyer"                // Forwards
bind "s" "_speed" "" "flyer"                // Airbrake
bind "SPACE" "_forward" "" "flyer"        // Up (Ascend)
bind "CTRL" "_back" "" "flyer"            // Down (Descend)

Fire decoys with Mouse2… that pesky 1 key is just to hard to reach quickly. Uses the Vehicle and Flyer contexts, so doesnt affect ironsights when on foot.

bind "MOUSE2" "_weapon0" "" "vehicle"     // Fire decoy
bind "MOUSE2" "_weapon0" "" "flyer"

Changing the view in vehicles:

bind "HOME" "_vehicleCamera" "" "default"               // Toggle 3rd Person View
bind "END" "toggle g_showVehicleCockpits" "" "default"   // Toggle Cockpit

Class and Weapon Selection Binds, save you going to the limbo menu. This last one is a big one, and comes in four parts.

Its big because it needs to be set individually for each class, if you try to consolidate them all to a GDF and Strogg context (similar to how i did the flyer context above) you lose the ability make class specific binds (the weapons selection relies on this).

How it works: pressing alt-1 selects soldier, alt-2 selects medic, alt-3 engineer… etc… if you are Strogg the the Strogg equivalent is selected.
pressing shift-1 selects the first weapon for your current class (eg Assault Rifle), shift-2 the second (eg Shotgun)… etc. Changes take effect on next respawn. oh, and you get a happy green message telling you what you have just chosen.

Part 1: Class Selection for GDF

bind "1" "clientClass soldier 0; addchatline '^2Class = Soldier'" "alt" "soldier"
bind "1" "clientClass soldier 0; addchatline '^2Class = Soldier'" "alt" "medic"
bind "1" "clientClass soldier 0; addchatline '^2Class = Soldier'" "alt" "engineer"
bind "1" "clientClass soldier 0; addchatline '^2Class = Soldier'" "alt" "fieldops"
bind "1" "clientClass soldier 0; addchatline '^2Class = Soldier'" "alt" "covertops"
bind "2" "clientClass medic 0; addchatline '^2Class = Medic'" "alt" "soldier"
bind "2" "clientClass medic 0; addchatline '^2Class = Medic'" "alt" "medic"
bind "2" "clientClass medic 0; addchatline '^2Class = Medic'" "alt" "engineer"
bind "2" "clientClass medic 0; addchatline '^2Class = Medic'" "alt" "fieldops"
bind "2" "clientClass medic 0; addchatline '^2Class = Medic'" "alt" "covertops"
bind "3" "clientClass engineer 0; addchatline '^2Class = Engineer'" "alt" "soldier"
bind "3" "clientClass engineer 0; addchatline '^2Class = Engineer'" "alt" "medic"
bind "3" "clientClass engineer 0; addchatline '^2Class = Engineer'" "alt" "engineer"
bind "3" "clientClass engineer 0; addchatline '^2Class = Engineer'" "alt" "fieldops"
bind "3" "clientClass engineer 0; addchatline '^2Class = Engineer'" "alt" "covertops"
bind "4" "clientClass fieldops 0; addchatline '^2Class = Field Ops'" "alt" "soldier"
bind "4" "clientClass fieldops 0; addchatline '^2Class = Field Ops'" "alt" "medic"
bind "4" "clientClass fieldops 0; addchatline '^2Class = Field Ops'" "alt" "engineer"
bind "4" "clientClass fieldops 0; addchatline '^2Class = Field Ops'" "alt" "fieldops"
bind "4" "clientClass fieldops 0; addchatline '^2Class = Field Ops'" "alt" "covertops"
bind "5" "clientClass covertops 0; addchatline '^2Class = Covert Ops'" "alt" "soldier"
bind "5" "clientClass covertops 0; addchatline '^2Class = Covert Ops'" "alt" "medic"
bind "5" "clientClass covertops 0; addchatline '^2Class = Covert Ops'" "alt" "engineer"
bind "5" "clientClass covertops 0; addchatline '^2Class = Covert Ops'" "alt" "fieldops"
bind "5" "clientClass covertops 0; addchatline '^2Class = Covert Ops'" "alt" "covertops"

Part 2: Weapon Selection for GDF

bind "1" "clientClass soldier 0; addchatline '^2Weapon = Assault Rifle'" "shift" "soldier"
bind "2" "clientClass soldier 1; addchatline '^2Weapon = Rocket Launcher'" "shift" "soldier"
bind "3" "clientClass soldier 2; addchatline '^2Weapon = GPMG'" "shift" "soldier"
bind "4" "clientClass soldier 3; addchatline '^2Weapon = Shotgun'" "shift" "soldier"
bind "1" "clientClass medic 0; addchatline '^2Weapon = Assault Rifle'" "shift" "medic"
bind "2" "clientClass medic 1; addchatline '^2Weapon = Shotgun'" "shift" "medic"
bind "1" "clientClass engineer 0; addchatline '^2Weapon = Assault Rifle'" "shift" "engineer"
bind "2" "clientClass engineer 1; addchatline '^2Weapon = Shotgun'" "shift" "engineer"
bind "3" "clientClass engineer 2; addchatline '^2Weapon = Grenade Launcher'" "shift" "engineer"
bind "1" "clientClass fieldops 0; addchatline '^2Weapon = Assault Rifle'" "shift" "fieldops"
bind "2" "clientClass fieldops 1; addchatline '^2Weapon = Scoped Assault Rifle'" "shift" "fieldops"
bind "1" "clientClass covertops 0; addchatline '^2Weapon = Scoped Assault Rifle'" "shift" "covertops"
bind "2" "clientClass covertops 1; addchatline '^2Weapon = Sniper Rifle'" "shift" "covertops"

Part 3: Class Selection for Strogg

bind "1" "clientClass aggressor 0; addchatline '^2Class = Aggressor'" "alt" "aggressor"
bind "1" "clientClass aggressor 0; addchatline '^2Class = Aggressor'" "alt" "technician"
bind "1" "clientClass aggressor 0; addchatline '^2Class = Aggressor'" "alt" "constructor"
bind "1" "clientClass aggressor 0; addchatline '^2Class = Aggressor'" "alt" "oppressor"
bind "1" "clientClass aggressor 0; addchatline '^2Class = Aggressor'" "alt" "infiltrator"
bind "2" "clientClass technician 0; addchatline '^2Class = Technician'" "alt" "aggressor"
bind "2" "clientClass technician 0; addchatline '^2Class = Technician'" "alt" "technician"
bind "2" "clientClass technician 0; addchatline '^2Class = Technician'" "alt" "constructor"
bind "2" "clientClass technician 0; addchatline '^2Class = Technician'" "alt" "oppressor"
bind "2" "clientClass technician 0; addchatline '^2Class = Technician'" "alt" "infiltrator"
bind "3" "clientClass constructor 0; addchatline '^2Class = Constructor'" "alt" "aggressor"
bind "3" "clientClass constructor 0; addchatline '^2Class = Constructor'" "alt" "technician"
bind "3" "clientClass constructor 0; addchatline '^2Class = Constructor'" "alt" "constructor"
bind "3" "clientClass constructor 0; addchatline '^2Class = Constructor'" "alt" "oppressor"
bind "3" "clientClass constructor 0; addchatline '^2Class = Constructor'" "alt" "infiltrator"
bind "4" "clientClass oppressor 0; addchatline '^2Class = Oppressor'" "alt" "aggressor"
bind "4" "clientClass oppressor 0; addchatline '^2Class = Oppressor'" "alt" "technician"
bind "4" "clientClass oppressor 0; addchatline '^2Class = Oppressor'" "alt" "constructor"
bind "4" "clientClass oppressor 0; addchatline '^2Class = Oppressor'" "alt" "oppressor"
bind "4" "clientClass oppressor 0; addchatline '^2Class = Oppressor'" "alt" "infiltrator"
bind "5" "clientClass infiltrator 0; addchatline '^2Class = Infiltrator'" "alt" "aggressor"
bind "5" "clientClass infiltrator 0; addchatline '^2Class = Infiltrator'" "alt" "technician"
bind "5" "clientClass infiltrator 0; addchatline '^2Class = Infiltrator'" "alt" "constructor"
bind "5" "clientClass infiltrator 0; addchatline '^2Class = Infiltrator'" "alt" "oppressor"
bind "5" "clientClass infiltrator 0; addchatline '^2Class = Infiltrator'" "alt" "infiltrator"

Part 4: Weapon Selection for Strogg

bind "1" "clientClass aggressor 0; addchatline '^2Weapon = Lacerator'" "shift" "aggressor"
bind "2" "clientClass aggressor 1; addchatline '^2Weapon = Obliterator'" "shift" "aggressor"
bind "3" "clientClass aggressor 2; addchatline '^2Weapon = Hyperblaster'" "shift" "aggressor"
bind "4" "clientClass aggressor 3; addchatline '^2Weapon = Nailgun'" "shift" "aggressor"
bind "1" "clientClass technician 0; addchatline '^2Weapon = Lacerator'" "shift" "technician"
bind "2" "clientClass technician 1; addchatline '^2Weapon = Nailgun'" "shift" "technician"
bind "1" "clientClass constructor 0; addchatline '^2Weapon = Lacerator'" "shift" "constructor"
bind "2" "clientClass constructor 1; addchatline '^2Weapon = Nailgun'" "shift" "constructor"
bind "3" "clientClass constructor 2; addchatline '^2Weapon = Plasma Launcher'" "shift" "constructor"
bind "1" "clientClass oppressor 0; addchatline '^2Weapon = Lacerator'" "shift" "oppressor"
bind "2" "clientClass oppressor 1; addchatline '^2Weapon = Accurized Lacerator'" "shift" "oppressor"
bind "1" "clientClass infiltrator 0; addchatline '^2Weapon = Accurized Lacerator'" "shift" "infiltrator"
bind "2" "clientClass infiltrator 1; addchatline '^2Weapon = Railgun'" "shift" "infiltrator"