Entity Article Template: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Does displaytitle even work?)
m (Split IO template links)
 
(27 intermediate revisions by 12 users not shown)
Line 1: Line 1:
<nowiki>{{{<game acronym> <point/brush>|<entity class name>}}}</nowiki>
{{LanguageBar|title = Entity Article Template}}
{{syntax2
{{Multiple issues|
|in=<nowiki>{{css point|ammo_57mm}}</nowiki>
{{Orphan|date=January 2024}}
|out={{css}} '''ammo_57mm''' is a [[point entity]] available in [[Counter-Strike: Source]].
{{Update|How a page as important as this is as out of date as it is in incomprehensible. Should be update as soon as possible. {{tl|lang}} and {{tl|entity}} are both out of date.}}
}}
}}
{{tip|If the entity is available everywhere, use "base" as game acronym.}}


== Entity description ==
{{Back|Help:Page Creation}}
This should be a plainly-worded but accurate description of the basic function of the entity. A basic description for most entities is included in the help built into [[Hammer]].
These are (optional) templates for the first text of an entity page. Find other useful templates at [[Help:Templates#Notice Templates]].
{{Note|1=The template that is marked with a character "<strong style="color: yellow; ">*</strong>" is required for the entity page.}}
{| class=wikitable
| <strong style="color: yellow; ">*</strong>{{Code|1=<nowiki>{{</nowiki>[[Template:This is a|This is a]]{{!}}<entity type>{{!}}name=<entity classname>{{!}}game=<full game name><nowiki>}}</nowiki>}}
| Creates a first sentence with a link to the game.
{{syntax2 |in=<nowiki>{{This is a|point entity|name=ammo_57mm|game=Counter-Strike: Source}}</nowiki>|out={{this is a|point entity|name=ammo_57mm|game=Counter-Strike: Source|nocat=1|notitlechange=1}}}}
{{tip|If the entity is ''available in all Source games'', don't use {{Code|style=1|{{Param|game}}}}. If available in multiple games, use {{Code|style=1|{{Param|game1}}}} (See [[Template:This is a|the documentation of the template]] for details).}}{{Note|See [[Template:This is a|the documentation of the template]] for the details of entity types.}}
|-
| {{T|LanguageBar}} || Adds the flags on the top right for language pages and adds this page to an appropriate language [[Help:Categories|Category]].
|-
| {{T|Distinguish|{{P|Other Page Name}}}} || Adds a note with a link to a page that this page should not be confused with.
|-
| {{T|Stub}} || Adds a notice and a category for incomplete pages.
|-
| {{T|Ent not in fgd}} || Adds a notice for entities that are not available in Hammer. Its text contains a link to a section "FGD Code" on the same page where code can be provided to make it available in Hammer. If it shouldn't add the parameter <code>nolink=1</code>. If the entity is available in Hammer but not in the game, use {{T|Ent not in game}}.
|}


For an NPC's inputs, outputs etc. the [[Npc_sniper|npc_sniper]] article could be handy. Many of the details seem the same for different NPCs, so it could save typing.
== Entity Description ==
This should be a plainly-worded but accurate description of the basic function of the entity. A very basic description for most entities is included in the help built into {{Hammer|1}}. If the description isn't overly long, omit the header and put it at the top with the first sentence on the page.


The information for the entity Keys, Outputs, and Inputs can be found inside the Hammer entity help, or in the [[FGD]]. Flag names can only be found in the [[FGD]].
[[.fgd|FGDs]] (and by extension the Hammer properties window) are good sources for information on an entity's keyvalues, inputs, outputs, and flags, however FGDs often will not list ''everything'' available for an entity. Because of this, the wiki uses a mix of [[Help:Templates|templates]] that roughly follow the engine's class hierarchy and ones that follow FGDs.


== Dedicated Console Variables - omit if none exist ==
Also include [[:Template:Code class]]:
; cvar_name <data type>
{{Syntax2
: Omittable Description
| in = {{T|Code class|{{P|CEntityClass}}{{P|entityfile}}}}
; sk_barney_health <integer>
| out = {{Code class|CEntityClass|entityfile}}
: Barney's spawn health
}}
The entity's code class name can be found by searching <code>LINK_ENTITY_TO_CLASS</code> in the CPP file defining it.
 
== Dedicated Console Variables and Commands (omit if none exist) ==
Console variables and commands can be found by searching <code>ConVar</code> and <code>ConCommand</code> in the CPP file that defines the entity. Note a parameter if any exist.
;cvar_name <data type>
:Description.
;sk_barney_health <integer>
:Barney's spawn health.
 
== Flags (omit if none exist) ==
{{Tip|See [[:Category:Flag Templates]] for a list of available templates.}}
For each flag, write one of the following.
 
{{T|Fl|{{P|<integer>}}{{P|<flag name>}}}}


== Keyvalues - omit if none exist ==
{{T|Fl|{{P|<integer>}}{{P|<flag name>}}{{P|<description>}}}}
{{tip|See [[:Category:Keyvalue Templates]] for a list of available templates.}}
{{KV|Keyvalue Name|vartype|A description of the Keyvalue.}}
{{KV|Brightness|color255|The color of the spotlight cone.}}


=== {{Game link|Half-Life 2}} ===
Which could look like this:
{{tip| Use <nowiki>=== {{Game link|Game Name}} ===</nowiki> to sort Keyvalues that exist only in selected games.}}
{{Fl|Integer value|Flag Name|Description if necessary.}}
{{KV Targetname}}
{{Fl|16|Start Silent|The map will start without this sound playing. Enabled by default.}}
{{KV Parentname}}
{{KV Angles}}
{{KV DXLevelChoice}}


== Flags - omit if none exist ==
== Keyvalues ==
{{tip|See [[:Category:Flag Templates]] for a list of available templates.}}
Since every entity inherits {{ent|CBaseEntity}}, all entity pages should have [[:Template:KV BaseEntity]] if not more. The only exceptions are [[:Category:Internal entities|internal entities]], which are removed during the compiling of a map and cannot receive I/O and most base keyvalues. This all applies to inputs and outputs as well.


* Integer value : Flag Name
Individual keyvalues are defined with [[:Template:KV]].
: Omissible description
{{Tip|See [[:Category:Keyvalue Templates]] for a list of available templates.}}
* Integer value : Flag Name
{{KV|Keyvalue Name|intn=non-SmartEdit name)|vartype|A description of the keyvalue.}}
: Omissible description
{{KV|Render Amount|intn=renderamt|integer|Transparency amount, requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible.}}


== Inputs - omit if none exist ==
==Inputs==
{{tip|See [[:Category:Input Templates]] for a list of available templates.}}
Individual inputs are defined with [[:Template:I]]
{{Tip|See [[:Category:Input Templates]] for a list of available templates.}}


{{IO|Input Name|A description of the Input.|param=vartype}}
{{I|InputName|A description of the input.|param=optional vartype}}
{{IO|SetSpeed|Set the speed of the train, as a ratio of max speed [0, 1]|param=float}}
{{I|SetSpeed|Set the speed of the train, as a ratio of max speed [0, 1]|param=float}}
{{I Targetname}}
{{I Parentname}}


== Outputs - omit if none exist ==
==Outputs==
{{tip|See [[:Category:Output Templates]] for a list of available templates.}}
Individual outputs are defined with [[:Template:O]]
{{Tip|See [[:Category:Output Templates]] for a list of available templates.}}


{{IO|Output Name|A description of the Input.}}
{{O|OutputName|A description of the output.}}
{{IO|OnPressed|Fired when the button is pressed.}}
{{O|OnPressed|Fired when the button is pressed.}}
{{O Targetname}}


== See also ==
==See also==
{{note|Add links to related articles, entities, or tutorials here.}}
{{Todo|Add links to related articles, entities, or tutorials here.}}


* [[Assaults]] - appropriate links to tutorials, related articles and entities etc.
*[[Assault]]s
* [[ambient_generic]]
*{{ent|ambient_generic}}


[[Category:Entities]]
[[Category:Entities]]

Latest revision as of 15:16, 21 April 2025

English (en)Translate (Translate)
Wikipedia - Letter.png
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
Broom icon.png
This article or section needs to be updated to include current information regarding the subject because:
How a page as important as this is as out of date as it is in incomprehensible. Should be update as soon as possible. {{lang}} and {{entity}} are both out of date.
Remember to check for any notes left by the tagger at this article's talk page.
Help:Page Creation

These are (optional) templates for the first text of an entity page. Find other useful templates at Help:Templates#Notice Templates.

Note.pngNote:The template that is marked with a character "*" is required for the entity page.
*{{This is a|<entity type>|name=<entity classname>|game=<full game name>}} Creates a first sentence with a link to the game.
 
 Example {{This is a|point entity|name=ammo_57mm|game=Counter-Strike: Source}} 
   Results ammo_57mm is a point entity available in Counter-Strike: Source Counter-Strike: Source.
Tip.pngTip:If the entity is available in all Source games, don't use {{{game}}}. If available in multiple games, use {{{game1}}} (See the documentation of the template for details).
Note.pngNote:See the documentation of the template for the details of entity types.
{{LanguageBar}} Adds the flags on the top right for language pages and adds this page to an appropriate language Category.
{{Distinguish|Other Page Name}} Adds a note with a link to a page that this page should not be confused with.
{{Stub}} Adds a notice and a category for incomplete pages.
{{Ent not in fgd}} Adds a notice for entities that are not available in Hammer. Its text contains a link to a section "FGD Code" on the same page where code can be provided to make it available in Hammer. If it shouldn't add the parameter nolink=1. If the entity is available in Hammer but not in the game, use {{Ent not in game}}.

Entity Description

This should be a plainly-worded but accurate description of the basic function of the entity. A very basic description for most entities is included in the help built into Hammer. If the description isn't overly long, omit the header and put it at the top with the first sentence on the page.

FGDs (and by extension the Hammer properties window) are good sources for information on an entity's keyvalues, inputs, outputs, and flags, however FGDs often will not list everything available for an entity. Because of this, the wiki uses a mix of templates that roughly follow the engine's class hierarchy and ones that follow FGDs.

Also include Template:Code class:

 
 Example {{Code class|CEntityClass|entityfile}} 
   Results
C++ In code, it is represented by theCEntityClassclass, defined in theentityfilefile.

The entity's code class name can be found by searching LINK_ENTITY_TO_CLASS in the CPP file defining it.

Dedicated Console Variables and Commands (omit if none exist)

Console variables and commands can be found by searching ConVar and ConCommand in the CPP file that defines the entity. Note a parameter if any exist.

cvar_name
Description.
sk_barney_health <integer>
Barney's spawn health.

Flags (omit if none exist)

Tip.pngTip:See Category:Flag Templates for a list of available templates.

For each flag, write one of the following.

{{Fl|<integer>|<flag name>}}

{{Fl|<integer>|<flag name>|<description>}}

Which could look like this:

Flag Name : [Integer value]
Description if necessary.
Start Silent : [16]
The map will start without this sound playing. Enabled by default.

Keyvalues

Since every entity inherits CBaseEntity, all entity pages should have Template:KV BaseEntity if not more. The only exceptions are internal entities, which are removed during the compiling of a map and cannot receive I/O and most base keyvalues. This all applies to inputs and outputs as well.

Individual keyvalues are defined with Template:KV.

Tip.pngTip:See Category:Keyvalue Templates for a list of available templates.
Keyvalue Name (non-SmartEdit name)) <vartype>
A description of the keyvalue.
Render Amount (renderamt) <integer>
Transparency amount, requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible.

Inputs

Individual inputs are defined with Template:I

Tip.pngTip:See Category:Input Templates for a list of available templates.


InputName <optional vartype>
A description of the input.
SetSpeed <floatRedirectInput/float>
Set the speed of the train, as a ratio of max speed [0, 1]

Outputs

Individual outputs are defined with Template:O

Tip.pngTip:See Category:Output Templates for a list of available templates.


OutputName
A description of the output.
OnPressed
Fired when the button is pressed.

See also

Todo: Add links to related articles, entities, or tutorials here.