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

Ru/Env message: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
Line 3: Line 3:
[[File:env_message.png|left|link=]]
[[File:env_message.png|left|link=]]
{{CD|CMessage|file1=EnvMessage.cpp}}
{{CD|CMessage|file1=EnvMessage.cpp}}
{{this is a|point entity|name=env_message}} Она выводит текстовое сообщение на HUD игрока, предварительно заданное в файле <code>/scripts/titles.txt</code>.
{{this is a|point entity|name=env_message}} Она выводит текстовое сообщение на {{L|HUD Elements|экранный интерфейс пользователя}}, предварительно заданное в файле <code>/scripts/titles.txt</code>.


{{bug|Не функционирует в {{css}} и {{l4d2}}.}}
{{bug|Не функционирует в {{css}} и {{l4d2}}.}}
Line 9: Line 9:
{{Code class|CMessage|EnvMessage.cpp}}
{{Code class|CMessage|EnvMessage.cpp}}


== Флаги ==
== Ключ-параметры ==
{{fl|1|Play Once}} – одноразовое проигрывание
{{fl|2|All Clients}} – проигрывать у всех игроков (в мультиплеере)
 
== Ключевые значения ==
{{KV Targetname}}
{{KV Targetname}}
{{KV|Message Text|intn=message|string|Сообщение, которое будет показано. Смотрите выше.}}
{{KV|Message Text|intn=message|string|Сообщение, которое будет показано. Смотрите выше.}}
{{KV|Sound Effect|intn=messagesound|sound|При показе сообщения будет воспроизведен этот звуковой эффект, исходящий от этого объекта.}}
{{KV|Sound Effect|intn=messagesound|sound|При показе сообщения будет воспроизведен этот звуковой эффект, исходящий от этого объекта.}}
{{KV|Volume 0-10|intn=messagevolume|string|Громкость звукового эффекта.}}
{{KV|Volume 0-10|intn=messagevolume|string|Громкость звукового эффекта.}}
{{KV|Sound Radius|intn=messageattenuation|choices|Насколько велик радиус распространения звука.
{{KV|Sound Radius|intn=messageattenuation|choices|Величина дистанции слышимости звука.
:*0: Small Radius – Малый радиус
:*0: Small Radius – Малый радиус
:*1: Medium Radius – Средний радиус
:*1: Medium Radius – Средний радиус
:*2: Large  Radius – Большой радиус
:*2: Large  Radius – Большой радиус
:*3: Play Everywhere – Проигрывать на всю карту}}
:*3: Play Everywhere – Проигрывать на всей площади карты}}
 
== Признаки ==
{{fl|1|Play Once}} – однократное отображение
{{fl|2|All Clients}} – отображать у всех игроков (в многопользовательском режиме)


== Inputs ==
== Входы ==
{{I|ShowMessage|Показывает сообщение и воспроизводит звук.}}
{{I|ShowMessage|Показывает сообщение и воспроизводит звук.}}


== Outputs ==
== Выходы ==
{{O|OnShowMessage|Срабатывает при активации сообщения.}}
{{O|OnShowMessage|Срабатывает при активации сообщения.}}


== File format ==
== Формат файла ==
Каждая запись сообщения в titles.txt организована так же, как и другие текстовые файлы Valve. Пример: <code>Title { Text Value }</code>. Сообщение может ссылаться на [[VGUI_Documentation#Localization|локализованную]] строку с префиксом <code>#</code>.
Каждая запись сообщения в titles.txt организована так же, как и другие текстовые файлы Valve. Пример: <code>Заголовок { Текстовая строка }</code>. Сообщение может ссылаться на [[Ru/VGUI_Documentation#Локализация|локализованную]] строку с префиксом <code>#</code>.


Этот текст может быть отформатирован различными способами, в соответствии с предоставленным синтаксисом. <code>resource/clientscheme.res</code> отвечает за семейство шрифтов, размер и вес сообщения. Чтобы изменить размер, найдите <code>CenterPrintText</code> в res файле.
Этот текст может быть отформатирован различными способами, в соответствии с предоставленным синтаксисом. <code>resource/clientscheme.res</code> отвечает за семейство шрифтов, размер и вес сообщения. Чтобы изменить размер, найдите <code>CenterPrintText</code> в res файле.
Line 39: Line 39:
{| class="standard-table"
{| class="standard-table"
|-
|-
! Varaible !! Parameters !! Description
! Переменная !! Параметры !! Описание
|-
|-
| $position || float, float || Положение текста на экране.{{clarify|in pixels or in parts?}} Первое значение – это горизонталь, второе – вертикаль. -1 – центрирование
| $position || float, float || Положение текста на экране, представленное в диапазоне от 0 до 1. Первое значение по горизонтали, где 0 - положение слева; второе - по вертикали, где 0 - положение сверху, а -1 - по центру. {{bug|В большинстве игр область отображения сообщений ограничена 4:3 с левой стороны экрана, что делает неиспользуемой около трети с правой стороны экрана в широкоформатном режиме.}} {{modernFix|Это исправлено в новых версиях {{hl2|4}} и {{portal|4}} и может быть исправлено в модификациях других игр путём увеличения ширины панели <code>HudMessage</code> в <code>scripts/hudlayout.res</code>.}}
|-
|-
| $effect || integer || Как это отображается. 0 – постепенное включение/выключение, 1 – мерцающие титры, 2 – напечатание
| $effect || integer || Как это отображается. 0 – постепенное включение/выключение, 1 – мерцающие титры, 2 – напечатание
Line 59: Line 59:


{| class="standard-table"
{| class="standard-table"
! Message Value !! Printed Text
! Код сообщения !! Отображаемый текст
|-
|-
|CR1 || Testing 1
|CR1 || Testing 1

Latest revision as of 03:16, 1 June 2025

English (en)Русский (ru)中文 (zh)Translate (Translate)
Env message.png
C++ Классовая структура
CMessage
CPointEntity
CBaseEntity
C++ EnvMessage.cpp

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

Icon-Bug.pngБаг:Не функционирует в Counter-Strike: Source и Left 4 Dead 2.  [нужно проверить в ?]
C++ В коде это представлено классом 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 с левой стороны экрана, что делает неиспользуемой около трети с правой стороны экрана в широкоформатном режиме.  [нужно проверить в ?]
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 об элементах управления и других вещах.