env_message
Code classes:
CMessage
CPointEntity
CBaseEntity
(all ents)
env_message
is a point entity present in all Source games. It draws a text message on player HUDs, from strings defined in the /scripts/titles.txt
file. It's used at some points in , such as when the player's buggy falls into water.
Syntax[edit | edit source]
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.
Variable | Parameters | Description |
---|---|---|
$position | float, float | Position of the text onscreen. First float is horizontal, second is vertical. -1 is centered |
$effect | integer | How it is displayed. 0 is fade in/fade out, 1 is flickery credits, 2 is write out |
$fxtime | float | The amount of time the highlight lags behind the leading edge of the text |
$color | R G B | Color of the text as red blue green between 0-255 |
$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 |
If you're making a mod 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 |
Flags[edit | edit source]
- 1: Play Once (Entity removes itself after the first time it displays.)
- 2: All Clients (Shows the message to everyone on the server. Otherwise, only to the
!activator
. Not needed for singleplayer games.)
Keyvalues[edit | edit source]
- 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
Inputs[edit | edit source]
- ShowMessage
- Shows the message and plays the Sound Effect if any.
Outputs[edit | edit source]
- OnShowMessage
- Fired when ShowMessage is sent.