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

env_message

From Valve Developer Community
Jump to: navigation, search
English (en)中文 (zh)
Edit
Env message.png
class hierarchy
CMessage defined in EnvMessage.cpp
CPointEntity
CBaseEntity

env_message is a point entity available in all Source Source games. It draws a text message on player HUDs, predefined in the /scripts/titles.txt file.

Icon-Bug.pngBug:Does not function in Counter-Strike: Source and Left 4 Dead 2.


In code, it is represented by theCMessageclass, defined in theEnvMessage.cppfile.

Flags

  •  [1] : Play Once
  •  [2] : All Clients

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

Targetname:
Name (targetname) <string>
The targetname that other entities refer to this entity by.

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.
Clarify: in pixels or in parts?
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 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

  1. 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.