This article's documentation is for anything that uses the Source engine. Click here for more information.

Point commentary node: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
m (Classifying as model entity)
 
(48 intermediate revisions by 25 users not shown)
Line 1: Line 1:
[http://roycemotor.com/carpics/cache/tpulno.html tradeshows for medical imaging] [http://panties-pictures.com/free/lib/temp/bgtfmc.html llama por favor] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/oubisg.html trailer park boy quote] [http://ankelia-nature.com/catalogues/catalogues/xihwvk.html tank less water heater] [http://tch-voyages.com/documents/prague/896/jixsuf.html extravaganza holiday] [http://roycemotor.com/carpics/cache/nmnblo.html end mortgage open] [http://www.lewakins.com/sr/images/jphcwh.html adobe premiere plugins] [http://asie-voyages.com/upload/images/lens/fgvpsf.html urbana schools] [http://www.norcab.com.au/joeavatiforum/templates/cache/qxunrx.html im singing in the rain] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/utsptd.html movie oliver twist] [http://cvscaft-tcc.edu.ph/gallery/uploads/cache/kkbcpn.html ibuprophen liver damage] [http://tch-voyages.com/documents/prague/896/wabwjv.html animal transportation zoo] [http://www.lewakins.com/sr/images/edxpje.html print shop 8] [http://smallbizbohol.com/democatalog/images/baner/wkasub.html masters of science in management] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/vpsfjj.html off road chevy truck photo] [http://roycemotor.com/carpics/cache/fwavlq.html make a dry erase board] [http://lumayagrealty.com/catalog/images/pics/addsdo.html suck him dry] [http://www.biblored.org.co/agenda_actividades/programas/images/sqffmg.html refinancing auto loans bad credit] [http://www.redacademica.edu.co/manejocorreo/Cliente/cache/rdqdib.html traduire francais anglais] [http://indianaoutfitters.com/s/info/tmp/mhwvet.html music playing sites] [http://smallbizbohol.com/democatalog/images/baner/agshhq.html asian room designs] [http://www.norcab.com.au/joeavatiforum/templates/cache/kivohi.html mobile ultrasound business] [http://www.youthfitnesssolutions.com/FTP1/page9/ritldn.html register tape coupons] [http://indianaoutfitters.com/s/info/tmp/prbnio.html missouri college basketball schedule] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/lcfadk.html pressure switch square d] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/wsuhps.html louisiana program recovery] [http://roycemotor.com/carpics/cache/eotdtq.html 2006 by draft nfl team] [http://roycemotor.com/carpics/cache/tohpwq.html window spider solitaire free download] [http://smallbizbohol.com/democatalog/images/baner/spxklr.html az corporation form] [http://asie-voyages.com/upload/images/lens/ofouut.html nintendo game boy advance sp cheat] [http://www.redacademica.edu.co/manejocorreo/Cliente/cache/svrppf.html optical laser disk] [http://roycemotor.com/carpics/cache/toudje.html lp field] [http://smallbizbohol.com/democatalog/images/baner/gacacw.html escrow agent software] [http://panties-pictures.com/free/lib/temp/fucnsj.html swearing in foreign languages] [http://www.redacademica.edu.co/manejocorreo/Cliente/cache/qjhqlc.html attempting to open the windows address book] [http://indianaoutfitters.com/s/info/tmp/owerat.html aviation accident resource center] [http://roycemotor.com/carpics/cache/ihpigt.html 8 port usb switch] [http://xuccco.org/themes/AT-Green3/wukcrc.html trade prices computer] [http://tch-voyages.com/documents/prague/896/cktwnj.html kidney medicine] [http://www.hdac.org/hdfaq/faq/vmqvlh.html medical insurance visitors usa] [http://panties-pictures.com/free/lib/temp/iprrkw.html art therapy masters program] [http://hoosierfishing.com/phpBB/images/avatars/avatar/levvuh.html stephen miller japan] [http://coastguard.gov.ph/content.old/license/nuxvio.html robot concept drawing] [http://indianaoutfitters.com/s/info/tmp/jkempm.html symptom of neck throat cancer] [http://www.biblored.org.co/agenda_actividades/programas/images/dwqgiq.html yahmaha motorcycles for sale] [http://www.redacademica.edu.co/manejocorreo/Cliente/cache/uxgtii.html texas police radio codes] [http://coastguard.gov.ph/content.old/license/mkuvwb.html information technology news portal] [http://www.lewakins.com/sr/images/nsldsx.html professional nails magazine] [http://indianaoutfitters.com/s/info/tmp/ddhqsw.html middle school bullying parent guide] [http://xuccco.org/themes/AT-Green3/bdslqx.html name search phone] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/onhvos.html when daylight savings time changes] [http://lumayagrealty.com/catalog/images/pics/vmvupx.html early and high renaissance] [http://coastguard.gov.ph/content.old/license/wcevdl.html melbourne cup television] [http://coastguard.gov.ph/content.old/license/uttcso.html allan king real estate] [http://talentmodeles.com/mannequin/images/cache/qwthtb.html simon memory game] [http://asie-voyages.com/upload/images/lens/qhmgic.html residential wind generators] [http://www.redacademica.edu.co/manejocorreo/Cliente/cache/dsseri.html 8th grade math problem] [http://indianaoutfitters.com/s/info/tmp/broblc.html z score p value table] [http://www.lewakins.com/sr/images/dfctrk.html journal teaching exceptional children] [http://roycemotor.com/carpics/cache/cfsapu.html tiger woods wife pic] [http://lumayagrealty.com/catalog/images/pics/jdibka.html information on insects for children] [http://indianaoutfitters.com/s/info/tmp/ecgocr.html internet database for hindi film hindi movie] [http://asie-voyages.com/upload/images/lens/sfmiru.html install outlook express windows xp] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/wogdba.html red blue green star wallpaper border] [http://cvscaft-tcc.edu.ph/gallery/uploads/cache/bluiqn.html little dealer little prices az] [http://www.youthfitnesssolutions.com/FTP1/page9/anehuk.html small dogs for children] [http://tch-voyages.com/documents/prague/896/mepqxb.html philippine travel package] [http://tarsierfoundation.org/content/license/fecbwx.html systems approach theory] [http://indianaoutfitters.com/s/info/tmp/akgiew.html overseas jobs com] [http://talentmodeles.com/mannequin/images/cache/rgtqrx.html american institute of business iowa] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/wdshru.html newbury management company] [http://hoosierfishing.com/phpBB/images/avatars/avatar/daluex.html school transition programs] [http://coastguard.gov.ph/content.old/license/mwgdfp.html small size lady shoes uk] [http://roycemotor.com/carpics/cache/gvdkbi.html least restrictive environment definition] [http://asie-voyages.com/upload/images/lens/llqtgf.html most strikeouts in a season] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/wvsqkf.html limousine chicago] [http://hoosierfishing.com/phpBB/images/avatars/avatar/lolbgl.html new jersey traffic violations] [http://panties-pictures.com/free/lib/temp/uuihpv.html pink eye makeup] [http://smallbizbohol.com/democatalog/images/baner/mktxas.html saint david of wales] [http://tch-voyages.com/documents/prague/896/cpohbw.html loves not lyrics] [http://www.lewakins.com/sr/images/lqqdrq.html lower your cholesterol recipes] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/pjbmpc.html indians hunting buffalo] [http://asie-voyages.com/upload/images/lens/dmxjma.html send form to fax number] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/notoxl.html tcs address] [http://www.biblored.org.co/agenda_actividades/programas/images/fiancu.html automotive company finance household] [http://www.lewakins.com/sr/images/ilkdko.html she knows who she is site myspace.com] [http://www.biblored.org.co/agenda_actividades/programas/images/jfoenp.html stretch background picture] [http://www.redacademica.edu.co/manejocorreo/Cliente/cache/lhwqct.html action games free online] [http://www.lewakins.com/sr/images/afbntk.html motorbike clothing scotland] [http://indianaoutfitters.com/s/info/tmp/duntjf.html van gohg biography] [http://www.lewakins.com/sr/images/qgmwjp.html to beat the child was bad enough] [http://tch-voyages.com/documents/prague/896/ttdhnk.html take it to the mat] [http://ankelia-nature.com/catalogues/catalogues/eaaftd.html wed ink] [http://xuccco.org/themes/AT-Green3/afdibm.html 4th reich] [http://www.biblored.org.co/agenda_actividades/programas/images/gecfoc.html 16 year old german models] [http://xuccco.org/themes/AT-Green3/pnagpq.html restore car] [http://asie-voyages.com/upload/images/lens/funkrc.html us tire and wheel] [http://www.redacademica.edu.co/manejocorreo/Cliente/cache/dlpaqw.html adam baker charlie] [http://www.lewakins.com/sr/images/wmuetc.html acrylic tables] [http://hoosierfishing.com/phpBB/images/avatars/avatar/qogxqn.html the vagina monologue]  
{{ent not in fgd|nolink=1|because=you can add it with [[Commentary Editor]]|except={{TeamSpen}}}}
{{wrongtitle|title=point_commentary_node}}
{{Preserved entity}}
==Entity Description==
[[File:Commentary bubble.jpg|thumb|200px|right|Commentary bubble]]
[[Image:Commentary bubble.jpg|thumb|150px|right|Commentary bubble]]
{{CD|CPointCommentaryNode|file1=CommentarySystem.cpp}}
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 is a|model entity|name=point_commentary_node|since=Source 2006}}
{{clr}}
 
==Keyvalues==
The core entity used in the [[Commentary System]]. It appears as a floating speech bubble for the player, which can be interact with {{code|+USE}} (Default: {{key|E}}) to play the commentary. This entity is typically placed with the [[Commentary Editor]].
 
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.
* {{kv targetname}}
* {{kv parentname}}
* '''start_disabled'''
: {{boolean}} Start disabled
* '''origin'''
: <vector (X,Y,Z)> The origin of this entity within the map.
* '''angles'''
: <[[angles]]> The orientation of this entity within the map.
* '''commentaryfile'''
: <sound> The commentary sound file that should be played when this node is used by the player.
* '''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.
* '''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.
* '''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>
* '''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>
* '''viewposition'''
: <target_destination> 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'''
: <target_destination> 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'''
: {{boolean}} If true, the player will not be able to move while the commentary sound file is playing.


==Inputs==
To enable Commentary, the player must have {{code|commentary}} [[cvar]] set to {{code|1}} and the map ''must'' have a {{code|<map name>_commentary.txt}} file in the same directory as the BSP [https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/game/server/CommentarySystem.cpp#L272-L292] while also having content inside the file to spawn the entity.
* {{i targetname}}
 
* {{i parentname}}
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]
* {{i enabledisable}}
 
* '''StartCommentary'''
Although not explicitly stated, this entity may use fields from the [[Template:KV_RenderFields|RenderFields]] base class. The render options selected will affect the speech bubble model of the node.
: Force the commentary node to start.
 
* '''StartUnstoppableCommentary'''
{{note|In {{tf2|2}}, if this entity is spawned without any properties, the following side effects will apply as long as the entity exists:
: Force the commentary node to start, and don't allow the player to stop it in any way.
* Player join, team change and disconnect messages are not shown in chat
==Outputs==
* [[Convar]]s with <code>FCVAR_NOTIFY</code> will not print changes to chat
* {{o targetname}}
* The scoreboard is blocked from appearing
* '''OnCommentaryStarted'''
* Some objective panels, such as the CTF/PD panel, will not appear
: 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.
__NOTOC__
[[Category:Half-Life 2: Episode One Entities]]
== Keyvalues ==
{{KV Targetname}}
{{KV|Start Disabled|intn=start_disabled|boolean|Should it be disabled or not?}}
{{KV|Origin|intn=origin|vector|The origin of this entity within the map.}}
{{KV|Angles|intn=angles|angles|The orientation of this entity within the map.}}
{{KV|Commentary File|intn=commentaryfile|sound|Play the selected sound file when the player interact with the node.}}
{{KV|Commentary File (no HDR)|intn=commentaryfile_nohdr|sound|Play the selected sound file when the player interact with the node. 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|Prevent movement|intn=prevent_movement|boolean|If true, the player will not be able to move while the commentary sound file is playing.}}
{{KV|Pre-command(s)|intn=precommands|string|Command that will fire when the player interact with the node and the sound file is played. Use semicolons to delimit multiple commands. ({{code|ai_disable 1;mat_wireframe 1}})}}
{{KV|Post-command(s)|intn=postcommands|string|Command that will fire after the commentary has ended. Also accepts semicolons. (e.g {{code|ai_disable 0;mat_wireframe 0}})}}
{{KV|Speaker(s)|intn=speakers|string|The name of the speakers of the commentary sound file(s). Will be displayed in the HUD (if [[Closed Captions|subtitles/close captions]] is disabled) while the commentary sound file is playing.}}
{{KV|Synopsis|intn=synopsis|string|A short synopsis of the contents of the commentary.}}
{{KV|View Position|intn=viewposition|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.}}
{{KV|View Target|intn=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.}}
 
== Inputs ==
{{I|StartCommentary|Force the commentary node to start.}}
{{I|StartUnstoppableCommentary|Force the commentary node to start, and don't allow the player to stop it in any way.}}
{{I EnableDisable}}
 
== Outputs ==
{{O|OnCommentaryStarted|Fires when this commentary starts playing.}}
{{O|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.}}
 
==See also==
* [[Commentary System]]
* [[Commentary Editor]]
 
[[Category:Commentary System]]

Latest revision as of 04:33, 19 May 2025

Icon-NotInFGD.png
This entity is not in the FGD by default, except in TeamSpen's Hammer Addons.
It should not be put directly in a map because you can add it with Commentary Editor.
Recycle-warning.png
This is a preserved entity in Day of Defeat: SourceTeam Fortress 2
If the game has round restart mechanics this entity may not behave as expected.
Commentary bubble
C++ Class hierarchy
CPointCommentaryNode
CBaseAnimating
CBaseEntity
C++ CommentarySystem.cpp

point_commentary_node is a model entity available in all Source Source games since Source 2006 Source 2006.

The core entity used in the Commentary System. It appears as a floating speech bubble for the player, which can be interact with +USE (Default: E) to play the commentary. 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.

To enable Commentary, the player must have commentary cvar set to 1 and the map must have a <map name>_commentary.txt file in the same directory as the BSP [1] while also having content inside the file to spawn the entity.

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]

Although not explicitly stated, this entity may use fields from the RenderFields base class. The render options selected will affect the speech bubble model of the node.

Note.pngNote:In Team Fortress 2 Team Fortress 2, if this entity is spawned without any properties, the following side effects will apply as long as the entity exists:
  • Player join, team change and disconnect messages are not shown in chat
  • Convars with FCVAR_NOTIFY will not print changes to chat
  • The scoreboard is blocked from appearing
  • Some objective panels, such as the CTF/PD panel, will not appear


Keyvalues

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

Start Disabled (start_disabled) <boolean>
Should it be disabled or not?
Origin (origin) <vector>
The origin of this entity within the map.
Angles (angles) <angles>
The orientation of this entity within the map.
Commentary File (commentaryfile) <sound>
Play the selected sound file when the player interact with the node.
Commentary File (no HDR) (commentaryfile_nohdr) <sound>
Play the selected sound file when the player interact with the node. 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.
Prevent movement (prevent_movement) <boolean>
If true, the player will not be able to move while the commentary sound file is playing.
Pre-command(s) (precommands) <string>
Command that will fire when the player interact with the node and the sound file is played. Use semicolons to delimit multiple commands. (ai_disable 1;mat_wireframe 1)
Post-command(s) (postcommands) <string>
Command that will fire after the commentary has ended. Also accepts semicolons. (e.g ai_disable 0;mat_wireframe 0)
Speaker(s) (speakers) <string>
The name of the speakers of the commentary sound file(s). Will be displayed in the HUD (if subtitles/close captions is disabled) while the commentary sound file is playing.
Synopsis (synopsis) <string>
A short synopsis of the contents of the commentary.
View Position (viewposition) <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.
View Target (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.

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.

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