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

env_message

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

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

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

Ключ-параметры

Name(en) (targetname) <объект источник(en)>
Имя объекта, по которому другие объекты могут ссылаться на этот объект, через Входы/Выходы(en) или другие ключ-параметры(en) (например parentname или target).
Также отображаются на 2D-видах в Hammer и Отчёте об объектах (Entity Report)(en).
См. также:  Основные ключ-параметры, входы и выходы доступные для всех объектов

Message Text (message) <строка(en)>
Сообщение, которое будет показано. Смотрите выше.
Sound Effect (messagesound) <sound(en)>
При показе сообщения будет воспроизведен этот звуковой эффект, исходящий от этого объекта.
Volume 0-10 (messagevolume) <строка(en)>
Громкость звукового эффекта.
Sound Radius (messageattenuation) <варианты выбора>
Величина дистанции слышимости звука.
  • 0: Small Radius – Малый радиус
  • 1: Medium Radius – Средний радиус
  • 2: Large Radius – Большой радиус
  • 3: Play Everywhere – Проигрывать на всей площади карты

Признаки

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

Входы

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

Выходы

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

Формат файла

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

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

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

Переменная Параметры Описание
$position float, float Положение текста на экране, представленное в диапазоне от 0 до 1. Первое значение по горизонтали, где 0 - положение слева; второе - по вертикали, где 0 - положение сверху, а -1 - по центру.
Icon-Bug.pngБаг:В большинстве игр область отображения сообщений ограничена 4:3 с левой стороны экрана, что делает неиспользуемой около трети с правой стороны экрана в широкоформатном режиме.  [todo tested in ?]
Note.pngРешение:Это исправлено в новых версиях Half-Life 2 Half-Life 2 и Portal Portal и может быть исправлено в модификациях других игр путём увеличения ширины панели HudMessage в scripts/hudlayout.res.
$effect integer Как это отображается. 0 – постепенное включение/выключение, 1 – мерцающие титры, 2 – напечатание
$fxtime float При использовании эффекта 2 задается, сколько времени потребуется каждой букве в секундах, чтобы изменить цвет подсветки на обычный по мере их появления.
$color R G B Цвет текста: красный, синий, зеленый в диапазоне от 0 до 255
$fadein float Время затухания сообщения или каждого символа в секундах
$fadeout float Время затухания в секундах
$holdtime float Как долго ждать после включения, прежде чем погаснуть

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

Код сообщения Отображаемый текст
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 об элементах управления и других вещах.