Prop dynamic

Зміст

Об'єкт prop_dynamic використовується створення звичайних динамічних об'єктів на карті. Такі об'єкти використовують MDL-моделі для свого відображення і можуть вільно прикріплюватися практично до будь-якого типу об'єктів у грі, що дає їм можливості рухатися, обертатися і мати безліч власних анімацій.

Особливості використання

  • Цей об'єкт оновлюється у кожному раунді. Це означає, що будь-які зміни об'єкта НЕ успадковуватимуться в наступних раундах.
  • Об'єкт має бути встановлений там, де використовуватиметься.
  • На карті може бути встановлена ​​безліч цих об'єктів
  • Об'єкт НЕ повинен перетинатись з іншими фізичними об'єктами на карті.
  • Об'єкт НЕ відкидає Lightmap-тіні та динамічні тіні.

У грі CS:S неможливо контролювати динамічні тіні, що відкидаються цим об'єктом, тому найчастіше рекомендується вимикати динамічні тіні від цього об'єкта, встановивши значення властивості "Disable Shadows" рівним "Yes".

  • Team Num– команда до якої належить цей об'єкт (Ні/Терористи/Контр-Терористи); якщо гравець і цей об'єкт знаходяться в одній команді, то гравець не зможе завдавати візуальної шкоди об'єкту, якщо на сервері mp_friendlyfire дорівнює 0; (Див. фільтр filter_activator_team);
  • Pitch Yaw Roll(Y Z X) - орієнтація об'єкта на карті (напрямок поширення);
  • Start Disabled– вимикати об'єкт на початку кожного раунду (Ні/Так);
  • Collisions– тип моделі зіткнень цього об'єкта:
  • Not Solid – модель зіткнень вимкнена;
  • Use Bounding Box – як модель зіткнень використовується "Bounding Box"; "Bounding Box" - це габаритний паралелепіпед навколо всіх точок моделі "World Model";
  • UseVPhysics – використовується модель зіткнень VPhysics;
  • World Model– ім'я файлу MDL-моделі, яка буде використовуватися як основа для зовнішнього вигляду об'єкта (вибирається у вікні Model Browser);
  • Skin– встановити номер іншого скіна, якщо модель "World Model" використовує кілька скінів; скін - це набір текстур для моделі; змінюючи скін, змінюється зовнішній вигляд моделі; дізнатися які скіни використовує модель можна у програмі "Model Viewer";
  • 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" дорівнює "Yes";
  • Max Random Anim Time- максимальний проміжок часу між випадковою анімацією моделі "World Model"; використовується лише якщо значення властивості "Randomly Animate" дорівнює "Yes";
  • 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";
    • Render Mode– режим рендерингу об'єкта;
    • FX Color(R G B) – колір об'єкта;
    • FX Alpha(0-255) - прозорість об'єкта; 255 - повністю не прозорий; 0 - повністю прозорий; не використовується якщо властивість "Render Mode" дорівнює "Normal" або "Don't Render";
    • Render FX- ефект рендерингу об'єкта; наприклад: миготіння, плавна поява/зникнення тощо;
    • Disable Shadows– вимкнути динамічні тіні, що відкидаються цим об'єктом (Ні/Так);
    • 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 – зникнення почнеться з більшої відстані та буде більше

    розтягнутим за часом;

    • Break on Touch- об'єкт зламається якщо гравець зачепить його; чи об'єкт ламатися залежить від типу матеріалу, зазначеного у властивостях (може бути вказано в "Material Type" та "Prop Data"); не використовується якщо встановлено прапорець "Only Break on Trigger";
    • Break on Pressure– об'єкт зламається якщо гравець чинитиме на нього тиск; наприклад: коли гравець наступає об'єкт зверху; не використовується якщо встановлено прапорець "Only Break on Trigger";
    • Use Hitboxes for Renderbox– призначення не відомо #.
    • Disable Collision– об'єкт може дозволити гравцеві пройти через себе, але при цьому він все ж таки буде створювати опір; кулі та гранати безперешкодно пролітатимуть крізь об'єкт, але сліди від куль на об'єкті все ж таки залишатимуться;
    • EnableCollision– увімкнути зіткнення між цим об'єктом та гравцем; об'єкт не дозволяє гравцеві проходити крізь себе;
    • DisableCollision- вимкнути зіткнення між цим об'єктом та гравцем; об'єкт дозволяє гравцеві проходити крізь себе, але при цьому його відштовхує, якщо гравець не намагається переміщатися;
    • SetTeam- встановити нове значення властивості "Team Num"; 2 – Терористи; 3 – Контр-терористи;
    • Enable– увімкнути об'єкт;
    • Disable– вимкнути об'єкт;
    • Skin- встановити нове значення властивості "Skin";
    • SetBodyGroup- встановити нове значення властивості "Body Group";
    • Ignite- підпалитиоб'єкт;
    • TurnOn- включити об'єкт;
    • TurnOff- вимкнути об'єкт;
    • SetAnimation- встановити нову анімацію для моделі "World Model"; вхідний параметр цієї функції є іменем анімації;
    • SetDefaultAnimation- встановити анімацію, яка використовується за умовчанням моделлю "World Model"; вхідний параметр цієї функції є іменем анімації;
    • Break– видалити об'єкт точно так само, як це робить функція Kill;
    • SetHealth- перейти на наступну анімацію об'єкта;
    • AddHealth– додати об'єкту вказану кількість здоров'я;
    • RemoveHealth- відібрати в об'єкта вказану кількість здоров'я;
    • Color- встановити нове значення властивості "FX Color";
    • Alpha- (від 0 до 255) встановити нове значення властивості "FX Alpha";
    • EnableShadow– увімкнути динамічні тіні від об'єкта;
    • DisableShadow- вимкнути динамічні тіні від об'єкта;
    • FadeMinDist- встановити нове значення властивості "Fade Start Dist";
    • FadeMaxDist- встановити нове значення властивості "Fade End Dist".
    • SetLightingOrigin- встановити нове значення властивості "Lighting Origin".
    • OnIgnite- виконується тоді, коли об'єкт займається під час виклику функції "Ignite".
    • OnAnimationBegun- виконується в той момент, коли для моделі "World Model" починає виконуватися нова анімація;
    • OnAnimationDone– виконується в той момент, коли для моделі "World Model" припиняється анімація;
    • OnBreak- викликається тоді, коли об'єкт ламається;
    • OnHealthChanged- викликається тоді, коли у об'єкта зміниться кількість "життя"; повертає відсоток життя щодо свогомаксимальне значення (від 0.0 до 1.0).

    Використовуються об'єкти

    • prop_dynamic
    • func_button
    • func_detail
    • trigger_multiple

    Опис карти

    Карта дуже проста. Натискання кнопки пульта відкривається двері, використовуючи анімацію з ім'ям "open" для динамічного об'єкта dynamic1 (prop_dynamic). Повторне натискання кнопки пульта закриває двері, використовуючи анімацію з ім'ям "close". Поруч із дверима стоїть ящик, який також є об'єктом prop_dynamic. Якщо підійти до цього ящика ближче, його кришка автоматично відкриється, а якщо відійти від ящика, то його кришка автоматично закриється.