Useful console commands for mappers.
Quote from sicklebrick on June 4, 2012, 12:31 amI'm really good at forgetting console commands, so sometimes I go through a lot of unnecessary work to avoid sifting through the endless lists of Portal cheats for the right one. With that in mind I decided to throw together a wee list of the ones I found most useful. By the time I was done commenting, it looked like a guide. If anyone would like to contribute something, please do. Hope it helps!
******** Entity DumpingInformation
cl_showpos 1 --Shows current name, position, angle and velocity
cl_showents -Displys a list of entities (class and index only)
cl_showfps 1 --Shows current fps and map (BSP) path+name
report_entities --Lists current entities, including edictsent_info <classname> --Lists inputoutput for a given class.
impulse 106 --Displays the entity name, class and model that you're looking at.
ent_dump <entity name>OR<index>OR<class> --As above but lists values and non-fgd IOdifferences --Dumps IO, debug and changes to the console and overlays to the screen as they happen.
ent_messages_draw 1 --Draws a little box with IO messages at entities' origin.find_ent fudge --Finds entity named fudge, and dumps its entity ID (index).
cl_dumpplayer 1 --Dumps a lot of the player's internal variables. Mostly stuff you have no access to.
//Require "Developer 1", shows point entities and hammer models if possible.
ent_bbox <objectname> -- Shows an axis aligned bounding box around the target.
cl_ent_bbox -- Shows the bounding box around !picker.******** Mats Drawing:
mat_fullbright 1 --Uses fullbright lighting, i.e. with no shadowsshadinglightsources.
buildcubemaps --rebuilds the current .bsp's cubemaps and saves to the map, must be in the latest dlcmaps folder.
cl_drawmaterial "logo/logo" --draws the "/materials/logo/logo.vmt" materials over the screen.
mat_drawTexture --Same thing really.reload_materials 1 --Game will reload all materials at the next map load
mat_texture_list 1 - Brings up a window showing all used textures per frame. Hit the button at the top left to open the filtering options.
mat_texture_list_all_frames 2 - How many frames to sample textures from.
mat_texture_list_all 1 - Shows all textures in the above window+mat_texture_list and -mat_texture_list are also available for binding.
impulse 107 --Displays the texture of the current brush.
mat_crosshair --Displays the texture of the current brush or displacement.mat_show_histogram 1 -- Displays a lot of information re: how many pixels rendered, how many textures used in the current frame, etc. Use mat_show_histogram 2 for a more compact version.
r_simpleworldModel_drawbeyonddistance_fullscreen 2500 - Increases the distance you can see portals from without them going black or white (including world portals). You can of course automate this in your maps with a logic_auto for more draw distance off the bat.
give weapon_cubemap --Gives a cubemap test weapon.
use weapon_cubemap --Switch to it.
use weapon_portalgun --Switch back.// You will need to copy the following files from an older source game for this to work:
// Use gcfscape or vpk.exe in the bin folder.
// https://developer.valvesoftware.com/wiki/Weapon_cubemap )-- materialsmodelsshadertestenvball_*
-- materialsmodelsshadertestshieldnoise0_normal.vtf
-- modelsshadertetsenvballs.* --May have to copy and rename envballs.dx80.vtx to envballs.dx90.vtx
-- scriptsweapon_cubemap.txt******** Player Control:
+use then -use --Simulate the player pressing E
sv_gravity 300 --Halves the gravity. Accepts negative values also.
sv_player_collide_with laser 0 --Disable laser collisionscl_holdrotation --Use right mouse button (or secondary fire) to lock rotation while holding an object.
impulse 100 --Enables the flashlight from HL2, etc.
host_timescale 0.5 --Halves the speed of the game.
noclip --Go through walls and stuff.
god --Blasphemy, false idols, burning bushes and all that...
notarget --Turrets won't bother you******** Physics:
vcollide_wireframe 1 - Draws vPhysics collision mesh for all models. (Excluding func_physbox)
phys_showactive 1 --Draws a bounding box around currently active physics objects. Uusefull for debugging laggy situations, or func_brush collisions, etc.
physics_debug_entity --Prints physics penetration debug messages and so forth.******** Portals:
give_portalgun -unknown
upgrade_portalgun
upgrade_potatogun
give weapon_portalgun or ent_create weapon_portalgun are also valid.sv_allow_mobile_portals 1 --Portals can be placed on moving surfaces (not world portals)
sv_allow_mobile_portal_teleportation 1 --And now you can go through themchange_portalgun_linkage_id <0-3> --Allows you to use upto 4 sets of different portals
sv_portal_placement_never_fail 1 --Place portals anywhere you please
sv_portal_placement_never_bump 1 --No portal bumping.
sv_player_funnel_into_portals 0 --Player nudged towards portals whilst airbourne. E.g. falling.
sv_props_funnel_into_portals 0 --As above.r_simpleworldmodel_drawforrecursionlevel_fullscreen -1 --No limit on portal draw distance (On all graphics settings including window mode). Suggested use OnMapSpawn.
******** Sound:
snd_rebuildaudiocache --Required when adding custom sounds
snd_updateaudiocache --Kinda similar.******** Other:
status --Dumps the player's details. (IP, map, pos, steam ID, steam nick, etc)
cvarlist --Displays a list of cVars. Hurrah!
cvarlist A --Lists all cvars beginning with a
find sound --Lists all commands containing the word "sound"condump --Dumps the current console contents to a txt file.
con_log fudge.txt --Writes the console to fudge.txt as it updates, untill you close portal.
developer <0-4> --Sets the debug output level. 0= none.
echo fudge --Prints the word "fudge" to the console. Useful for debugging hammer IO.
//Remember not to put "QUOTES" into the hammer IO though.net_graph <1-6> -- Overlays your current FPS, ping, traffic, etc.
gameinstructor_enable 0 --Shuts wheatley up, turns off hints.
ent_fire * open --Opens most doors and things without fuss.
exit --Exits nice n quickly.
******** Coop:
ss_map <mapname> --Loads a coop map, allowing you to play as both parties.
changelevel <mapname> --Both players transition to new map.ss_enable 1 --Enable splitscreen, not super necessary
ss_force_primary_fullscreen 1 --Player 1 fullscreen
ss_splitmode 0 --Auto setting
ss_splitmode 1 --Horizontal Split
ss_splitmode 2 --Vertical Splitcmd2 <command> --Runs the command as player 2
BindToggle "z" "in_forceuser" --Switches between controlling player 1 and 2 when you hit Z
ent_fire blue <command>
ent_fire red <command> The player entity names in coop
ent_fire !player_blue <command>
ent_fire !player_orange <command> As above, but independent of "targetname" changed via addoutput, etc.Note:
To play a coop map solo, you can simply use:
map mp_coop_whatever *sp - The '*sp' part forces single player. modeOr: rename the map from mp_coop_mapname to sp_mapname.
******** Entity Creation:
give weapon_portalgun or --Creates the wood_crate model with physics. Doesn't have to be in quotes, and doesn't have to be precached. Also doesn't count as precaching.
prop_dynamic_create path/model.mdl --Creates a non physics object, the game will let you know which to use.//Some predefined ones
ent_create_paint_bomb_erase
ent_create_paint_bomb_jump
ent_create_paint_bomb_portal
ent_create_paint_bomb_speed
ent_create_portal_compantion_cube
ent_create_portal_reflector_cube
ent_create_portal_weighted_antique
ent_create_portal_weighted_cube
ent_create_portal_weighted_sphere//By entity class.
npc_create npc_portal_turret_floor --Creates a functional turret (ent_create npc_portal_turret_floor also works)
ent_create prop_monster_box --Creates a monster box//Uhm..
fire_rocket_projectile --Fires a rocket. From you!
fire_energy_ball --Our old friend from Portal 1 , without textures but still deadly.//Other
create_flashlight --Creates a static flashlight light pointing at whatever you were.
********Useful ent_fires.
These are generic fires which can be used on almost all point entities.
As stated at the top, class specific IO can be found in all manner of places.--In these examples, "!picker" is a shortcut to the entity you're currently pointing at.
--Wherever used, it can be replaced with:
-- The class name --e.g. all objects of type prop_physics
-- The object name -e.g. if your cube is called "benny" you can kill benny by name
-- A partial class match --e.g. prop_* will target all prop_physics, prop_dynamic, etc
-- A partial name match --e.g. wheel_* will target objects named "wheel_1", "wheel_2" etc.
--
--
--Other shortcut entities:
-- !player --Current player
-- red --Coop orange bot
-- blue --Coop blue bot
-- !picker --Whatever the player is aiming at
-- !self --When an object is creating an IO event, !self will always point to itsself
-- !activator --The object that caused the event. E.g. if a cube hits a trigger, !activator will be that cube.
-- !caller --The last entity to fire an IO event. E.g. the one making the call.ent_fire <name> <function> <parameters> --Included for the sake of completeness.
ent_fire !picker addoutput "targetname <name>" --Sets the objects' name to <name>ent_fire !picker addoutput "origin 0 0 0" - Moves the !picker to 0 0 0
ent_fire !picker addoutput "angles 0 0 0" -Changes Pitch Yaw and Roll of !pickerent_teleport <objectname> --Moves the object to wherever you're pointing
ent_teleport !player --Moves the player to wherever you point.
ent_teleport 1 --Teleports player one to wherever you point. ("ent_teleport blue" also).
ent_teleport 2 --Teleports player two to wherever you point. ("ent_teleport red" also).ent_fire !picker disablemotion -Disablesenables all physical movement.
ent_fire !picker enablemotion -Useful for holding a cube while playing with lasers, etc.ent_fire !picker setparent <anotherobjectname> --Object becomes attached to parent. All physics disabled.
ent_fire !picker clearparent --Clears parent object, physics return to normal.ent_fire !picker skin <0,1,2,3,etc> --Changes to second, third, fourth skin (where available).
ent_fire !picker ignite --Fire!
ent_fire !picker dissolve --Dissolves the object (where possible)
ent_fire !picker kill --Kills (removes) object
or ent_fire prop* kill --removes all prop_physics , prop_dynamic, etc.
or ent_fire wheel* kill -- removes all entities whose names start with wheel.ent_fire !Picker addoutput "OnPhysGunPickup !self,addoutput,targetname carryCube" -rename the object to carryCube when lifted
ent_fire !picker addoutput "OnPhysGunDrop !self,addoutput,targetname cube,2" -rename the object back to cube 2 seconds after dropping
//Find other event names using the dump commands or in hammer's entity help. Or by reading the FGD files.ent_fire !picker addoutput "spawnflags 255" --allows many things to be lifted, but can mess with other flags. Use sparingly.
ent_fire !picker addoutput "rendercolor 255 0 0" -makes the !picker red ( R,G,B 0-255)ent_cancelpendingfires --Cancel all pending IO (i.e. anything with a delay that hasn't fired yet)
ent_pause --Disables all IO on the object.ent_fire <entity name> setplayerspeed <speed> //Alter the speed of faith plates that use speed:
ent_fire <entity name> setphysics speed <speed>//Many fires have an alternate console command, such as:
ent_remove <classname> --Same as ent_fire <classnamename> kill
ent_setname <name> --Same as ent_fire !picker addoutput "targetname <name>"
ent_rotate <x> --Rotates (yaws) the object <x> degrees.
ent_remove <class/name> --Same as ent_fire <class/name> kill
ent_setpos 0 0 0 --Same as ent_fire !picker addoutput "origin 0 0 0"
ent_setparent...
ent_clearparent...******** Scripting
ent_fire !picker runscriptfile bubble.nut --Reloads and runs the script file "bubble.nut" in the scripts/vscripts directory on the target object. Doesn't need quotes.
ent_fire !picker runscriptcode "gnome()" --Runs a function called gnome on the !picker's current script. Needs quotes. Can't pass strings in, unless from a script by escaping with "a "b" c".
ent_scriptdump --Dumps variables and stats related to scripts on !picker.exec fudge.txt - Loads and runs a plaintext file in the cfg folder. File extentions work.
// Write a list of console commands in the file, then run it, and the game will process them one after the other.
// Can be set up with a key bind, letting you use quotations. For example:
ent_fire !Picker addoutput "OnPhysGunPickup !self,addoutput,targetname carryCube"
// Cannot be used in a bind, as it would have to place quotes inside quotes.
bind "z" "ent_fire !Picker addoutput "OnPhysGunPickup !self,addoutput,targetname carryCube""
//The game hates that, and using quotes in hammer IO will break the VMF. Instead, place
ent_fire !Picker addoutput "OnPhysGunPickup !self,addoutput,targetname carryCube"
//into say ..portal 2portal2cfgthunderbunnies.cfg then do:
bind "z" "exec thunderbunnies.cfg"
//Hit z to run your thunderbunnies. Not technically scripting, but it's handy automation!******** Puzzlemaker commands:
//Only useful one I've found:
puzzlemaker_export <mapname> -- Exports PTI map to VMF at <steam>steamappscommonportal 2sdk_contentmaps******** DebugView Options
thirdperson --Sets the camera into thirdperson
firstperson --Puts it back
thirdpersonshoulder --Above chell's right shoulder//Showing extra bits & pieces
r_drawclipbrushes 1 --Draw player clip brushes as wireframes over BSP.
r_drawworld 0 --Turns off BSP elements, showing only entities
mat_wireframe 1 --Wireframe display over BSP.
vcollide_wireframe 1 - Draws vPhysics collision mesh for all models. (Excluding func_physbox)
showtriggers_toggle Trigger volumes are drawn as boxes with the applied texture.
//Nore: showtriggers <0-1> Appears not to work, use the toggle instead.//Hiding bits & pieces
r_drawviewmodel 0 --Turns off chell's handsgun etc
impulse 200 --Holsters the weapon - or in the case of Portal 2, hides the portal gun. (Still works)
r_drawvgui 0 --Turns off the vGUI *including console* use a bindtoggle to re-enable
cl_fov 120 --Sets the field of view to 120 degrees (default 90)
cl_drawHUD 0 --Turns off the HUD (safer than the above, good for screenies)
crosshair 0 --Turns off the crosshairs (with or without portalgun).******** Recording demos and exporting using the game:
// Recording demos creates a much smaller file than any video would.
// Instead of dumping frames, it loads the map and plays back everything
// as you played it, by moving all of the entities and such as it happened
// when you played. Thus, it runs as fast as you playing. Anyone playing
// the demo needs a copy of the map, and if there's custom content, that
// too (either as loose files or packed into the .BSP with pakrat).
// On the plus side- no lag while recording, and you can change
// settingsresolution before dumping it to video. By changing the
// timescale and so forth, you can get super clean slow motion replays,
// or sweeping camera shots of your map.//GUI Windows.
demoui - The standard demo playback window you get by hitting Shift+F2.
demoui2 - An additional time slider. Note: Using this causes the map to be reloaded._record fudge --Records your demo, saves it to fudge.dem in the ..portal 2portal2 folder
stop --stops recordingplaydemo fudge --Plays the demo back.
stopdemo --Stops the demohost_timescale 0.5 --The game runs at half speed, this applies to demo playback, as does any other visual effects you've altered, including debug overlays and so forth.
//Converting
host_framerate 30 //limit framerate
startmovie myfudgemovie //This tells the engine we're about to start recording a demo called fudge. It won't start yet though.
playdemo fudge //loads up the demo you recorded, and as it plays, dumps the frames to myfudgemovie<x>.tga images and myfudgemovie.wav file in your ..portal 2portal2 folder.
endmovie --stops the recording//Dilema:
// There is limited support for recording straight to avi by typing:
startmovie fudge avi //avi at the end with no "."
// This however is limited to 2gb filesizes and appears to be completely
// broken in portal 2. On the other hand, recording to tga and .wav uses
// about 3.7mb per *frame* at 1440 res.
// So if space is an issue, record your demo, then fraps that any lag
// caused by fraps can't interfere with your playing. (The demo adjusts for differences).
// ...plus there's no need to record failed attempts.
// More info here: https://developer.valvesoftware.com/wik ... ding_Tools******** Launch options
/// To launch the game in a window, with no startup video:
//Create a shortcut to the following:
"C:program filessteamsteamappscommonportal 2portal2.exe" -window -novid//Or set your launch options for portal 2 in steam to:
-window -novid(-windowed and -novideo work also)
-dev --Same as using the 'developer' command.
+map mapname --Launch this map automatically upon load. Like double clicking a .bsp file in explorer.If you'd like to explore a little more, there are a few things you can play with
-- Run "help <commandname>" to display command help (if any).
-- Check the infodumping functions below.
-- Read the .FGD files in the portal 2bin directory. They should list most (but not all) entity inputs and outputs. (Open with notepad)
-- Check out the Help button in hammer's entity properties window. That basically reads the FGDs.
-- http://developer.valve.com --Tons of information
-- Or just start typing one of the commands and check the autocomplete for similar commands.
-- Ask someone.Thanks
Cheers to Skotty, HMW, BEARD!, ChickenMobile, RubishUsername and MasterLagger! for some nice additions!
I'm really good at forgetting console commands, so sometimes I go through a lot of unnecessary work to avoid sifting through the endless lists of Portal cheats for the right one. With that in mind I decided to throw together a wee list of the ones I found most useful. By the time I was done commenting, it looked like a guide. If anyone would like to contribute something, please do. Hope it helps!
******** Entity DumpingInformation
cl_showpos 1 --Shows current name, position, angle and velocity
cl_showents -Displys a list of entities (class and index only)
cl_showfps 1 --Shows current fps and map (BSP) path+name
report_entities --Lists current entities, including edicts
ent_info <classname> --Lists inputoutput for a given class.
impulse 106 --Displays the entity name, class and model that you're looking at.
ent_dump <entity name>OR<index>OR<class> --As above but lists values and non-fgd IO
differences --Dumps IO, debug and changes to the console and overlays to the screen as they happen.
ent_messages_draw 1 --Draws a little box with IO messages at entities' origin.
find_ent fudge --Finds entity named fudge, and dumps its entity ID (index).
cl_dumpplayer 1 --Dumps a lot of the player's internal variables. Mostly stuff you have no access to.
//Require "Developer 1", shows point entities and hammer models if possible.
ent_bbox <objectname> -- Shows an axis aligned bounding box around the target.
cl_ent_bbox -- Shows the bounding box around !picker.
******** Mats Drawing:
mat_fullbright 1 --Uses fullbright lighting, i.e. with no shadowsshadinglightsources.
buildcubemaps --rebuilds the current .bsp's cubemaps and saves to the map, must be in the latest dlcmaps folder.
cl_drawmaterial "logo/logo" --draws the "/materials/logo/logo.vmt" materials over the screen.
mat_drawTexture --Same thing really.
reload_materials 1 --Game will reload all materials at the next map load
mat_texture_list 1 - Brings up a window showing all used textures per frame. Hit the button at the top left to open the filtering options.
mat_texture_list_all_frames 2 - How many frames to sample textures from.
mat_texture_list_all 1 - Shows all textures in the above window
+mat_texture_list and -mat_texture_list are also available for binding.
impulse 107 --Displays the texture of the current brush.
mat_crosshair --Displays the texture of the current brush or displacement.
mat_show_histogram 1 -- Displays a lot of information re: how many pixels rendered, how many textures used in the current frame, etc. Use mat_show_histogram 2 for a more compact version.
r_simpleworldModel_drawbeyonddistance_fullscreen 2500 - Increases the distance you can see portals from without them going black or white (including world portals). You can of course automate this in your maps with a logic_auto for more draw distance off the bat.
give weapon_cubemap --Gives a cubemap test weapon.
use weapon_cubemap --Switch to it.
use weapon_portalgun --Switch back.
// You will need to copy the following files from an older source game for this to work:
// Use gcfscape or vpk.exe in the bin folder.
// https://developer.valvesoftware.com/wiki/Weapon_cubemap )
-- materialsmodelsshadertestenvball_*
-- materialsmodelsshadertestshieldnoise0_normal.vtf
-- modelsshadertetsenvballs.* --May have to copy and rename envballs.dx80.vtx to envballs.dx90.vtx
-- scriptsweapon_cubemap.txt
******** Player Control:
+use then -use --Simulate the player pressing E
sv_gravity 300 --Halves the gravity. Accepts negative values also.
sv_player_collide_with laser 0 --Disable laser collisions
cl_holdrotation --Use right mouse button (or secondary fire) to lock rotation while holding an object.
impulse 100 --Enables the flashlight from HL2, etc.
host_timescale 0.5 --Halves the speed of the game.
noclip --Go through walls and stuff.
god --Blasphemy, false idols, burning bushes and all that...
notarget --Turrets won't bother you
******** Physics:
vcollide_wireframe 1 - Draws vPhysics collision mesh for all models. (Excluding func_physbox)
phys_showactive 1 --Draws a bounding box around currently active physics objects. Uusefull for debugging laggy situations, or func_brush collisions, etc.
physics_debug_entity --Prints physics penetration debug messages and so forth.
******** Portals:
give_portalgun -unknown
upgrade_portalgun
upgrade_potatogun
give weapon_portalgun or ent_create weapon_portalgun are also valid.
sv_allow_mobile_portals 1 --Portals can be placed on moving surfaces (not world portals)
sv_allow_mobile_portal_teleportation 1 --And now you can go through them
change_portalgun_linkage_id <0-3> --Allows you to use upto 4 sets of different portals
sv_portal_placement_never_fail 1 --Place portals anywhere you please
sv_portal_placement_never_bump 1 --No portal bumping.
sv_player_funnel_into_portals 0 --Player nudged towards portals whilst airbourne. E.g. falling.
sv_props_funnel_into_portals 0 --As above.
r_simpleworldmodel_drawforrecursionlevel_fullscreen -1 --No limit on portal draw distance (On all graphics settings including window mode). Suggested use OnMapSpawn.
******** Sound:
snd_rebuildaudiocache --Required when adding custom sounds
snd_updateaudiocache --Kinda similar.
******** Other:
status --Dumps the player's details. (IP, map, pos, steam ID, steam nick, etc)
cvarlist --Displays a list of cVars. Hurrah!
cvarlist A --Lists all cvars beginning with a
find sound --Lists all commands containing the word "sound"
condump --Dumps the current console contents to a txt file.
con_log fudge.txt --Writes the console to fudge.txt as it updates, untill you close portal.
developer <0-4> --Sets the debug output level. 0= none.
echo fudge --Prints the word "fudge" to the console. Useful for debugging hammer IO.
//Remember not to put "QUOTES" into the hammer IO though.
net_graph <1-6> -- Overlays your current FPS, ping, traffic, etc.
gameinstructor_enable 0 --Shuts wheatley up, turns off hints.
ent_fire * open --Opens most doors and things without fuss.
exit --Exits nice n quickly.
******** Coop:
ss_map <mapname> --Loads a coop map, allowing you to play as both parties.
changelevel <mapname> --Both players transition to new map.
ss_enable 1 --Enable splitscreen, not super necessary
ss_force_primary_fullscreen 1 --Player 1 fullscreen
ss_splitmode 0 --Auto setting
ss_splitmode 1 --Horizontal Split
ss_splitmode 2 --Vertical Split
cmd2 <command> --Runs the command as player 2
BindToggle "z" "in_forceuser" --Switches between controlling player 1 and 2 when you hit Z
ent_fire blue <command>
ent_fire red <command> The player entity names in coop
ent_fire !player_blue <command>
ent_fire !player_orange <command> As above, but independent of "targetname" changed via addoutput, etc.
Note:
To play a coop map solo, you can simply use:
map mp_coop_whatever *sp - The '*sp' part forces single player. mode
Or: rename the map from mp_coop_mapname to sp_mapname.
******** Entity Creation:
give weapon_portalgun or --Creates the wood_crate model with physics. Doesn't have to be in quotes, and doesn't have to be precached. Also doesn't count as precaching.
prop_dynamic_create path/model.mdl --Creates a non physics object, the game will let you know which to use.
//Some predefined ones
ent_create_paint_bomb_erase
ent_create_paint_bomb_jump
ent_create_paint_bomb_portal
ent_create_paint_bomb_speed
ent_create_portal_compantion_cube
ent_create_portal_reflector_cube
ent_create_portal_weighted_antique
ent_create_portal_weighted_cube
ent_create_portal_weighted_sphere
//By entity class.
npc_create npc_portal_turret_floor --Creates a functional turret (ent_create npc_portal_turret_floor also works)
ent_create prop_monster_box --Creates a monster box
//Uhm..
fire_rocket_projectile --Fires a rocket. From you!
fire_energy_ball --Our old friend from Portal 1 , without textures but still deadly.
//Other
create_flashlight --Creates a static flashlight light pointing at whatever you were.
********Useful ent_fires.
These are generic fires which can be used on almost all point entities.
As stated at the top, class specific IO can be found in all manner of places.
--In these examples, "!picker" is a shortcut to the entity you're currently pointing at.
--Wherever used, it can be replaced with:
-- The class name --e.g. all objects of type prop_physics
-- The object name -e.g. if your cube is called "benny" you can kill benny by name
-- A partial class match --e.g. prop_* will target all prop_physics, prop_dynamic, etc
-- A partial name match --e.g. wheel_* will target objects named "wheel_1", "wheel_2" etc.
--
--
--Other shortcut entities:
-- !player --Current player
-- red --Coop orange bot
-- blue --Coop blue bot
-- !picker --Whatever the player is aiming at
-- !self --When an object is creating an IO event, !self will always point to itsself
-- !activator --The object that caused the event. E.g. if a cube hits a trigger, !activator will be that cube.
-- !caller --The last entity to fire an IO event. E.g. the one making the call.
ent_fire <name> <function> <parameters> --Included for the sake of completeness.
ent_fire !picker addoutput "targetname <name>" --Sets the objects' name to <name>
ent_fire !picker addoutput "origin 0 0 0" - Moves the !picker to 0 0 0
ent_fire !picker addoutput "angles 0 0 0" -Changes Pitch Yaw and Roll of !picker
ent_teleport <objectname> --Moves the object to wherever you're pointing
ent_teleport !player --Moves the player to wherever you point.
ent_teleport 1 --Teleports player one to wherever you point. ("ent_teleport blue" also).
ent_teleport 2 --Teleports player two to wherever you point. ("ent_teleport red" also).
ent_fire !picker disablemotion -Disablesenables all physical movement.
ent_fire !picker enablemotion -Useful for holding a cube while playing with lasers, etc.
ent_fire !picker setparent <anotherobjectname> --Object becomes attached to parent. All physics disabled.
ent_fire !picker clearparent --Clears parent object, physics return to normal.
ent_fire !picker skin <0,1,2,3,etc> --Changes to second, third, fourth skin (where available).
ent_fire !picker ignite --Fire!
ent_fire !picker dissolve --Dissolves the object (where possible)
ent_fire !picker kill --Kills (removes) object
or ent_fire prop* kill --removes all prop_physics , prop_dynamic, etc.
or ent_fire wheel* kill -- removes all entities whose names start with wheel.
ent_fire !Picker addoutput "OnPhysGunPickup !self,addoutput,targetname carryCube" -rename the object to carryCube when lifted
ent_fire !picker addoutput "OnPhysGunDrop !self,addoutput,targetname cube,2" -rename the object back to cube 2 seconds after dropping
//Find other event names using the dump commands or in hammer's entity help. Or by reading the FGD files.
ent_fire !picker addoutput "spawnflags 255" --allows many things to be lifted, but can mess with other flags. Use sparingly.
ent_fire !picker addoutput "rendercolor 255 0 0" -makes the !picker red ( R,G,B 0-255)
ent_cancelpendingfires --Cancel all pending IO (i.e. anything with a delay that hasn't fired yet)
ent_pause --Disables all IO on the object.
ent_fire <entity name> setplayerspeed <speed> //Alter the speed of faith plates that use speed:
ent_fire <entity name> setphysics speed <speed>
//Many fires have an alternate console command, such as:
ent_remove <classname> --Same as ent_fire <classnamename> kill
ent_setname <name> --Same as ent_fire !picker addoutput "targetname <name>"
ent_rotate <x> --Rotates (yaws) the object <x> degrees.
ent_remove <class/name> --Same as ent_fire <class/name> kill
ent_setpos 0 0 0 --Same as ent_fire !picker addoutput "origin 0 0 0"
ent_setparent...
ent_clearparent...
******** Scripting
ent_fire !picker runscriptfile bubble.nut --Reloads and runs the script file "bubble.nut" in the scripts/vscripts directory on the target object. Doesn't need quotes.
ent_fire !picker runscriptcode "gnome()" --Runs a function called gnome on the !picker's current script. Needs quotes. Can't pass strings in, unless from a script by escaping with "a "b" c".
ent_scriptdump --Dumps variables and stats related to scripts on !picker.
exec fudge.txt - Loads and runs a plaintext file in the cfg folder. File extentions work.
// Write a list of console commands in the file, then run it, and the game will process them one after the other.
// Can be set up with a key bind, letting you use quotations. For example:
ent_fire !Picker addoutput "OnPhysGunPickup !self,addoutput,targetname carryCube"
// Cannot be used in a bind, as it would have to place quotes inside quotes.
bind "z" "ent_fire !Picker addoutput "OnPhysGunPickup !self,addoutput,targetname carryCube""
//The game hates that, and using quotes in hammer IO will break the VMF. Instead, place
ent_fire !Picker addoutput "OnPhysGunPickup !self,addoutput,targetname carryCube"
//into say ..portal 2portal2cfgthunderbunnies.cfg then do:
bind "z" "exec thunderbunnies.cfg"
//Hit z to run your thunderbunnies. Not technically scripting, but it's handy automation!
******** Puzzlemaker commands:
//Only useful one I've found:
puzzlemaker_export <mapname> -- Exports PTI map to VMF at <steam>steamappscommonportal 2sdk_contentmaps
******** DebugView Options
thirdperson --Sets the camera into thirdperson
firstperson --Puts it back
thirdpersonshoulder --Above chell's right shoulder
//Showing extra bits & pieces
r_drawclipbrushes 1 --Draw player clip brushes as wireframes over BSP.
r_drawworld 0 --Turns off BSP elements, showing only entities
mat_wireframe 1 --Wireframe display over BSP.
vcollide_wireframe 1 - Draws vPhysics collision mesh for all models. (Excluding func_physbox)
showtriggers_toggle Trigger volumes are drawn as boxes with the applied texture.
//Nore: showtriggers <0-1> Appears not to work, use the toggle instead.
//Hiding bits & pieces
r_drawviewmodel 0 --Turns off chell's handsgun etc
impulse 200 --Holsters the weapon - or in the case of Portal 2, hides the portal gun. (Still works)
r_drawvgui 0 --Turns off the vGUI *including console* use a bindtoggle to re-enable
cl_fov 120 --Sets the field of view to 120 degrees (default 90)
cl_drawHUD 0 --Turns off the HUD (safer than the above, good for screenies)
crosshair 0 --Turns off the crosshairs (with or without portalgun).
******** Recording demos and exporting using the game:
// Recording demos creates a much smaller file than any video would.
// Instead of dumping frames, it loads the map and plays back everything
// as you played it, by moving all of the entities and such as it happened
// when you played. Thus, it runs as fast as you playing. Anyone playing
// the demo needs a copy of the map, and if there's custom content, that
// too (either as loose files or packed into the .BSP with pakrat).
// On the plus side- no lag while recording, and you can change
// settingsresolution before dumping it to video. By changing the
// timescale and so forth, you can get super clean slow motion replays,
// or sweeping camera shots of your map.
//GUI Windows.
demoui - The standard demo playback window you get by hitting Shift+F2.
demoui2 - An additional time slider. Note: Using this causes the map to be reloaded.
_record fudge --Records your demo, saves it to fudge.dem in the ..portal 2portal2 folder
stop --stops recording
playdemo fudge --Plays the demo back.
stopdemo --Stops the demo
host_timescale 0.5 --The game runs at half speed, this applies to demo playback, as does any other visual effects you've altered, including debug overlays and so forth.
//Converting
host_framerate 30 //limit framerate
startmovie myfudgemovie //This tells the engine we're about to start recording a demo called fudge. It won't start yet though.
playdemo fudge //loads up the demo you recorded, and as it plays, dumps the frames to myfudgemovie<x>.tga images and myfudgemovie.wav file in your ..portal 2portal2 folder.
endmovie --stops the recording
//Dilema:
// There is limited support for recording straight to avi by typing:
startmovie fudge avi //avi at the end with no "."
// This however is limited to 2gb filesizes and appears to be completely
// broken in portal 2. On the other hand, recording to tga and .wav uses
// about 3.7mb per *frame* at 1440 res.
// So if space is an issue, record your demo, then fraps that any lag
// caused by fraps can't interfere with your playing. (The demo adjusts for differences).
// ...plus there's no need to record failed attempts.
// More info here: https://developer.valvesoftware.com/wik ... ding_Tools
******** Launch options
/// To launch the game in a window, with no startup video:
//Create a shortcut to the following:
"C:program filessteamsteamappscommonportal 2portal2.exe" -window -novid
//Or set your launch options for portal 2 in steam to:
-window -novid
(-windowed and -novideo work also)
-dev --Same as using the 'developer' command.
+map mapname --Launch this map automatically upon load. Like double clicking a .bsp file in explorer.
If you'd like to explore a little more, there are a few things you can play with
-- Run "help <commandname>" to display command help (if any).
-- Check the infodumping functions below.
-- Read the .FGD files in the portal 2bin directory. They should list most (but not all) entity inputs and outputs. (Open with notepad)
-- Check out the Help button in hammer's entity properties window. That basically reads the FGDs.
-- http://developer.valve.com --Tons of information
-- Or just start typing one of the commands and check the autocomplete for similar commands.
-- Ask someone.
Thanks
Cheers to Skotty, HMW, BEARD!, ChickenMobile, RubishUsername and MasterLagger! for some nice additions!
Quote from ChickenMobile on June 4, 2012, 12:45 amVerry useful. Am bookmarking.
Verry useful. Am bookmarking.
Quote from Paradoxic R3mix on June 4, 2012, 1:58 amNice job Sicklebrick!
I've been looking forever for a list as detailed as this one. Like Chickenmobile, i'm totally bookmarking.
Nice job Sicklebrick!
I've been looking forever for a list as detailed as this one. Like Chickenmobile, i'm totally bookmarking.
Quote from Lpfreaky90 on June 4, 2012, 6:38 am
awesome!
wait a minute... ... could you cheat "pinging" in singleplayer by using !pointer?
Time to test
awesome!
wait a minute... ... could you cheat "pinging" in singleplayer by using !pointer? ![]()
Time to test ![]()
Quote from ChickenMobile on June 4, 2012, 6:40 amlpfreaky90 wrote::thumbup: awesome!wait a minute... ... could you cheat "pinging" in singleplayer by using !pointer?
Time to testYou mean !picker? It only works on entities though.
wait a minute... ... could you cheat "pinging" in singleplayer by using !pointer? ![]()
Time to test ![]()
You mean !picker? It only works on entities though.
Quote from Lpfreaky90 on June 4, 2012, 6:41 amchickenmobile wrote:lpfreaky90 wrote::thumbup: awesome!wait a minute... ... could you cheat "pinging" in singleplayer by using !pointer?
Time to testYou mean !picker? It only works on entities though.
Yes and bummer
wait a minute... ... could you cheat "pinging" in singleplayer by using !pointer? ![]()
Time to test ![]()
You mean !picker? It only works on entities though.
Yes and bummer ![]()
Quote from sicklebrick on June 4, 2012, 2:29 pmGlad it's useful
lpfreaky90 wrote:chickenmobile wrote:lpfreaky90 wrote::thumbup: awesome!wait a minute... ... could you cheat "pinging" in singleplayer by using !pointer?
Time to testYou mean !picker? It only works on entities though.
Yes and bummer
+mouse_menu_playtest should fire a variation on the pinger tool in SP, but it only seems to work in beta. I tried fiddling with something along the lines of global_set can_use_ping_tool_blue 1 and stuff, but it doesn't seem to work. Would be nice to have the ping tool for some fun in SP though
Glad it's useful ![]()
wait a minute... ... could you cheat "pinging" in singleplayer by using !pointer? ![]()
Time to test ![]()
You mean !picker? It only works on entities though.
Yes and bummer ![]()
+mouse_menu_playtest should fire a variation on the pinger tool in SP, but it only seems to work in beta. I tried fiddling with something along the lines of global_set can_use_ping_tool_blue 1 and stuff, but it doesn't seem to work. Would be nice to have the ping tool for some fun in SP though ![]()
Quote from Vordwann on June 4, 2012, 3:20 pmWhat console command controls depth of view blurring?
What console command controls depth of view blurring?
[spoiler][SP] Alternate[/spoiler]











