Основные ключ-параметры, входы и выходы
Ниже приведены общие ключ-параметры, входы и выходы, доступные для всех объектов. Они не обязательно присутствуют в FGD-файле каждой игры/объекта, но существуют у каждого объекта, поскольку наследуются из класса CBaseEntity. Если они отсутствуют в FGD-файле для объекта, это может быть связано с тем, что их использование для этого объекта не предусмотрено или может работать некорректно (например, наследование prop_physics), и такие случаи придётся тестировать и описывать на странице соответствующего объекта. Некоторые объекты могут переопределять функциональность указанных ключей/входов/выходов, и такие случаи также будут описаны на странице данного объекта.
Ключ-параметры
<dl id="Name" style="margin-block:.4em 1em">
parentname или target).Оно отображается на 2D-видах в Hammer и Отчёте об объектах (Entity Report).
<dl id="Class" style="margin-block:.4em 1em">
<dl id="Global Entity Name" style="margin-block:.4em 1em">
- Model (model) <строка>
- Визуальное представление отображаемого объекта. Для объёмных объектов это ссылка на ненулевой индекс [[Ru/Bmodel|]] в текущем BSP-файле. Для точечных объектов это путь к MDL-файлу трёхмерной модели или VMT-файлу спрайта относительно корневого каталога игры. Не все объекты будут отображать модель, некоторые объекты будут отображать только предварительно кэшированную определенную здесь модель (без предварительного кэширования она отображаться не будет).
<dl id="Origin (X Y Z)" style="margin-block:.4em 1em">
Баг:Редактирование вручную в Hammer не приводит к соответствующему перемещению точечных объектов в редакторе.
Примечание:Объёмные объекты с этим ключ-параметром учитываются при проверке пространства карты на утечки, а при его отсутствии не учитываются. Это связано с тем, что при отсутсвии этого ключ-параметра применяется значение по умолчанию 0 0 0, которое всегда игнорируется при проверке на утечки.
- Pitch Yaw Roll (Y Z X) (angles) <углы>
- Ориентация этого объекта в мире. Тангаж (pitch) - поворот по оси Y, рысканье (yaw) - поворот по Z и крен(roll) - поворот по X.
Примечание:Это работает для большинства объёмных объектов, хотя Hammer не показывает новые углы.
<dl id="Flags" style="margin-block:.4em 1em">
- Damage Filter (damagefilter) <фильтр>
- Имя фильтра урона, определяющего, какие объекты могут наносить урон этому объекту (обычно filter_damage_type).
Наследование
<dl id="Parent" style="margin-block:.4em 1em">
parentname [targetname],[attachment]). Сценарии
- Entity Scripts (vscripts) <список сценариев> (Во всех играх начиная с
) (также в
)
- Список файлов сценариев VScript, разделенных пробелами (без расширения файла), которые выполняются после создания всех объектов. Все сценарии выполняются в едином потоке расчёта, и последующие сценарии перезаписывают все идентичные переменные и функции. Сценарии, выполняемые для объекта мира, будут выполняться в корневом потоке расчёта.
<dl id="Think function" style="margin-block:.4em 1em">
Отображение
RenderFields:
- Render Mode (rendermode) <байт выбор>
- Устанавливает нестандартный режим отображения этого объекта.
Режимы отображения
<dl id="Render FX" style="margin-block:.4em 1em">
- Render Amount / Transparency (renderamt) <байт>
- Transparency amount, requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible.
- Render Color (R G B) (rendercolor) <цвет КЗС>
- Color tint.
Тени:
- Disable Shadows (disableshadows) <булева переменная>
- Отключить создание объектом простых текстурных теней, или теней в виде световой карты, если объект является prop_static. Не влияет на карты теней.
- Shadow Cast Distance (shadowcastdist) <целое число> Отсутствует в FGD!
- Установить максимальную дальность применения динамических теней от объекта. 0 обозначает дистанцию, заданную по умолчанию в объекте shadow_control.
- Disable Receiving Shadows (disablereceiveshadows) <булева переменная>
- Отключить отображение динамических теней на объекте.
- Disable Shadow Depth (disableshadowdepth) <булева переменная> (Во всех играх начиная с
)
- Отключение отображения глубины теней (для проецируемых текстур) на этом объекте.
- Disable flashlight (disableflashlight) <булева переменная> (Во всех играх начиная с
)
- Отключение проецируемого текстурного освещения и теней на этом объекте.
- Projected Texture Cache (shadowdepthnocache) <целое число выбор> (Во всех играх начиная с
)
- Указывает системе проецируемых текстур кэшировать размер тени этого объекта вместо принудительно покадрового расчёта отображения.
Варианты - 0 : По умолчанию
- 1 : Без кэша - обрабатывать покадрово
- 2 : Кэшировать - обрабатывать однократно
Прочие
|
<dl id="Effects" style="margin-block:.4em 1em"> <dl id="Lag Compensation" style="margin-block:.4em 1em">
|
Входы
<dl id="AddOutput" style="margin-block:.4em 1em">
Формат:
<имя> <целевой объект>:[имя входа]:[параметр]:[задержка]:[количество срабатываний, -1 - бесконечно]Формат:
<ключ> <значение><dl id="Kill" style="margin-block:.4em 1em">
- FireUser1 to FireUser4 <строка>
- Срабатывает соответствующие выходы
OnUser. Смотрите раздел Пользовательские входы и выходы.
Предупреждение:Can take string parameter and doesn't do anything with it. This can cause an issue if this input is fired from outputs that can send a value. Make sure to specify dummy string in such cases other-wise the output will use its value as parameter causing the input to fail with "bad input/output link" error in console.
- SetDamageFilter <имя объекта>
- Устанавливает фильтр, определяющий урон, получаемый данным объектом.
Наследование
- SetParent <имя объекта>
- поддерживает !activator, но не !caller
- Определяет родительский объект для совместного перемещения объекта вместе с ним. Смотрите Иерархия объектов мира (наследование).
- SetParentAttachment <строка>
- Преопределяет точку крепления родительского объекта для присоединения этого объекта. Объект будет перемещён таким образом, чтобы положение его коренной кости совпадало с положением точки крепления. Перед использованием этого входа необходимо указать родительский объект.
- SetParentAttachmentMaintainOffset <строка>
- Аналогичен предыдущему, но без перемещения. Объект сохраняет свое смещение относительно точки крепления в момент срабатывания входа.
- ClearParent
- Удаляет этот объект из иерархии движений, позволяя перемещаться самостоятельно.
- KillHierarchy
- Работает аналогично входу
Kill, за исключением того, что объект и все его дочерние объекты уничтожаются за один шаг расчёта, что немного быстрее, чем входKill.
Сценарии VScript
- RunScriptFile <сценарий> (Во всех играх начиная с
) (также в
)
- Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
- RunScriptCode <строка> (Во всех играх начиная с
) (также в
)
- Execute a string of VScript source code in the scope of the entity receiving the input. Variables
activator,caller,selfare available when the script is run (same applies to RunScriptFile).
Предупреждение:Using the quote symbol "in any text field of a Hammer Object Properties Dialog will lead to VMF corruption, fixable only by editing the VMF directly with a text editor and removing the added quote symbol.
Совет:In
backticks `are converted to"when the input is processed. If a string is needed in other games thenforeachcan be used likeforeach(k,v in {the_string_I_need=0}) printl(k), but that looks confusing and only strings that are also valid identifiers can be created this way so it's preferable to use RunScriptFile or Entity Scripts instead. Mind that using quotes itself within IO events is not an issue, so usingEntFireor adding outputs via script can be done by escaping the quotes\". Hammer does not provide a way to escape them. Example:EntFire("target", "RunScriptCode", "printl(\"I am: \" + self + \" !\")").
Баг:Trying to use activatororcallerby running this input on an entity that doesn't yet have a script scope will cause error as those variables are only populated when script scope exists. Calling the input second time will have them because the first call did create the script scope. This is fixed in
Ветвь Team Fortress 2.
- CallScriptFunction <строка> (Во всех играх начиная с
) (также в
) Отсутствует в FGD!
- Calls a VScript function defined in the scope of the receiving entity.
Примечание:activatorandcallerare unavailable.
Примечание:If the function requires arguments/parameters, then RunScriptCode or RunScriptFile will need to be used instead.
- TerminateScriptScope (только в
) Отсутствует в FGD!
- Destroys the script scope of the receiving entity.
Текстовые блоки
- AddContext <строка>
- Добавляет к объекту список текстовых ответов. Смотрите Контекст.
- ClearContext
- Очищает список текстовых ответов этого объекта.
Предупреждение:Should not be used outside of debugging purposes if vscript modding is available as one never knows what they might be deleting especially on player entities. There are often vscript mods that store information as contexts for various purposes.
- RemoveContext <строка>
- Удаляет текстовый ответ из списка этого объекта. Имя должно соответствовать ключу существующего блока текста.
Отображение
RenderFields:
- Alpha <целое число 0–255>
- Sets the entity's transparency to a number from 0 (invisible) to 255 (fully visible). Requires the entity to have its
rendermodeset to a number other than0.
- Color <цвет КЗС>
- Sets an RGB color for the entity.
Shadow:
- DisableShadow
- Turn dynamic shadows off for this entity. Identical to applying EF_NOSHADOW.
- EnableShadow
- Turn dynamic shadows on for this entity.
- DisableReceivingFlashlight (Во всех играх начиная с
)
- This object will not receive light or shadows from projected textures.
- EnableReceivingFlashlight (Во всех играх начиная с
)
- This object may receive light or shadows from projected textures.
Прочие
|
Выходы
- OnUser1 to OnUser4
- !activator = объект, активировавший входы FireUser1-4
!caller = this entity - Каждый из этих выходов срабатывает в ответ на срабатывание соотвествующего входа от FireUser1 до FireUser4; смотрите раздел Пользовательские входы и выходы.
- OnKilled (только в
)
- !activator = !caller = none
- Этот выход срабатывает, когда объект уничтожается и удаляется из игры.