Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

env_message

From Valve Developer Community
< Ru
Jump to: navigation, search
English (en)Русский (ru)中文 (zh)Translate (Translate)
Env message.png
Class hierarchy
CMessage
CPointEntity
CBaseEntity
EnvMessage.cpp

env_message - это точечная энтити(en), доступно для всех игр на движке Source Source. Она выводит текстовое сообщение на HUD игрока, предварительно заданное в файле /scripts/titles.txt.

Icon-Bug.pngБаг:Не функционирует в Counter-Strike: Source и Left 4 Dead 2.  [todo tested in?]
В коде это представлено классом CMessage, определённым в файле EnvMessage.cpp.

Флаги

Play Once : [1]
– одноразовое проигрывание All Clients : [2]
– проигрывать у всех игроков (в мультиплеере)

Ключевые значения

См. также:  Generic Keyvalues, Inputs and Outputs available to all entities
Name(en) (targetname) <string(en)>
Название объекта по которому другие объекты могут ссылаться на этот объект.
Message Text (message) <string(en)>
Сообщение, которое будет показано. Смотрите выше.
Sound Effect (messagesound) <sound(en)>
При показе сообщения будет воспроизведен этот звуковой эффект, исходящий от этого объекта.
Volume 0-10 (messagevolume) <string(en)>
Громкость звукового эффекта.
Sound Radius (messageattenuation) <choices>
Насколько велик радиус распространения звука.
  • 0: Small Radius – Малый радиус
  • 1: Medium Radius – Средний радиус
  • 2: Large Radius – Большой радиус
  • 3: Play Everywhere – Проигрывать на всю карту

Inputs

ShowMessage
Показывает сообщение и воспроизводит звук.

Outputs

OnShowMessage
Срабатывает при активации сообщения.

File format

Каждая запись сообщения в titles.txt организована так же, как и другие текстовые файлы Valve. Пример: Title { Text Value }. Сообщение может ссылаться на локализованную строку с префиксом #.

Этот текст может быть отформатирован различными способами, в соответствии с предоставленным синтаксисом. resource/clientscheme.res отвечает за семейство шрифтов, размер и вес сообщения. Чтобы изменить размер, найдите CenterPrintText в res файле.

Могут быть определены переменные, которые будут влиять на все сообщения под ними, пока не будут перезаписаны другим значением.

Varaible Parameters Description
$position float, float Положение текста на экране.
Уточнить: in pixels or in parts?
Первое значение – это горизонталь, второе – вертикаль. -1 – центрирование
$effect integer Как это отображается. 0 – постепенное включение/выключение, 1 – мерцающие титры, 2 – напечатание
$fxtime float При использовании эффекта 2 задается, сколько времени потребуется каждой букве в секундах, чтобы изменить цвет подсветки на обычный по мере их появления.
$color R G B Цвет текста: красный, синий, зеленый в диапазоне от 0 до 255
$fadein float Время затухания сообщения или каждого символа в секундах
$fadeout float Время затухания в секундах
$holdtime float Как долго ждать после включения, прежде чем погаснуть

Если вы внесете отдельную модификацию, вы можете дополнить этот файл своими собственными записями. Заголовки по умолчанию из HL2 перечислены ниже:

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

Файлы

  1. scripts/titles.txt(en)

Смотрите также

  • game_text - Аналогичная сущность, которая позволяет вам определять текст непосредственно в Hammer editor.
  • env_hudhint - Аналогичный объект, который отображает предопределенные подсказки HUD об элементах управления и других вещах.