Основные ключ-параметры, входы и выходы
< Ru
Jump to navigation
Jump to search
Ниже приведены общие ключ-параметры, входы и выходы, доступные для всех объектов. Они не обязательно присутствуют в FGD-файле каждой игры/объекта, но существуют у каждого объекта, поскольку наследуются из класса CBaseEntity. Если они отсутствуют в FGD-файле для объекта, это может быть связано с тем, что их использование для этого объекта не предусмотрено или может работать некорректно (например, наследование prop_physics), и такие случаи придётся тестировать и описывать на странице соответствующего объекта. Некоторые объекты могут переопределять функциональность указанных ключей/входов/выходов, и такие случаи также будут описаны на странице данного объекта.
Ключ-параметры
- Name (targetname) <строка>
-
Имя объекта, по которому другие объекты могут ссылаться на этот объект, через Входы/Выходы или другие ключ-параметры (например
parentnameилиtarget).
Оно отображается на 2D-видах в Hammer и Отчёте об объектах (Entity Report).
- Class (classname) <строка>
-
Определяет свойства объекта до его появления в игровом процессе.
Совет: Изменение этого параметра во время выполнения имеет некоторые преимущества, но его следует применять с осторожностью, поскольку некоторые объекты ожидают, что у необходимых объектов будут определенные имена классов. Например, использование имени класса, определенного в белом списке S_PreserveEnts, приведет к восстановлению объекта в новых раундах.
- Global Entity Name (globalname) <строка>
-
При передаче объекта на другую карту, содержащую объект с таким же внешним именем (и именем класса), свойства этого объекта (цвет, точка отсчёта, углы и т.д.) будут скопированы в этот объект (если только данное свойство не помечено как не подлежащее передаче, например, модель).
- Model (model) <строка>
- Визуальное представление отображаемого объекта. Для объёмных объектов это ссылка на ненулевой индекс [[Ru/Bmodel|]] в текущем BSP-файле. Для точечных объектов это путь к MDL-файлу трёхмерной модели или VMT-файлу спрайта относительно корневого каталога игры. Не все объекты будут отображать модель, некоторые объекты будут отображать только предварительно кэшированную определенную здесь модель (без предварительного кэширования она отображаться не будет).
- Origin (X Y Z) (origin) <координаты>
- Положение точки отсчёта (origin) этого объекта в пространстве мира. Вращающиеся объекты обычно вращаются вокруг своей точки отсчёта.
Баг:Редактирование вручную в Hammer не приводит к соответствующему перемещению точечных объектов в редакторе.
Примечание: Объёмные объекты с этим ключ-параметром учитываются при проверке пространства карты на утечки, а при его отсутствии не учитываются. Это связано с тем, что при отсутсвии этого ключ-параметра применяется значение по умолчанию 0 0 0, которое всегда игнорируется при проверке на утечки.
- Pitch Yaw Roll (Y Z X) (angles) <углы>
- Ориентация этого объекта в мире. Тангаж (pitch) - поворот по оси Y, рысканье (yaw) - поворот по Z и крен(roll) - поворот по X.
Примечание: Это работает для большинства объёмных объектов, хотя Hammer не показывает новые углы.
- Flags (spawnflags) <flags>
- Переключает специфические возможности объекта, конечное числовое значение определется комбинацией включенных признаков. В Hammer на соответствующей вкладке свойств объекта называемой 'Flags (Признаки)'
- Damage Filter (damagefilter) <фильтр>
- Имя фильтра урона, определяющего, какие объекты могут наносить урон этому объекту (обычно filter_damage_type).
Наследование
- Parent (parentname) <имя объекта>
-
Поддерживает заданное смещение относительно точки отсчёта другого объекта. Также можно использовать точку крепления, указав её после запятой в конце (
parentname [targetname],[attachment]).
Обходной приём: Можно использовать phys_constraint, если наследование не работает.
Сценарии
-
Entity Scripts (vscripts) <список сценариев> (Во всех играх начиная с
) (также в
)
- Список файлов сценариев VScript, разделенных пробелами (без расширения файла), которые выполняются после создания всех объектов. Все сценарии выполняются в едином потоке расчёта, и последующие сценарии перезаписывают все идентичные переменные и функции. Сценарии, выполняемые для объекта мира, будут выполняться в корневом потоке расчёта.
-
Think function (thinkfunction) <строка> (Во всех играх начиная с
) (также в
)
- Имя функции в сценарии объекта, которая будет вызываться автоматически каждые 100 миллисекунд или с заданным пользователем интервалом, если функция возвращает число. Должен быть указан до появления объекта, установка этого ключ-параметра позже (например, через AddOutput) не будет работать. Избегайте ресурсоёмких операций в этой функции, так как это может привести к проблемам с производительностью.
Отображение
RenderFields:
- Render Mode (rendermode) <байт выбор>
- Устанавливает нестандартный режим отображения этого объекта.
- Render FX (renderfx) <байт выбор>
- Различные, отчасти устаревшие эффекты альфа-канала. Смотрите эффекты отображения
- Render Amount / Transparency (renderamt) <байт>
-
Значение по умолчанию: 255
Translucency amount, requires a Render Mode other than Normal or Solid. 0 is invisible, 255 is fully visible.
- Render Color (R G B) (rendercolor) <цвет КЗС>
-
Значение по умолчанию: 255 255 255
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 : Кэшировать - обрабатывать однократно
Прочие
|
Входы
- AddOutput <строка>
- Присваивает этому объекту новый выход или ключ-параметр. Для некоторых ключ-параметров необходимо выполнение дополнительного кода, и они не будут работать, если их просто изменить через этот вход.
Формат:<имя> <целевой объект>:[имя входа]:[параметр]:[задержка]:[количество срабатываний, -1 - бесконечно]
Формат:<ключ> <значение> - Kill
- Удаляет из игрового процесса этот объект и всех связанных потомков этого объекта.
- 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
Этот выход срабатывает, когда объект уничтожается и удаляется из игры.