prop_door_rotating
Описание
Объект prop_door_rotating используется для создания дверей из практически любых типов моделей. Такие двери могут открываются как обычные петельные двери. Такие модели как "models/props_c17/door01_left.mdl" имеют настройки озвучивания, точки расположения ручки на двери и внешнего вида двери, поэтому использование таких моделей сильно упрощает процесс создания дверей этого типа.
Особенности использования
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов
- Объект по умолчанию имеет модель столкновений VPhysics. Можно изменить на BSP.
- Объект НЕ должен пересекаться с другими физическими объектами на карте.
- Этот тип дверей может вращаться только вокруг оси Z.
- Объект НЕ отбрасывает Lightmap-тени и динамические тени.
Ошибки
Дверь может вращаться на все 360 градусов, если она прикреплена к другому объекту через свойство "Parent".
Заметки
Для отладки дверей существует консольная команда "g_debug_doors 1".
В большинстве случаев рекомендуется использовать именно такой тип дверей, потому что он наиболее податлив на изменения и имеет множество возможных способов своего использования.
Для этого объекта почти что нет ограничений на тип и особенности модели "World Model", поэтому этот объект имеет богатую функциональность и возможности.
Параметры
- Team Num – команда к которой принадлежит этот объект (Нет/Террористы/Контр-Террористы); если игрок и этот объект находятся в одной команде, то игрок не сможет наносить визуальный урон объекту если на сервере mp_friendlyfire равно 0;
- Start Disabled – выключать объект в начале каждого раунда (Нет/Да);
- Pitch Yaw Roll (Y Z X) – ориентация объекта на карте (направление распространения);
- Hardware Type – тип дверной ручки на двери:
- None – нет ручки;
- Lever – ручка в виде рычага;
- Push bar – ручка в виде перекладины;
- Spawn Position – какое состояние будет у двери в начале каждого раунда:
- Closed – дверь закрыта;
- Open forward – дверь открыта вперёд;
- Open back – дверь открыта назад;
- Ajar (use Ajar Angles) – дверь повёрнута на угол "Ajar Angles";
- Ajar Angles (Pitch Yaw Roll) – угол на который будет повёрнута дверь в начале каждого раунда; используется только если значение свойства "Spawn Position" равно "Ajar";
- Rotation Distance (deg) – на сколько градусов повернётся объект;
- Rotation Speed (deg/sec) – скорость вращения объекта (градусов в секунду);
- Delay Before Close (-1 stay) – задержка с момента полного открытия двери до того момента как дверь автоматически начнёт закрываться; -1 – дверь не будет закрываться автоматически;
- Fully Open Sound – звук, который воспроизводится в момент полного открытия двери;
- Fully Closed Sound – звук, который воспроизводится в момент полного закрытия двери;
- Moving Sound – звук, который воспроизводится в процессе движения двери;
- Locked Sound – звук, который воспроизводится, когда происходит попытка активировать заблокированный объект;
- Unlocked Sound – звук, который воспроизводится, когда активируется разблокированный объект; этот звук воспроизводится одновременно со звуком "Sounds", если тот установлен;
- World Model – имя файла MDL-модели, которая будет использоваться в качестве основы для внешнего вида объекта (выбирается в окне Model Browser);
- World Model – имя файла MDL-модели, которая будет использоваться в качестве основы для внешнего вида объекта (выбирается в окне Model Browser);
- Body Group – установить номер другого подобъекта, если модель "World Model" использует несколько подобъектов; подобъект – это другая модель, встроенная в тот же файл; изменяя подобъект, изменяется внешний вид объекта; узнать какие подобъекты использует объект можно в программе "Model Viewer";
- Default Animation Name – установить для модели "World Model" анимацию, которая будет постоянно проигрываться во время игры; узнать какие анимации имеет модель можно в программе "Model Viewer";
- Randomly Animate – проигрывать случайную анимацию модели "World Model" во время игры (Нет/Да); если значение этого свойства равно "Yes", то используются свойства "Min Random Anim Time" и "Max Random Anim Time" для указания периодичности проигрывания случайной анимации; после проигрывания очередной случайной анимации, для модели "World Model" автоматически будет включаться анимация по умолчанию;
- Min Random Anim Time – минимальный промежуток времени между случайной анимацией модели "World Model"; используется только если используется свойство "Randomly Animate";
- Max Random Anim Time – максимальный промежуток времени между случайной анимацией модели "World Model"; используется только если используется свойство "Randomly Animate";
- Explosion Damage – количество повреждений от взрыва, создаваемого автоматически в момент когда объект ломается; если значение этого свойства не равно нулю, то взрыв будет произведён, даже если значение свойства "Explosion Radius" равно нулю; 0 – взрыв не будет произведён;
- Explosion Radius – радиус взрыва, создаваемого автоматически в момент когда объект ломается; если значение этого свойства не равно нулю, то взрыв будет произведён, даже если значение свойства "Explosion Damage" равно нулю; 0 – взрыв не будет произведён;
- Performance Mode – режим обработки частей физических объектов после их разрушения на стороне сервера; для того чтобы значение этого свойства нашло своё применение, необходимо чтобы модель, указанная в свойстве "World Model" была скомпилирована с особыми QC-параметрами, указанными в блоке "prop_data": $keyvalues { prop_data { "multiplayer_break" "server" } } или $keyvalues { prop_data { "multiplayer_break" "both" } } или имела особый тип материала, который подразумевает создание частей физических объектов на сервере;
- Normal – на стороне сервера могут и будут создаваться части физических объектов; не рекомендуется использовать, потому что на стороне клиента этих частей всё равно не будет видно и это никак не скажется на игровом процессе, однако будет создавать лишнюю нагрузку на сервер;
- No Gibs on Server Side – на стороне сервера не будут создаваться части физических объектов;
по умолчанию для всех моделей выбирается "multiplayer_break" = "client", поэтому крайне сложно найти модель, для которой понадобилось бы использовать это свойство, однако лучше чтобы значение этого свойства всегда было равно "No Gibs on Server Side";
- Pressure Delay - задержка перед тем как сломаться от давления, оказываемого со стороны другого объекта или игрока (секунды); работает только при включенном флажке "Break on Pressure";
- Min Damage to Hurt – объект будет игнорировать любые типы повреждений со стороны других объектов и игрока, если величина этих повреждений меньше значения этого свойства;
- Damage Filter – имя объекта-фильтра, который будет контролировать типы повреждений которые можно будет наносить этому объекту;
- Render Mode – режим рендеринга объекта;
- FX Color (R G B) – цвет объекта;
- FX Alpha (0-255) – прозрачность объекта; 255 – полностью не прозрачен; 0 - полностью прозрачен; не используется если свойство "Render Mode" равно "Normal" или "Don’t Render";
- Render FX – эффект рендеринга объекта; например: мигание, плавное появление/исчезновение и т.п.;
- Disable Shadows – отключить динамические тени, отбрасываемые этим объектом (Нет/Да);
- Shadow Cast Distance – максимальное расстояние на которое распространяются динамические тени от этого объекта
- Fade Start Dist – расстояние от игрока до объекта, с которого объект начнёт плавно исчезать, а полностью исчезнет на расстоянии "Fade End Dist"; это расстояние должно быть меньше чем "Fade End Dist", но в игре они будут автоматически поменяны местами, если это не так; если значение этого свойства меньше нуля, то оно будет автоматически изменено и станет равным "Fade End Dist" - 400;
- Fade End Dist – расстояние от игрока до объекта, на котором объект становится полностью не видимым, начав исчезать с расстояния "Fade Start Dist"; если значение этого свойства меньше или равно нулю, то функция исчезновения будет отключена для этого объекта;
- Fade Scale – множитель для значений исчезновения объекта по умолчанию, используемых если:
- движок запущен в режиме DX7 и ниже;
- параметры исчезновения объектов настраиваются в объекте worldspawn (Hammer > Main menu > Map > Map properties...);
- движок будет использовать свои значения по умолчанию, когда свойства "Fade Start Dist" и "Fade End Dist" не указаны;
во всех этих случаях можно контролировать исчезновение объекта вручную:
-
- 0.0 – полностью отключить исчезновение, объект виден на любом расстоянии;
- меньше 1.0 – исчезновение начнётся с большего расстояния и будет более
растянутым по времени;
-
- больше 1.0 – исчезновение объекта начнётся на меньшей дистанции и будет выполнено быстрее обычного;
- Lighting Origin – имя любого объекта на карте, в точке которого будет измеряться освещённость этого объекта; как правило, используется точечный объект, например – info_target; например: этот объект находится в светлом помещении, а точка "Lighting Origin" находится в тёмном помещении; несмотря на то, что этот объект находится в светлом помещении, он будет иметь освещенность тёмной комнаты; если переместить объект "Lighting Origin" из тёмной комнаты в светлую – освещённость этого объекта тоже изменится;
- Minimum DX Level – запретить размещение этого объекта на карте при компиляции карты на компьютере, уровень аппаратной поддержки видеокарты которого ниже этого значения; используется только компилятором VBSP в процессе компиляции карты;
- Maximum DX Level – запретить размещение этого объекта на карте при компиляции карты на компьютере, уровень аппаратной поддержки видеокарты которого выше этого значения; используется только компилятором VBSP в процессе компиляции карты.
Флаги
- Starts Open – объект будет открыт в начале каждого раунда;
- Break on Touch – объект сломается если игрок заденет его; будет ли объект ломаться зависит от типа материала, указанного в свойствах (может быть указано в "Material Type" и "Prop Data"); не используется если установлен флажок "Only Break on Trigger";
- Break on Pressure – объект сломается если игрок окажет на него давление; например: когда игрок наступает на объект сверху; не используется если установлен флажок "Only Break on Trigger";
- Use Hitboxes for Renderbox – #назначение не известно#.
- No VPhysics (BSP used) – использовать вместо модели столкновений VPhysics модель столкновений BSP; использование BSP даёт более качественный результат физически столкновений, чем VPhysics;
- Disable Collision – объект может позволить игроку пройти через себя, но при этом он всё же будет создавать сопротивление; пули и гранаты будут беспрепятственно пролетать сквозь объект, но следы от пуль на объекте всё же будут оставаться;
- Starts Locked – блокировать объект в начале каждого раунда;
- Door Silent – объект не издаёт никаких звуков.
- Ignore player +USE – игнорировать попытки игрока воздействовать на объект при помощи клавиши "Использовать".
Inputs
- Open – открыть объект; эта функция не будет работать, если объект будет заблокирован при помощи функции "Lock" или флажка "Starts Locked", однако будет работать, если объект "Master" будет "выключен";
- OpenAwayFrom <string> - открыть дверь в другую сторону от объекта, имя которого указанно во входном параметре этой функции;
- Close – закрыть объект; эта функция не будет работать, если объект будет заблокирован при помощи функции "Lock" или флажка "Starts Locked", однако будет работать, если объект "Master" будет "выключен";
- Toggle – переключить состояние объекта (Включен/Выключен);
- Lock – заблокировать объект;
- Unlock – разблокировать объект;
- SetRotationDistance <float> – установить новое значение свойства "Rotation Distance";
- EnableCollision – включить столкновения между этим объектом и игроком; объект не разрешает игроку проходить сквозь себя;
- DisableCollision - выключить столкновения между этим объектом и игроком; объект разрешает игроку проходить сквозь себя, но при этом всё равно его отталкивает, если игрок не пробует перемещаться;
- SetTeam <integer> - установить новое значение свойства "Team Num"; 2 – Террористы; 3 – Контр-Террористы;
- Skin <integer> – установить новое значение свойства "Skin";
- SetBodyGroup <integer> - установить новое значение свойства "Body Group";
- Ignite – поджечь объект;
- TurnOn – сделать объект видимым;
- TurnOff – сделать объект невидимым;
- SetAnimation <string> – установить новую анимацию для модели "World Model"; входной параметр этой функции является именем анимации;
- SetDefaultAnimation <string> - установить анимацию, используемую по умолчанию моделью "World Model"; входной параметр этой функции является именем анимации;
- SetDamageFilter <string> - установить новое значение свойства "Damage Filter";
- Break – удалить объект точно так же как это делает функция Kill;
- SetHealth <integer> - переключиться на следующую анимацию объекта;
- AddHealth <integer> – добавить объекту указанное количество здоровья;
- RemoveHealth <integer> – отнять у объекта указанное количество здоровья;
- Color <R G B> - установить новое значение свойства "FX Color";
- Alpha <integer> – (от 0 до 255) установить новое значение свойства "FX Alpha";
- EnableShadow – включить динамические тени от объекта;
- DisableShadow – выключить динамические тени от объекта;
- FadeMinDist <float> - установить новое значение свойства "Fade Start Dist";
- FadeMaxDist <float> - установить новое значение свойства "Fade End Dist".
- SetLightingOrigin <string> - установить новое значение свойства "Lighting Origin".
Outputs
- OnBlockedOpening – выполняется в тот момент, когда дверь блокируют в процессе её открытия;
- OnBlockedClosing – выполняется в тот момент, когда дверь блокируют в процессе её закрытия;
- OnOpen – выполняется в тот момент, когда объект начинает открываться;
- OnClose – выполняется в тот момент, когда объект начинает закрываться;
- OnFullyOpen – выполняется в тот момент, когда объект полностью открыт;
- OnFullyClosed – выполняется в тот момент, когда объект полностью закрыт;
- OnUnblockedOpening – выполняется в тот момент, когда дверь продолжает своё открытие после блокировки;
- OnUnblockedClosing – выполняется в тот момент, когда дверь продолжает своё закрытие после блокировки;
- OnIgnite - выполняется тогда, когда объект воспламеняется при вызове функции "Ignite".
- OnAnimationBegun – выполняется в тот момент, когда для модели "World Model" начинает выполняться новая анимация;
- OnAnimationDone – выполняется в тот момент, когда для модели "World Model" прекращает выполняться анимация;
- OnBreak – вызывается тогда, когда объект ломается;
- OnHealthChanged <float> – вызывается тогда, когда у объекта изменится количество "жизни"; возвращает процент жизни относительно своего максимального значения (от 0.0 до 1.0).
Карта
csssdk_prop_door_rotating.vmf
Используются объекты
- prop_door_rotating
- func_button
- func_detail
- func_areaportal
- trigger_multiple
- prop_physics
- logic_auto
- point_servercommand
Описание карты
Побегайте по карте, открывайте и закрывайте двери, чтобы разобраться в принципе действия тех или иных свойств дверей.
Предпоследняя дверь создана из двух одинаковых дверей prop_door_rotating. Чтобы открыть такую парную дверь достаточно просто указать для них одинаковое имя.
Последняя дверь используется для открытия/закрытия портала созданного при помощи объекта func_areaportal. Портал контролирует видимость частей карты. Находясь на улице мы не видим что находится за закрытой дверью, но стоит открыть дверь, как сразу же становится видно бочку стоящую за ней. Зайдя в внутрь маленького помещения и закрыв за собой дверь изнутри, можно увидеть, что улица не отображается, когда закрыта дверь. Так работает объект func_areaportal.
Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё: