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

env_message

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

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

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

Флаги

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

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

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 – Проигрывать на всю карту

Base:
Name (targetname) <строка (en)>
Название объекта по которому другие объекты могут ссылаться на этот объект.
Parent (parentname) <целевой объект (en)>
Maintain the same initial offset to this entity. An attachment point can also be used if separated by a comma at the end. (parentname [targetname],[attachment])
Tip.pngСовет:Entities transition to the next map with their parents
Tip.pngСовет:phys_constraint can be used as a workaround if parenting fails.
Origin (X Y Z) (origin) <coordinates (en)>
Положение центра этого объекта в пространстве мира. Rotating entities typically rotate around their origin.
Note.pngПримечание:Hammer does not move the entities accordingly only in the editor.
Pitch Yaw Roll (X Y Z) (angles) <angle (en)>
Ориентация этого объекта в пространстве мира. Тангаж (Pitch) - вращение вокруг оси Y, рысканье(yaw) - вращение вокруг оси Z, крен(roll) - вращение вокруг оси X.
Note.pngПримечание:This works on brush entities, although Hammer doesn't show the new angles.
Classname (classname) <строка (en)> Отсутствует в FGD!
Определяет свойства объекта до его появления.
Tip.pngСовет:Changing this on runtime still has use, like making matching an entry in S_PreserveEnts will persist the entity on new rounds!
Spawnflags (spawnflags) <flags (en)> Отсутствует в FGD!
Переключает специфические возможности объекта, конечное числовое значение определется комбинацией включенных возможностей.
Effects (effects) <flags (en)> Отсутствует в FGD!
Набор эффектов для использования.
Entity Scripts (vscripts) <скриптлист VScript (en)> (Во всех играх начиная с Left 4 Dead 2) (также в Team Fortress 2)
Space delimited list of VScript files (without file extension) that are executed after all entities have spawned. The scripts are all executed in the same script scope, later ones overwriting any identical variables and functions. Scripts executed on the worldspawn entity will be placed in root scope.
Think function (thinkfunction) <строка (en)> (Во всех играх начиная с Left 4 Dead 2) (также в Team Fortress 2)
Name of the function within this entity's script that'll be called automatically every 100 milliseconds, or a user-defined interval if the function returns a number. Avoid expensive operations in this function, as it may cause performance problems.
Lag Compensation (LagCompensate) <булева переменная (en)> (Во всех играх начиная с Left 4 Dead 2) Отсутствует в FGD!
Set to Yes to lag compensate this entity. Should be used very sparingly!
Is Automatic-Aim Target (is_autoaim_target) <булева переменная (en)> (Во всех играх начиная с Counter-Strike: Global Offensive) Отсутствует в FGD!
If set to 1, this entity will slow down aiming movement for consoles and joystick controllers when the entity is under the crosshairs.

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