env_message
Class hierarchy |
---|
CMessage |
EnvMessage.cpp |
env_message
is a point entity available in all Source games. It draws a text message on player HUDs, predefined in the /scripts/titles.txt
file.
Flags
Play Once : [1]
All Clients : [2]
Keyvalues
- Message Text (message) <string>
- Message to be shown. See above.
- Sound Effect (messagesound) <sound>
- When the message is shown, this sound effect will be played, originating from this entity.
- Volume 0-10 (messagevolume) <string>
- Volume of the sound effect.
- Sound Radius (messageattenuation) <choices>
- How big the radius of the sound is.
- 0: Small Radius
- 1: Medium Radius
- 2: Large Radius
- 3: Play Everywhere
- Name (targetname) <string>
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
Inputs
- ShowMessage
- Shows the message and plays the sound.
Outputs
- OnShowMessage
- Fired when the message is activated.
File format
Each message entry in titles.txt follows a similar structure as other Valve text files. Example: Title { Text Value }
. The message can reference a localized string prefixed with #
.
This text can be formatted in many different ways, according to the syntax provided. The resource/clientscheme.res
is responsible for the font family, size and weight of the message. To change the size find CenterPrintText
in the res file.
Variables can be defined which will affect all the messages below them, until overwritten with another value.
Varaible | Parameters | Description |
---|---|---|
$position | float, float | Position of the text onscreen, represented as a range from 0-1. The first float is horizontal, with 0 being the left; the second is vertical, with 0 being the top. -1 is centered. Bug:In most games, messages are constrained to being displayed in a 4:3 area aligned to the left side of the screen, making approximately the entire right third of the screen in widescreen mode unusable. [todo tested in?] Fix:This is fixed in newer versions of Half-Life 2 and Portal, and can be fixed in mods for other games by increasing the width of the
HudMessage panel in scripts/hudlayout.res . |
$effect | integer | How it is displayed. 0 is fade in/fade out, 1 is flickery credits, 2 is write out |
$fxtime | float | When using the write out effect, this is the amount of time the highlight lags behind the leading edge of the text |
$color | R G B | Color of the text as red-green-blue between 0-255 |
$color2 | R G B | Highlight color used for the write out effect as characters are appearing |
$fadein | float | Fade in time of message or each character in seconds |
$fadeout | float | Fade out time in seconds |
$holdtime | float | How long to wait after fade in before fade out |
$boxsize | float | If non-zero, adds a background behind the text (like the HL2 'Saved' message). The size of the border is calculated as this value multiplied by the font height. |
$boxcolor | R G B A | Color and opacity of the text background |
$clearmessage | string | Clears any existing message of the given name upon display. Set to 0 to disable. |
If you make a standalone modification you can alter this file with your own entries. The default titles from HL2 are listed below:
Message Value | Printed Text |
---|---|
CR1 | Testing 1 |
CR2 | Testing 2 |
CR3 | Testing 3 |
GAMEOVER_ALLY | ASSIGNMENT: TERMINATED
SUBJECT: FREEMAN REASON: FAILURE TO PRESERVE MISSION-CRITICAL PERSONNEL |
GAMEOVER_OBJECT | ASSIGNMENT: TERMINATED
SUBJECT: FREEMAN REASON: FAILURE TO PRESERVE MISSION-CRITICAL RESOURCES |
GAMEOVER_TIMER | ASSIGNMENT: TERMINATED
SUBJECT: FREEMAN REASON: FAILURE TO PREVENT TIME-CRITICAL SEQUENCE |
GAMEOVER_STUCK | ASSIGNMENT: TERMINATED
SUBJECT: FREEMAN REASON: DEMONSTRATION OF EXCEEDINGLY POOR JUDGMENT |
CHAPTER1_TITLE | POINT INSERTION |
CHAPTER2_TITLE | "A RED LETTER DAY" |
CHAPTER3_TITLE | ROUTE KANAL |
CHAPTER4_TITLE | WATER HAZARD |
CHAPTER5_TITLE | BLACK MESA EAST |
CHAPTER6_TITLE | "WE DON'T GO TO RAVENHOLM..." |
CHAPTER7_TITLE | HIGHWAY 17 |
CHAPTER8_TITLE | SANDTRAPS |
CHAPTER9_TITLE | NOVA PROSPEKT |
CHAPTER9A_TITLE | ENTANGLEMENT |
CHAPTER10_TITLE | ANTICITIZEN ONE |
CHAPTER11_TITLE | "FOLLOW FREEMAN!" |
CHAPTER12_TITLE | OUR BENEFACTORS |
CHAPTER13_TITLE | DARK ENERGY |
GAMESAVED | Saved... |
GAMETITLE | Half-Life |
Files
scripts/titles.txt
See also
- game_text - Similar entity that lets you define a text directly in the Hammer editor.
- env_hudhint - Similar entity that displays predefined HUD hints about controls and other things.