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

Ru/Env message: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{cleanup|перевод можно сформулировать лучше. <br>Сущность как перевод Entity не годится.[[User_talk:Clash#Сомнительные переводы|справка]]}}
{{LanguageBar|title = env_message}}
{{langsp|title = env_message}}
 
[[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|e0|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}}
{{KV Targetname}}
{{fl|2|All Clients}}
 
== Ключевые значения ==
{{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 – Проигрывать на всей площади карты}}
{{KV Targetname}}
 
== Признаки ==
{{fl|1|Play Once}} – однократное отображение
{{fl|2|All Clients}} – отображать у всех игроков (в многопользовательском режиме)


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


== Outputs ==
== Выходы ==
{{IO|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 – напечатание
|-
|-
| $fxtime || float || The amount of time the highlight lags behind the leading edge of the text
| $fxtime || float || При использовании эффекта 2 задается, сколько времени потребуется каждой букве в секундах, чтобы изменить цвет подсветки на обычный по мере их появления.
|-
|-
| $color || R G B || Цвет текста: красный, синий, зеленый в диапазоне от 0 до 255
| $color || R G B || Цвет текста: красный, синий, зеленый в диапазоне от 0 до 255
Line 59: Line 59:


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


==Файлы==
==Файлы==
# <code>scripts/titles[[.txt]]</code>
# <code>scripts/titles{{L|.txt}}</code>


== See also ==
== Смотрите также ==
*{{ent|game_text}} - Аналогичная сущность, которая позволяет вам определять текст непосредственно в Hammer editor.
*{{ent|game_text}} - Аналогичная сущность, которая позволяет вам определять текст непосредственно в Hammer editor.
*{{ent|env_hudhint}} - Аналогичный объект, который отображает предопределенные подсказки HUD об элементах управления и других вещах.
*{{ent|env_hudhint}} - Аналогичный объект, который отображает предопределенные подсказки HUD об элементах управления и других вещах.
{{ACategory|GUI Entities}}
{{ACategory|Plain text formats}}

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