Developer cheats

From Mod Wiki

TO DO:

The list below contains the frequently used in-game developer cvars used by the Splash Damage level designers. Use the htmlCvars console command to dump an html file containing a full list and description of every cvar in the game..

The console can be accessed in game via pressing the keyboard above TAB on most keyboards (~ on American keyboards, ¬ on most European ones). Sometimes you may need to use ctrlalt~ for non-developer versions of the game. Some console commands also work in the console window of editWorld.


AAS cvars

aas_locationMemory

  • used to remember a particular location, set to 'current' to store the current x,y,z location
  • type: string (cheat)

aas_pullPlayer

  • pull the player to the specified area
  • type: string (cheat)

aas_randomPullPlayer

  • pull the player to a random area
  • type: int (cheat)

aas_showAreaNumber

  • show the specific area number set
  • type: int (cheat)

aas_showAreas

  • show the areas in the selected aas
  • type: int [0, 2] (cheat)

aas_showBadAreas

  • show bad AAS areas
  • type: int [0, 3] (cheat)

aas_showFuncObstacles

  • show the AAS func_obstacles on the map
  • type: bool (cheat)
  • default: 0 (false)

aas_showManualReachabilities

  • show manually placed reachabilities
  • type: bool (cheat)
  • default: 0 (false)

aas_showPath

  • show the path to the walk specified area
  • type: string (cheat)

aas_showWallEdges

  • show the edges of walls, 2 = project all to same height, 3 = project onscreen
  • type: int [0, 3] (cheat)

aas_skipObstacleAvoidance

  • ignore all dynamic obstacles along paths
  • type: bool (cheat)
  • default: 0 (false)

aas_test

  • select which AAS to test
  • type: string [aas_player, aas_vehicle] (cheat)

Bots cvars

bot_debug

  • Debug various bot subsystems. Many bot debugging features are disabled if this is not set to 1
  • type: bool (cheat)
  • default: 0 (false)

bot_debugMapScript

  • Allows you to debug the bot script.
  • type: bool (cheat)
  • default: 0 (false)

bot_doObjectives

  • 0 = bots let the player play the hero, with the bots filling a supporting role, 1 = bots do all the major objectives along with the player
  • type: bool
  • default: 1 (true)

bot_drawActionDist

  • How far away to draw the bot action info. Default is 2048
  • type: float (cheat)

bot_drawActionGroupNum

  • Filter what action groups to draw with the bot_drawAction cmd. -1 = disabled.
  • type: int (cheat)

bot_drawActionNumber

  • Draw a specific bot action only. -1 = disable
  • type: int (cheat)

bot_drawActionRoutesOnly

  • Draw only the bot actions that have the defined route.
  • type: int (cheat)

bot_drawActions

  • Draw the bot's actions.
  • type: bool (cheat)
  • default: 0 (false)

bot_drawActionTypeOnly

  • Draw only actions that have a gdf/strogg goal number matching the cvar value. Check the bot manual for goal numbers. -1 = disabled.
  • type: int (cheat)

bot_drawActionVehicleType

  • Draw only the actions that have this vehicleType set. -1 = disable
  • type: int (cheat)

bot_drawActionWithClasses

  • Draw only actions that have a validClass set to anything other then 0 ( 0 = any class ).
  • type: bool (cheat)
  • default: 0 (false)

bot_drawActiveActionsOnly

  • Draw only active bot actions. 1 = all active actions. 2 = only GDF active actions. 3 = only Strogg active actions. Combo actions, that have both GDF and strogg goals, will still show up.
  • type: int (cheat)

bot_drawActiveRoutesOnly

  • Only draw the active routes on the map.
  • type: bool (cheat)
  • default: 0 (false)

bot_drawBadIcarusActions

  • Draw actions with an icarus flag, that aren't in a valid vehicle AAS area.
  • type: bool (cheat)
  • default: 0 (false)

bot_drawClientNumbers

  • Draw every clients number above their head
  • type: bool (cheat)
  • default: 0 (false)

bot_drawDefuseHints

  • draw the bot's defuse hints.
  • type: bool (cheat)
  • default: 0 (false)

bot_drawIcarusActions

  • Draw actions with an icarus flag, that appear valid to the AAS.
  • type: bool (cheat)
  • default: 0 (false)

bot_drawNodeNumber

  • draw a specific vehicle path node
  • type: int (cheat)

bot_drawNodes

  • draw vehicle path nodes
  • type: bool (cheat)
  • default: 0 (false)

bot_drawObstacles

  • Draw the bot's dynamic obstacles in the world
  • type: bool (cheat)
  • default: 0 (false)

bot_drawRearSpawnLocations

  • Draw the rear spawn locations for each team
  • type: bool (cheat)
  • default: 0 (false)

bot_drawRouteGroupOnly

  • Only draw routes that have the groupID specified.
  • type: int (cheat)

bot_drawRoutes

  • Draw the routes on the map.
  • type: bool (cheat)
  • default: 0 (false)

bot_followMe

  • Have the bots follow you in debug mode
  • type: int (cheat)

bot_godMode

  • Set to the bot client you want to enter god mode. -1 = disable.
  • type: int (cheat)

bot_hud

  • Print out the bots debug info onto the players HUD. Set to the clientNum of the bot to debug. 0 = disable. Make sure bot_debug is 1.
  • type: int (cheat)

bot_ignoreEnemies

  • If set to 1, bots will ignore all enemies. Useful for debugging bot behavior
  • type: int (cheat)

bot_ignoreGoals

  • If set to 1, bots will ignore all map objectives. Useful for debugging bot behavior
  • type: int (cheat)

bot_minClients

  • Keep a minimum number of clients on the server with bots and humans. -1 to disable
  • type: int [-1, 32]

bot_minClientsMax

  • Maximum allowed value of bot_minClients. Only affects the in-game UI.
  • type: int [-1, 32] (init)

bot_pause

  • Pause the bot's thinking - useful for screenshots/debugging/etc
  • type: bool (cheat)
  • default: 0 (false)

bot_showPath

  • Show the path for the bot's client number. -1 = disable.
  • type: int (cheat)

bot_spectateDebug

  • If enabled, automatically sets the debug hud to the bot being spectated
  • type: bool (cheat)
  • default: 0 (false)

bot_testPathToBotAction

  • based on which aas type aas_test is set to, will test to see if a path is available from the players current origin, to the bot action in question. You need to join a team for this to work properly! -1 = disabled.
  • type: int (cheat)

bot_threading

  • enable running the bot AI in a separate thread
  • type: bool
  • default: 1 (true)

bot_useDeployables

  • 0 = bots dont drop deployables of any kind, 1 = bots can drop all deployables
  • type: bool
  • default: 1 (true)

bot_useVehicles

  • 0 = bots dont use vehicles, 1 = bots do use vehicles
  • type: bool
  • default: 1 (true)

Common cvars

cm_drawColor

  • color used to draw the collision models
  • type: string (cheat)

cm_drawFilled

  • draw filled polygons
  • type: bool (cheat)
  • default: 0 (false)

cm_drawMask

  • collision mask
  • type: string [none, solid, opaque, water, playerclip, moveableclip, ikclip, slidemover, body, corpse, trigger, vehicleclip, rendermodel, projectile, explosion, monster, forcefield, crosshair, flyerhive] (cheat)

com_allowConsole

  • allow toggling console with the tilde key
  • type: bool
  • default: 1 (true)

com_gpuSpec

  • hardware classification, -1 = not detected, 0 = low quality, 1 = medium quality, 2 = high quality, 3 = ultra quality
  • type: int

com_showFPS

  • show frames rendered per second
  • type: bool
  • default: 0 (false)

con_noPrint

  • print on the console but not onscreen when console is pulled up
  • type: bool
  • default: 1 (true)

developer

  • developer mode
  • type: bool
  • default: 1 (true)

g_debugLocations

  • type: bool (cheat)
  • default: 0 (false)

g_debugMask

  • debugs a deployment mask
  • type: string (cheat)

g_disableVehicleSpawns

  • disables vehicles spawning from construction pads
  • type: string (cheat)

g_drawRouteConstraints

  • draws lines showing route constraints
  • type: int (cheat)

g_maxShowDistance

  • type: float (cheat)

g_showCollisionModels

  • type: bool (cheat)
  • default: 0 (false)

g_showCollisionWorld

  • type: int (cheat)

g_showEntityInfo

  • type: bool (cheat)
  • default: 0 (false)

g_showHud

  • draw the hud gui
  • type: bool
  • default: 1 (true)

g_showTriggers

  • draws trigger entities (orange) and their targets (green). disabled triggers are drawn grey.
  • type: bool (cheat)
  • default: 0 (false)

g_warmup

  • Length (in minutes) of warmup period
  • type: float

pm_noclipspeed

  • speed the player can move while in noclip
  • type: float

pm_noclipspeedsprint

  • speed the player can move while in noclip and sprinting
  • type: float

pm_noclipspeedwalk

  • speed the player can move while in noclip and walking
  • type: float

pm_spectatespeed

  • speed the player can move while spectating
  • type: float

pm_spectatespeedsprint

  • speed the player can move while spectating and sprinting
  • type: float

pm_spectatespeedwalk

  • speed the player can move while spectating and walking
  • type: float

pm_thirdPerson

  • enables third person view
  • type: bool (cheat)
  • default: 0 (false)

pm_thirdPersonAngle

  • direction of camera from player in 3rd person in degrees (0 = behind player, 180 = in front)
  • type: float (cheat)

pm_thirdPersonClip

  • clip third person view into world space
  • type: bool (cheat)
  • default: 1 (true)

pm_thirdPersonHeight

  • height of camera from normal view height in 3rd person
  • type: float (cheat)

pm_thirdPersonRange

  • camera distance from player in 3rd person
  • type: float (cheat)

r_clear

  • force screen clear every frame, 1 = purple, 2 = black, 'r g b' = custom
  • type: string (cheat)

r_debugViewEntities

  • type: int (cheat)

r_fullscreen

  • 0 = windowed, 1 = full screen
  • type: bool
  • default: 1 (true)

r_lockedView

  • type: int (cheat)

r_shadowPass

  • enable shadow pass
  • type: bool (cheat)
  • default: 1 (true)

r_shadows

  • enable shadows
  • type: bool
  • default: 1 (true)

r_showBatches

  • draw each batch with a different color
  • type: bool (cheat)
  • default: 0 (false)

r_showBatchInfo

  • report batch counts for various types
  • type: int (cheat)

r_showBatchSize

  • highlighting of draw batches that fall below the desired polygons per draw call (purple really bad, red bad, yellow moderate, green good), 1 = only draw visible ones, 2 = draw all front facing, 3 = draw all
  • type: int [0, 3] (cheat)

r_showLightCount

  • 1 = colors surfaces based on light count, 2 = also count everything through walls, 3 = also print overdraw
  • type: int [0, 3] (cheat)

r_showLights

  • 1 = just print volumes numbers, highlighting ones covering the view, 2 = also draw planes of each volume, 3 = also draw edges of each volume
  • type: int [0, 3] (cheat)

r_showMegaTextureSTGrid

  • Show megaTexture ST grid
  • type: bool (cheat)
  • default: 0 (false)

r_showModelTypes

  • show model types, red - md5, blue - area, green - lodentity, white - other
  • type: int (cheat)

r_showOverDraw

  • 1 = geometry overdraw, 2 = light interaction overdraw, 3 = geometry and light interaction overdraw
  • type: int [0, 3] (cheat)

r_showPortals

  • draw portal outlines in color based on passed / not passed
  • type: int (cheat)

r_showPrimitives

  • report drawsurf/index/vertex counts
  • type: int (cheat)

r_showShadowCount

  • colors screen based on shadow volume depth complexity, >= 2 = print overdraw count based on stencil index values, 3 = only show turboshadows, 4 = only show static shadows
  • type: int [0, 4] (cheat)

r_showShadows

  • 1 = visualize the stencil shadow volumes, 2 = draw filled in
  • type: int [0, 4] (cheat)

r_showSurfaceInfo

  • show surface material name under crosshair
  • type: int (cheat)

r_showTris

  • enables wireframe rendering of the world, 1 = only draw visible ones, 2 = draw all front facing, 3 = draw all
  • type: int [0, 3] (cheat)

r_skipDiffuse

  • 1 = use black for diffuse, 2 = use white for diffuse
  • type: int (cheat)

r_skipImposters

  • Skip imposter generation and rendering
  • type: bool (cheat)
  • default: 0 (false)

r_skipInstances

  • skip rendering of instances
  • type: bool (cheat)
  • default: 0 (false)

r_skipSpecular

  • use black for specular
  • type: bool (cheat)
  • default: 0 (false)

r_skipStuff

  • Don't draw stuff models
  • type: bool
  • default: 0 (false)

r_usePortals

  • 1 = use portals to perform area culling, otherwise draw everything
  • type: bool (cheat)
  • default: 1 (true)

r_useScissor

  • scissor clip as portals and lights are processed
  • type: bool (cheat)
  • default: 1 (true)

r_visDistMult

  • type: float [0.8, 1.2]

r_visDistOfs

  • type: float (cheat)

si_adminStart

  • admin required to start the match
  • type: string

si_pure

  • server is pure and does not allow modified data
  • type: bool
  • default: 1 (true)

si_rules

  • ruleset for game
  • type: string
  • Note: set this to "sdGameRulesObjective" if you want to test a single map. Other choices include "sdGameRulesCampaign" and "sdGameRulesStopWatch".

timescale

  • scales the time
  • type: float [0.1, 10]

ui_showGun

  • show gun
  • type: bool
  • default: 1 (true)

win_allowMultipleInstances

  • allow multiple instances running concurrently
  • type: bool (cheat)
  • default: 0 (false)

Common commands

god

  • Makes the player invulnerable.
  • Note: A GDF player coming into contact with a Strogg energy force field will still die.

give ammo

  • Return your ammo to full value.

give health

  • Return your health to full value.

give class <classname>

  • Switch to a specific class without respawning.
  • Replace <classname> with the appropriate class.
  • GDF Examples:
    • give class solider
    • give class medic
    • give class engineer
    • give class fieldops
    • give class covertops
  • Strogg Examples:
    • give class aggressor
    • give class technician
    • give class constructor
    • give class oppressor
    • give class infiltrator

g_maxProficiency

  • Set this to "1" and then respawn into the map. You will now have all the campaign unlocks.
  • This is usefull for testing a map with the upgraded skill rewards.
  • In particular:
    • Faster Sprint (test trick jumps and time runs between objectives)
    • GDF Grenade Launcher and Strogg Plasma Launcher (test bounces, accessibility)

noclip

  • Allows the player to "fly" around the map and through geometry.

notarget

  • Enemy bots and Base Defense Turrets will not attack you.

spawn <deployable_name>

  • Spawn a deployable into the map where you are standing, facing towards you. The deployable will spawn in with the correct team settings (ie. if you are a Strogg and you spawn a GDF Anti-personnel turret it will shoot at you unless you are in godmode, in which case it will ignore you).
  • Replace <deployable_name> with the appropriate deployable.
  • GDF Examples:
    • spawn deployable_amt_gdf
      • Note: This is the Engineer's Artillery Interceptor Turret
    • spawn deployable_antipersonnel_gdf
    • spawn deployable_antiarmour_gdf
      • Note: This is the Engineer's anti-vehicle turret
    • spawn deployable_artillery
    • spawn deployable_radar
    • spawn deployable_rockets
    • spawn deployable_ssm
      • Note: This is the Field Ops' Hammer Launcher
  • Strogg Examples:
    • spawn deployable_antipersonnel_strogg
    • spawn deployable_antiarmour_strogg
      • Note: This is the Constructor's anti-vehicle turret
    • spawn deployable_psi
      • Note: This is the Infiltrator's Psi Radar
    • spawn deployable_railhowitzer
    • spawn deployable_shield_generator
      • Note: This is the Constructor's Artillery Interceptor Turret
    • spawn deployable_ssg
      • Note: This is the Oppressor's Dark Matter Cannon

spawn <vehicle_name>

  • Spawn a vehicle into the map where you are standing, facing towards you. The vehicle will spawn in as a neutral team so as a developer you can enter any vehicle regardless of your team (ie. if you are Strogg you can spawn a GDF Anansi and fly around).
  • Replace <vehicle_name> with the appropriate vehicle.
  • GDF Examples:
    • spawn vehicle_anansi
    • spawn vehicle_badger
      • Note: This is the old name for the Armadillo
    • spawn vehicle_bumblebee
    • spawn vehicle_husky
    • spawn vehicle_mcp
    • spawn vehicle_platypus
    • spawn vehicle_titan
    • spawn vehicle_trojan
  • Strogg Examples:
    • spawn vehicle_desecrator
    • spawn vehicle_goliath
      • Note: This is the old name for the Cyclops
    • spawn vehicle_hog
    • spawn vehicle_hornet
      • Note: This is the old name for the Tormentor
    • spawn vehicle_icarus

Example key binds

MODIFIER and CONTEXT binding

  • bind <key> <command> <modifier> <context>
    • "modifier" is a key press & hold before the bound key press
    • "context" for binds: "default" (on foot), "vehicle" (all vehicles), "menu"
    • eg. CTRL+F4 switches between timescale 10 and timescale 1

Examples from nkd_dev.cfg

These are taken from "base/nkd_dev.cfg".

bind a "toggle aas_showAreas 1 0" "SHIFT" "default"
bind a "toggle bot_drawActiveActionsOnly 0 1 2 3" "CTRL" "default"

bind a "toggle bot_drawActions 1 0; bot_drawActiveActionsOnly 0" "ALT" "default"

bind b "toggle aas_showBadAreas 0 1 2 3" "SHIFT" "default"
bind b "toggle bot_debug 1 0; toggle bot_debugMapScript 1 0" "ALT" "default"

bind c "toggle bot_drawClientNumbers 1 0" "ALT" "default"

bind d "toggle bot_drawActionDist 4096 10240 32768 2048" "ALT" "default"

bind f "toggle aas_showFuncObstacles 0 1" "ALT" "default"
bind f "toggle com_showFPS 0 1" "CTRL" "default"

bind g "toggle ui_showGun 0 1" "CTRL" "default"

bind h "toggle g_showHud 0 1" "CTRL" "default"

bind i "toggle bot_drawIcarusActions 0 1" "CTRL" "default"
bind i "toggle bot_drawBadIcarusActions 0 1" "ALT" "default"

bind j "toggle bot_canStrafeJump 1 0" "ALT" "default"

bind l "toggle r_showlightinfo -1 -2" "ALT" "default"

bind n "toggle con_noPrint 1 0" "CTRL" "default"
bind n "notarget" "SHIFT" "default"
bind n "toggle bot_drawNodes 1 0" "ALT" "default"

bind o "toggle bot_drawObstacles" "ALT" "default"

bind p "toggle bot_pause 1 0" "ALT" "default"

bind q "setLightInfo -1 select" "SHIFT" "default"
bind q "setLightInfo -1 toggle" "CTRL" "default"
bind q "setLightInfo -1 shadowstoggle" "ALT" "default"

bind r "toggle aas_showManualReachabilities 1 0" "SHIFT" "default"
bind r "toggle bot_drawActiveRoutesOnly 0 1" "CTRL" "default"
bind r "toggle bot_drawRoutes 1 0; bot_drawActiveRoutesOnly 0" "ALT" "default"

bind t "toggle bot_threading 1 0" "ALT" "default"

bind w "toggle aas_showWallEdges 0 1 2 3" "SHIFT" "default"

bind F4 "toggle timescale 10 1" "CTRL" "default"

bind F5 "toggle r_showPrimitives 0 1"
bind F5 "toggle r_showSurfaceInfo 0 1" "CTRL" "default"
bind F5 "toggle g_showEntityInfo 0 1" "SHIFT" "default"
bind F5 "toggle r_debugViewEntities 0 1 2" "ALT" "default"

bind F6 "toggle r_lockedView 1 0"
bind F6 "toggle r_visDistOfs 0 2048 4096 8192 10240 14000 16384 20000" "CTRL" "default"
bind F6 "toggle com_gpuSpec 0 3" "ALT" "default"

bind F7 "toggle r_showPortals 0 1 2 3"
bind F7 "toggle r_usePortals 0 1" "CTRL" "default"
bind F7 "sizedown" "SHIFT" "default"
bind F7 "sizeup" "ALT" "default"

bind F8 "toggle r_showTris 0 1 2 3"
bind F8 "toggle r_showOcclusions 0 1" "CTRL" "default"
bind F8 "toggle r_showModelTypes 0 1" "SHIFT" "default"

bind F9 "toggle r_showLightCount 0 1"
bind F9 "toggle r_showLights 0 1 2 3" "CTRL" "default"
bind F9 "toggle r_showShadowCount 0 1 2" "SHIFT" "default"
bind F9 "toggle r_showShadows 0 1 2 3" "ALT" "default"

bind F10 "toggle r_showBatches 0 1"
bind F10 "toggle r_showBatchInfo  0 1" "CTRL" "default"
bind F10 "toggle r_showBatchSize 0 1 2 3" "SHIFT" "default"

bind F11 "toggle r_skipDiffuse 0 1 2"
bind F11 "toggle r_skipBump 0 1" "CTRL" "default"
bind F11 "toggle r_skipSpecular 0 1" "SHIFT" "default"
bind F11 "toggle r_skipImposters 0 1" "ALT" "default"

bind F12 "con_noprint 1; com_showfps 0; g_showhud 0; ui_showgun 0; wait; wait; wait; screenshot; toggle con_noprint; toggle com_showfps; toggle g_showhud; toggle ui_showgun"
//Note: This is a "clean" screenshot with no hud, gun, or any debug prints onscreen.

bind F12 "takeViewNote" "CTRL" "default"
//Note: This command pops up a GUI so you can type a brief note onto the screenshot.

bind F12 "screenshot" "SHIFT" "default"
//Note: This is the regular screenshot command.

Example shorcuts/bat files

EditWorld shortcut

  • C:\ETQW\etqw.exe +set win_allowMultipleInstances 1 +set developer 1 +set logfile 2 +set r_fullscreen 0 +editworld

ETQW game devmap shorcut

  • C:\ETQW\etqw.exe +set win_allowMultipleInstances 1 +set con_noprint 0 +set developer 1 +set logfile 2 +set r_fullscreen 0 +set g_warmup 0 +set si_readyPercent 0
    • Note: This shortcut is intended to load the game in developer mode and allow the level designer to bypass the "Warmup" period of the map.
    • Note: Add this to directly load a particular map while you grab a coffee: +devmap area22

ETQW game spawnserver Bot bat file

  • etqw.exe +set win_allowMultipleInstances 1 +set con_noprint 0 +set developer 1 +seta logfile 2 +set r_fullscreen 0 +set si_readypercent 0 +set si_minplayers 0 +set bot_minClients -1 +set net_allowCheats 1 +spawnServer area22
    • Note: This bat file spawns the a local server with cheats enabled, no warmup, and no bots. Change bot_minClients to a value that is not "-1" and they will then spawn in.

nakedape's bot settings

  • Note: I put these into a cfg, base/set_bot_cvars.cfg, and then would exec this cfg once the spawn server was loaded using the above bat file. This allowed me to launch server, get a coffee, and then come back to a loaded map, add the bots and settings in one step, and then begin testing.
set bot_debug 1
set bot_debugMapScript 1
set bot_drawClientNumbers 1
set bot_minClients 17
set bot_noChat 1
set bot_useStrafeJump 1
set g_warmup 1
set net_allowcheats 1
set si_adminStart 0
set si_minPlayers 0
set si_readyPercent 0
set si_timelimit 25