Point commentary node: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(fixed poor formatting)
(Added extra information with source code references. Fixed KV order.)
Line 5: Line 5:


Unlike most entities, the point_commentary_node is often hand-edited into the [[Commentary System|commentary files]], and as a result, there are some extra keys listed here that [[Hammer]] would normally fill in automatically for you.
Unlike most entities, the point_commentary_node is often hand-edited into the [[Commentary System|commentary files]], and as a result, there are some extra keys listed here that [[Hammer]] would normally fill in automatically for you.
For a commentary node to be able to be activated by a player (using [[+use]] while looking at the node), the player must have <code>commentary</code> set to 1 and the map ''must'' have a commentary.txt file (in the format of <code><map name>_commentary.txt</code> in the same directory as the BSP [https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/CommentarySystem.cpp#L272-L292]. This file may be empty and/or embedded in the BSP.
If a map with a point_commentary_node is being played in multiplayer only the first player to join will be considered the 'commentary player'. As such only their view will be ray traced to determine the active commentary node [https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/CommentarySystem.cpp#L225-L240]
{{clr}}
{{clr}}


== Keyvalues ==
== Keyvalues ==
* {{KV Targetname}}
* {{KV Parentname}}
{{KV|start_disabled|boolean|Start disabled.}}
{{KV|start_disabled|boolean|Start disabled.}}
{{KV|origin|vector|The origin of this entity within the map.}}
{{KV|origin|vector|The origin of this entity within the map.}}
Line 16: Line 18:
{{KV|commentaryfile_nohdr|sound|The commentary sound file that should be played when this node is used by the player. If the player has HDR turned off, this file will be used instead of the '''commentaryfile'''. If this entry is not specified, the base '''commentaryfile''' entry will still be used.}}
{{KV|commentaryfile_nohdr|sound|The commentary sound file that should be played when this node is used by the player. If the player has HDR turned off, this file will be used instead of the '''commentaryfile'''. If this entry is not specified, the base '''commentaryfile''' entry will still be used.}}
{{KV|speakers|string|The name of the speakers of the commentary sound file(s). Will be displayed in the HUD while the commentary sound file is playing.}}
{{KV|speakers|string|The name of the speakers of the commentary sound file(s). Will be displayed in the HUD while the commentary sound file is playing.}}
{{KV|synopsis|string|A short synopsis of the contents of the commentary.}}
{{KV|precommands|string|A semi-colon delimited list of commands that should entered into the console when the commentary file starts playing. e.g. <code>ai_disable 1;mat_wireframe 1</code>}}
{{KV|precommands|string|A semi-colon delimited list of commands that should entered into the console when the commentary file starts playing. e.g. <code>ai_disable 1;mat_wireframe 1</code>}}
{{KV|postcommands|string|A semi-colon delimited list of commands that should entered into the console when the commentary file finishes playing. e.g. <code>ai_disable 0;mat_wireframe 0</code>}}
{{KV|postcommands|string|A semi-colon delimited list of commands that should entered into the console when the commentary file finishes playing. e.g. <code>ai_disable 0;mat_wireframe 0</code>}}
Line 21: Line 24:
{{KV|viewtarget|string|The [[targetname]] of an entity that the players view should track while the commentary file is playing. The player will not be able to control their view while the commentary file plays.}}
{{KV|viewtarget|string|The [[targetname]] of an entity that the players view should track while the commentary file is playing. The player will not be able to control their view while the commentary file plays.}}
{{KV|prevent_movement|boolean|If true, the player will not be able to move while the commentary sound file is playing.}}
{{KV|prevent_movement|boolean|If true, the player will not be able to move while the commentary sound file is playing.}}
* {{KV Targetname}}
* {{KV Parentname}}


== Inputs ==
== Inputs ==
* {{I Targetname}}
* {{I Parentname}}
* {{I EnableDisable}}
* '''StartCommentary'''
* '''StartCommentary'''
: Force the commentary node to start.
: Force the commentary node to start.
* '''StartUnstoppableCommentary'''
* '''StartUnstoppableCommentary'''
: Force the commentary node to start, and don't allow the player to stop it in any way.
: Force the commentary node to start, and don't allow the player to stop it in any way.
* {{I Targetname}}
* {{I Parentname}}
* {{I EnableDisable}}


== Outputs ==
== Outputs ==
* {{O Targetname}}
{{IO|OnCommentaryStarted|Fires when this commentary starts playing.}}
{{IO|OnCommentaryStarted|Fires when this commentary starts playing.}}
{{IO|OnCommentaryStopped|Fires when this commentary stops playing. May be caused by the commentary file finishing, or by the player stopping it manually (if the node wasn't started with the <code>StartUnstoppableCommentary</code> input). If the node controls the players view with the <code>viewposition</code> key, then this input will be fired when the players view has finished returning to its original position.}}
{{IO|OnCommentaryStopped|Fires when this commentary stops playing. May be caused by the commentary file finishing, or by the player stopping it manually (if the node wasn't started with the <code>StartUnstoppableCommentary</code> input). If the node controls the players view with the <code>viewposition</code> key, then this input will be fired when the players view has finished returning to its original position.}}
* {{O Targetname}}


==See also==
==See also==

Revision as of 20:26, 3 July 2020

Commentary bubble

Template:Ep1 point

Entity description

The core entity used in the Commentary System. It appears as a floating speech bubble for the player to +USE, which then starts the commentary playing. This entity is typically placed with the Commentary Editor.

Unlike most entities, the point_commentary_node is often hand-edited into the commentary files, and as a result, there are some extra keys listed here that Hammer would normally fill in automatically for you.

For a commentary node to be able to be activated by a player (using +use while looking at the node), the player must have commentary set to 1 and the map must have a commentary.txt file (in the format of <map name>_commentary.txt in the same directory as the BSP [1]. This file may be empty and/or embedded in the BSP.

If a map with a point_commentary_node is being played in multiplayer only the first player to join will be considered the 'commentary player'. As such only their view will be ray traced to determine the active commentary node [2]

Keyvalues

start_disabled ([todo internal name (i)]) <boolean>
Start disabled.
origin ([todo internal name (i)]) <vector>
The origin of this entity within the map.
angles ([todo internal name (i)]) <angles>
The orientation of this entity within the map.
commentaryfile ([todo internal name (i)]) <sound>
The commentary sound file that should be played when this node is used by the player.
commentaryfile_nohdr ([todo internal name (i)]) <sound>
The commentary sound file that should be played when this node is used by the player. If the player has HDR turned off, this file will be used instead of the commentaryfile. If this entry is not specified, the base commentaryfile entry will still be used.
speakers ([todo internal name (i)]) <string>
The name of the speakers of the commentary sound file(s). Will be displayed in the HUD while the commentary sound file is playing.
synopsis ([todo internal name (i)]) <string>
A short synopsis of the contents of the commentary.
precommands ([todo internal name (i)]) <string>
A semi-colon delimited list of commands that should entered into the console when the commentary file starts playing. e.g. ai_disable 1;mat_wireframe 1
postcommands ([todo internal name (i)]) <string>
A semi-colon delimited list of commands that should entered into the console when the commentary file finishes playing. e.g. ai_disable 0;mat_wireframe 0
viewposition ([todo internal name (i)]) <string>
The targetname of an entity to which the players view should move while the commentary file is playing. When the commentary file finishes, the players view will move back to the place it was when the commentary started.
viewtarget ([todo internal name (i)]) <string>
The targetname of an entity that the players view should track while the commentary file is playing. The player will not be able to control their view while the commentary file plays.
prevent_movement ([todo internal name (i)]) <boolean>
If true, the player will not be able to move while the commentary sound file is playing.
Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Parentname:
Parent (parentname) <targetname>
Specifies a movement parent. An entity will maintain its initial offset from its parent. An attachment point can be added to the end of the name, separated by a comma.

Inputs

  • StartCommentary
Force the commentary node to start.
  • StartUnstoppableCommentary
Force the commentary node to start, and don't allow the player to stop it in any way.
Parentname:
SetParent <stringRedirectInput/string>
Move with this entity. See Entity Hierarchy (parenting).
SetParentAttachment <stringRedirectInput/string>
Change this entity to attach to a specific attachment point on its parent. The entity will teleport so that the position of its root bone matches that of the attachment. Entities must be parented before being sent this input.
SetParentAttachmentMaintainOffset <stringRedirectInput/string>
As above, but without teleporting. The entity retains its position relative to the attachment at the time of the input being received.
ClearParent
Removes this entity from the the movement hierarchy, leaving it free to move independently.
  • EnableDisable:
Enable / Disable
Enable/disable this entity from performing its task. It might also disappear from view.

Outputs

OnCommentaryStarted
Fires when this commentary starts playing.
OnCommentaryStopped
Fires when this commentary stops playing. May be caused by the commentary file finishing, or by the player stopping it manually (if the node wasn't started with the StartUnstoppableCommentary input). If the node controls the players view with the viewposition key, then this input will be fired when the players view has finished returning to its original position.

See also