Ru/Creating an energy ball launcher and catcher: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (obsolete language category)
 
(14 intermediate revisions by 8 users not shown)
Line 1: Line 1:
== Introduction ==
{{lang|Creating an energy ball launcher and catcher|title=Создание пусковой установки и улавливателя энергетических шаров}}__NOTOC__
Целью данного руководства является показать, как создать один пускатель энергетических шаров и ту фигню которя этот шар ловит. Оба,  и ловец инструкции подробно рассматривается, как основной анимации, а также визуальные и звуковые эффекты работы.
{{back|:Category:Portal level design/ru|Создание уровней Portal}}
{{ACategory|To be translated}} {{Finishtranslation}}
 
== Введение ==
Целью данного руководства является показать, как создать один пускатель и один приёмник энергетических шаров. В инструкции подробно рассматривается, как создать базовую анимацию и прикрутить визуальные и звуковые эффекты.


== The Aperture Science High Energy Pellet Launcher ==
== The Aperture Science High Energy Pellet Launcher ==
[[Image:launcher-catcher01.jpg|right|thumb|Launcher assembly.]]
[[File:launcher-catcher01.jpg|right|thumb|Launcher assembly.]]


The launcher is comprised of three entities:  
Пускатель состоит из трёх функциональных частей:  
* [[func_brush]]
* {{L|func_brush}}
* [[point_energy_ball_launcher]]
* {{L|point_energy_ball_launcher}}
* [[prop_dynamic]]
* {{L|prop_dynamic}}


The model used is:
Используемая модель:
* <code>models/props/combine_ball_launcher.mdl</code>
* <code>models/props/combine_ball_launcher.mdl</code>


To create the launcher:
Для создания пускателя:
:1. Create a <code>prop_dynamic</code> entity (<code>Shift+E</code>) with a <code>World Model</code> set to "<code>models/props/combine_ball_launcher.mdl</code>" and the <code>Name</code> key of "ball_launcher".
:1. Добавьте на карту энтити <code>prop_dynamic</code> (<code>Shift+E</code>) и задайте значение <code>World Model</code> равным "<code>models/props/combine_ball_launcher.mdl</code>". Дальше следует изменить имя этнити на "ball_launcher".
:2. Place the new entity where you want it in your map.
:2. Расположите энтити на карте, где хотите.
:3. Create a <code>point_energy_ball_launcher</code> entity and set its name to "ball".
:3. Добавьте на карту энтити типа <code>point_energy_ball_launcher</code> и назовите её "ball".
:4. Place the new entity inside the dome of the "ball_launcher" model.
:4. Расположите эту энтити внутри модели "ball_launcher".
:5. Create a new sqare brush 20 units or so on each side and 1 unit thick with the [[Tool textures|nodraw texture]].
:5. Создайте квадратный браш в 20 юнитов с утолщением в 1 юнит с помощью {{L|Tool textures|nodraw texture}}.
:6. Turn this brush into a <code>func_brush</code> entity (<code>Ctrl+T</code>) and name it "ball_launcher_shield".
:6. Обратите этот браш в энтити <code>func_brush</code> (<code>Ctrl+T</code>) и переименуйте его в "ball_launcher_shield".
:7. Place the "ball_launcher_shield" so that it is touching the black circular shield of the "ball_launcher model".
:7. Расположите "ball_launcher_shield" так, чтобы он касался чёрного круглого щитка "ball_launcher model".
:8. Open up the <code>point_energy_ball_launcher</code> properties and set these outputs:
:8. Откройте свойства <code>point_energy_ball_launcher</code> и пропишите в Outputs:
::{| class=standard-table
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnPostSpawnBall || ball_launcher || SetAnimation || close || 0.00 || No
| [[File:Io11.png]] || OnPostSpawnBall || ball_launcher || SetAnimation || close || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnPostSpawnBall || ball_launcher_shield || Disable || <none> || 0.00 || No
| [[File:Io11.png]] || OnPostSpawnBall || ball_launcher_shield || Disable || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnPostSpawnBall || ball_launcher_shield || Enable || <none> || 2.00 || No
| [[File:Io11.png]] || OnPostSpawnBall || ball_launcher_shield || Enable || <none> || 2.00 || No
|}
|}
:9. Adjust the [[Keyvalue|keyvalues]] of <code>point_energy_ball_launcher</code> to set the desired <code>Direction</code>, <code>Speed</code>, <code>Type</code>, and <code>Life</code> of the ball.
:9. Задайте {{L|Keyvalue|значения}} <code>point_energy_ball_launcher</code> в пунктах <code>Direction</code>, <code>Speed</code>, <code>Type</code>, и <code>Life</code> шара.
The Aperture Science High Energy Pellet Launcher is now complete.
Создание Aperture Science High Energy Pellet Launcher завершено.


{{note|If necessary, you can also place the <code>point_energy_ball_launcher</code> outside of the "ball_launcher" model and remove the "ball_launcher_shield" outputs.}}
{{note|При необходимости, вы можете расположить <code>point_energy_ball_launcher</code> снаружи модели "ball_launcher" и удалить Output'ы у "ball_launcher_shield".}}
{{note|If you're not using a Trigger to fire the launcher you'll need to go into the "ball" entity, go to its flags page, and uncheck the "Start Inactive" flag. Now the ball will start firing as soon as the level is loaded.}}
{{note|Если вы не используете триггер для запуска шара, вы должны зайти в свойства энтити "ball", во вкладку Flags, и снять галочку с флага "Start Inactive". Теперь пускатель активируется при запуске уровня.}}


== The Aperture Science High Energy Pellet Target ==
== The Aperture Science High Energy Pellet Target ==
[[Image:launcher-catcher02.JPG|right|thumb|Target assembly.]]
[[File:launcher-catcher02.JPG|right|thumb|Target assembly.]]


The target is comprised of eleven entities:
Приёмник состоит из семи частей:
* [[ambient_generic]]
* {{L|ambient_generic}}
* [[env_sprite]]
* {{L|env_sprite}}
* [[filter_combineball_type]]
* {{L|filter_combineball_type}}
* [[func_tracktrain]]
* {{L|func_tracktrain}}
* [[logic_relay]]
* {{L|logic_relay}}
* [[path_track]] (2)
* {{L|path_track}} (2)
* [[point_spotlight]]
* {{L|point_spotlight}}
* [[prop_dynamic]] (2)
* {{L|prop_dynamic}} (2)
* [[trigger_multiple]]
* {{L|trigger_multiple}}


The models used are:
Используемые модели:
* <code>/models/props/combine_ball_catcher.mdl</code>
* <code>/models/props/combine_ball_catcher.mdl</code>
* <code>/models/Effects/combineball.mdl</code>
* <code>/models/Effects/combineball.mdl</code>


To create the catcher:
Для создания приёмника:
:1. Create a <code>prop_dynamic</code> entity with a <code>World Model</code> key pointing to "<code>models/props/combine_ball_catcher.mdl</code>" and the <code>Name</code> set to "ball_trap".
:1. Создайте энтити <code>prop_dynamic</code> с моделью "<code>models/props/combine_ball_catcher.mdl</code>" и именем "ball_trap".
:2. Place the entity where you want it in your map.
:2. Расположите энтити на карте.
{{note|The model requires a hole of at least 32 units square and 8 units deep. Otherwise, when the model animates to its closed state, part of the model will be hidden in a wall.}}
{{note|Модель требует квадратного углубления в 32 юнита и 8 юнитов глубиной. Иначе, при анимации, часть модели будет скрыта стеной.}}
:3. Create a <code>filter_combineball_type</code> entity and name it "filter_ball".
:3. Создайте энтити <code>filter_combineball_type</code> и назовите её "filter_ball".
:4. Set the ball type for "filter_ball" to "Launched by <code>point_combine_ball_launcher</code>".
:4. Измените тип энтити "filter_ball" на "Launched by <code>point_combine_ball_launcher</code>".
:5. Create a cylinder brush with 8 faces, and size it to same the length and width, as the Dynamic prop. Texture it with the trigger texture to cover the opening of the "ball_trap" model.
:5. Создайте цилиндрический браш с восемью гранями, и задайте ему высоту и ширину, как у динамик-пропа. Затекстурьте текстурой триггера и перекройте им место открытия модели "ball_trap".
:6. Turn this brush into a <code>trigger_multiple</code> entity and name it "trigger_ball_trap", also set the <code>filter_name</code> to "filter_ball". Make sure to have the ''flags'' Physics Objects selected.
:6. Обратите этот браш в энтити <code>trigger_multiple</code> и назовите "trigger_ball_trap", также задайте значение <code>filter_name</code> равным "filter_ball". Удостоверьтесь, что выбран флаг Physics Objects.
:7. Create a <code>prop_dynamic</code> entity with a <code>World Model</code> of "<code>models/Effects/combineball.mdl</code>", set its <code>Parent</code> to "ball_trap" and <code>Name</code> it "ball_trap_ball". Also make sure to have <code>Start Disabled</code> set to "Yes".
:7. Создайте энтити <code>prop_dynamic</code> с моделью "<code>models/Effects/combineball.mdl</code>", задайте значение <code>Parent</code> равным "ball_trap" и назовите энитити "ball_trap_ball". Также, проверьте, соотвестсвует ли значение <code>Start Disabled</code> "Yes".
:8. Create a <code>env_sprite</code> entity, set its <code>Sprite Name</code> to "<code>sprites/physring1.vmt</code>", set its <code>Parent</code> to "ball_trap" and <code>Name</code> it "ball_trap_sprite". Make sure to have 'Render mode' set to ''Additive''. Also, the 'Scale should be set to ''1.5'' 'Size of Glow proxy' set to ''0'', and HDR Color Scale set to 1.0, yet all these values can be changed to your liking. Also be sure to have 'Render Fx' set to ''Distort''.
:8. Создайте энтити <code>env_sprite</code>, задайте значение полю <code>Sprite Name</code> равным "<code>sprites/physring1.vmt</code>", также задайте значение <code>Parent</code> равным "ball_trap" и переименуйте энтити в "ball_trap_sprite". Значение 'Render mode' должно быть равным ''Additive''. Также, задайте значение 'Scale should be set равным ''1.5'', значение 'Size of Glow proxy' задайте равным ''0'', и HDR Color Scale задайте равным 1.0, вообще все эти значения могут быть заданы на ваше усмотрение. Значение 'Render Fx' должно быть ''Distort''.
:9. Place both "ball_trap_ball" and "ball_trap_sprite" somewhere near the front of the "ball_trap" model.
:9. Расположите "ball_trap_ball" и "ball_trap_sprite" где-нибудь спереди модели "ball_trap".
:10. Create a <code>logic_relay</code> entity and name it "relay_ball_trap_spawn".
:10. Создайте энтити <code>logic_relay</code> и переименуйте её в "relay_ball_trap_spawn".
:11. Open up the <code>logic_relay</code> properties and set these outputs:
:11. Откройте свойства <code>logic_relay</code> и задайте следующие значения в Outputs:
::{| class=standard-table
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnSpawn || ball_trap_ball || SetParentAttachment || ball_attachment || 0.00 || No
| [[File:Io11.png]] || OnSpawn || ball_trap_ball || SetParentAttachment || ball_attachment || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnSpawn || ball_trap_sprite || SetParentAttachment || ball_attachment || 0.00 || No
| [[File:Io11.png]] || OnSpawn || ball_trap_sprite || SetParentAttachment || ball_attachment || 0.00 || No
|}
|}
:12. Create a <code>path_track</code> entity and name it "path_ball_trap_01", set <code>Next Stop Target</code> to "path_ball_trap_02".
:12. Создайте энтити <code>path_track</code> и переименуйте в "path_ball_trap_01", задайте значение <code>Next Stop Target</code> равным "path_ball_trap_02".
:13. Place "path_ball_trap_01" ''34'' units from the base of "ball_trap" model and 18 Units High from the center of the base model.
:13. Расположите "path_ball_trap_01" на 34 юнита от модели "ball_trap" и на 18 юнитов выше центра модели.
:14. Create a <code>path_track</code> entity and name it "path_ball_trap_02, set <code>Next Stop Target</code> to "path_ball_trap_01".
:14. Создайте энтити <code>path_track</code> и переименуйте в "path_ball_trap_02, задайте значение <code>Next Stop Target</code> равным "path_ball_trap_01".
:15. Place "path_ball_trap_02" 56 units away from the center of the original path_track. Make sure to have both even in a straight line, and matching up.
:15. Расположите "path_ball_trap_02" на 56 юнитор от центра path_track. Удостоверьтесь, что прямая линия совпадает с центром.
:16. Create a brush with the nodraw texture. Its measurements should be '''14x8x16''', Length, Width Height.
:16. Создайте браш с атрибутом nodraw texture. Он должне быть размером '''14x8x16''', (ДхШхВ).
:17. Turn this brush into a <code>func_tracktrain</code> entity and name it "ball_trap_door".
:17. Обратите браш в энтити <code>func_tracktrain</code> и назовите его "ball_trap_door".
:18. The placing doesn't matter, so feel free to place it anywhere you like.
:18. Расположение браша не имеет значения, ставьте где хотите.
:19. Open up the property window for "ball_trap_door" and set these keyvalues:
:19. Откройте свойства "ball_trap_door" и задайте следующие значения:
::{| class=standard-table
::{| class=standard-table
!  Property Name || Value
!  Property Name || Value
Line 99: Line 103:
|}
|}


:Also be sure to have these flags checked:
:Также, следующие флаги должны быть отмечены:


::{| class=standard-table
::{| class=standard-table
Line 109: Line 113:
|}
|}


:20. Open up the property window for "path_ball_trap_02" and set this output:
:20. Откройте свойства "path_ball_trap_02" и задайте слеующие значения в Output'ах:
::{| class=standard-table
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnPass || ball_trap_door || SetSpeed || 0 || 0.00 || No
| [[File:Io11.png]] || OnPass || ball_trap_door || SetSpeed || 0 || 0.00 || No
|}
|}
:21. Create a <code>point_spotlight</code> entity (<code>Shift+E</code>) and name it "ball_trap_spotlight". You may also want to disable the <code>Dynamic Light</code> flag.
:21. Создайте энтити <code>point_spotlight</code> (<code>Shift+E</code>) и назовите её "ball_trap_spotlight". Если хотите, можете снять галочку с флага <code>Dynamic Light</code>.
:22. Set the <code>Color</code> for "ball_trap_spotlight" to "255 0 0", the <code>Beam Length</code> is normally the length of the room, and <code>Beam Width</code> somewhere between 20 and 40.
:22. Задайте значение <code>Color</code> для "ball_trap_spotlight" равным "255 0 0", дальше задайте значение <code>Beam Length</code> равным длине комнаты и значение <code>Beam Width</code> в пределах от 20 до 40.
:23. Create an <code>ambient_generic</code> entity and <code>Name</code> it "ball_trap_sound"
:23. Создайте энтити <code>ambient_generic</code> и назовите её "ball_trap_sound"
:24. Set the <code>Sound Name</code> key for "ball_trap_sound" to "AlyxEMP.Charge". Set it's Source Entity Name to the Main Prop_dynamic.
:24. Задайте значение <code>Sound Name</code> для "ball_trap_sound" равным "AlyxEMP.Charge". Задайте Source Entity Name равным Main Prop_dynamic.
:25. Open the property window for "trigger_ball_trap" and set these outputs:
:25. откройте свойства для "trigger_ball_trap" и задайте следующие значения в Outputs:
::{| class=standard-table
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnStartTouch || trigger_ball_trap || Disable || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || trigger_ball_trap || Disable || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || ball || Disable || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || ball || Disable || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || !activator || Kill || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || !activator || Kill || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || ball_trap_ball || Enable || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || ball_trap_ball || Enable || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || ball_trap_sprite || ToggleSprite || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || ball_trap_sprite || ToggleSprite || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || ball_trap || SetAnimation|| close || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || ball_trap || SetAnimation|| close || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || ball_trap_spotlight || LightOff || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || ball_trap_spotlight || LightOff || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || ball_trap_door || SetSpeed || .5 || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || ball_trap_door || SetSpeed || .5 || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || ball_trap_sound || PlaySound || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || ball_trap_sound || PlaySound || <none> || 0.00 || No
|}
|}
::Then under the Flags tab un-check "clients" and check everything else.
::Затем, снимите флажок с "clients" и поставлте флажок на всём остальном.


The Aperture Science High Energy Pellet Target is now complete.
Создание Aperture Science High Energy Pellet Target завершено.


{{note|The "ball_trap_door" sounds are drowned out by the "ball_trap_sound", you may want to adjust the delay for the <code>PlaySound</code>.}}
{{note|Звук "ball_trap_door" перекрывается звуком "ball_trap_sound", если хотите, можете задать задержку в <code>PlaySound</code>.}}


== The theory ==
== Теория ==
[[Image:launcher-catcher03.jpg|right|thumb|Energy Pellet Launcher and Target at work.]]
[[File:launcher-catcher03.jpg|right|thumb|Приёмник и пускатель в деле.]]


These instructions illustrate the most basic use of the launcher and catchers. Theoretically you should be able to have one launcher and multiple catchers, or even catchers that reset themselves.{{clr}}
Эта инструкция показывает базовое использование приёмников и пускателей. Теоретически, вы можете иметь один пускатель и много приёмников, или приёмники, которые сбрасываются.{{clr}}


== See also ==
== Смотрите также ==
* [[Portal Level Creation]]
* {{L|Portal Level Creation}}


== External links ==
== Ссылки ==
* [http://forums.thinkingwithportals.com/downloads.php?view=detail&df_id=187 Example map] Example map using this tutorial. VMF included.
* [http://forums.thinkingwithportals.com/downloads.php?view=detail&df_id=187 Example map] Карта, созданная по этому тутору.


[[Category:Level Design Tutorials]]
{{ACategory|Level Design Tutorials}}
[[Category:Portal]]
{{ACategory|Portal}}
[[Category:Russian]]

Latest revision as of 03:44, 22 August 2024

English (en)Русский (ru)Translate (Translate)
[[::Category:Portal level design/ru | ← Создание уровней Portal]]
Info content.png
This page has not been fully translated.
You can help by finishing the translation.
If this page cannot be translated for some reason, or is left untranslated for an extended period of time after this notice is posted, the page should be requested to be deleted.
Also, please make sure the article complies with the alternate languages guide.(en)

Введение

Целью данного руководства является показать, как создать один пускатель и один приёмник энергетических шаров. В инструкции подробно рассматривается, как создать базовую анимацию и прикрутить визуальные и звуковые эффекты.

The Aperture Science High Energy Pellet Launcher

Launcher assembly.

Пускатель состоит из трёх функциональных частей:

Используемая модель:

  • models/props/combine_ball_launcher.mdl

Для создания пускателя:

1. Добавьте на карту энтити prop_dynamic (Shift+E) и задайте значение World Model равным "models/props/combine_ball_launcher.mdl". Дальше следует изменить имя этнити на "ball_launcher".
2. Расположите энтити на карте, где хотите.
3. Добавьте на карту энтити типа point_energy_ball_launcher и назовите её "ball".
4. Расположите эту энтити внутри модели "ball_launcher".
5. Создайте квадратный браш в 20 юнитов с утолщением в 1 юнит с помощью nodraw texture(en).
6. Обратите этот браш в энтити func_brush (Ctrl+T) и переименуйте его в "ball_launcher_shield".
7. Расположите "ball_launcher_shield" так, чтобы он касался чёрного круглого щитка "ball_launcher model".
8. Откройте свойства point_energy_ball_launcher и пропишите в Outputs:
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnPostSpawnBall ball_launcher SetAnimation close 0.00 No
Io11.png OnPostSpawnBall ball_launcher_shield Disable <none> 0.00 No
Io11.png OnPostSpawnBall ball_launcher_shield Enable <none> 2.00 No
9. Задайте значения(en) point_energy_ball_launcher в пунктах Direction, Speed, Type, и Life шара.

Создание Aperture Science High Energy Pellet Launcher завершено.

Note.pngПримечание:При необходимости, вы можете расположить point_energy_ball_launcher снаружи модели "ball_launcher" и удалить Output'ы у "ball_launcher_shield".
Note.pngПримечание:Если вы не используете триггер для запуска шара, вы должны зайти в свойства энтити "ball", во вкладку Flags, и снять галочку с флага "Start Inactive". Теперь пускатель активируется при запуске уровня.

The Aperture Science High Energy Pellet Target

Target assembly.

Приёмник состоит из семи частей:

Используемые модели:

  • /models/props/combine_ball_catcher.mdl
  • /models/Effects/combineball.mdl

Для создания приёмника:

1. Создайте энтити prop_dynamic с моделью "models/props/combine_ball_catcher.mdl" и именем "ball_trap".
2. Расположите энтити на карте.
Note.pngПримечание:Модель требует квадратного углубления в 32 юнита и 8 юнитов глубиной. Иначе, при анимации, часть модели будет скрыта стеной.
3. Создайте энтити filter_combineball_type и назовите её "filter_ball".
4. Измените тип энтити "filter_ball" на "Launched by point_combine_ball_launcher".
5. Создайте цилиндрический браш с восемью гранями, и задайте ему высоту и ширину, как у динамик-пропа. Затекстурьте текстурой триггера и перекройте им место открытия модели "ball_trap".
6. Обратите этот браш в энтити trigger_multiple и назовите "trigger_ball_trap", также задайте значение filter_name равным "filter_ball". Удостоверьтесь, что выбран флаг Physics Objects.
7. Создайте энтити prop_dynamic с моделью "models/Effects/combineball.mdl", задайте значение Parent равным "ball_trap" и назовите энитити "ball_trap_ball". Также, проверьте, соотвестсвует ли значение Start Disabled "Yes".
8. Создайте энтити env_sprite, задайте значение полю Sprite Name равным "sprites/physring1.vmt", также задайте значение Parent равным "ball_trap" и переименуйте энтити в "ball_trap_sprite". Значение 'Render mode' должно быть равным Additive. Также, задайте значение 'Scale should be set равным 1.5, значение 'Size of Glow proxy' задайте равным 0, и HDR Color Scale задайте равным 1.0, вообще все эти значения могут быть заданы на ваше усмотрение. Значение 'Render Fx' должно быть Distort.
9. Расположите "ball_trap_ball" и "ball_trap_sprite" где-нибудь спереди модели "ball_trap".
10. Создайте энтити logic_relay и переименуйте её в "relay_ball_trap_spawn".
11. Откройте свойства logic_relay и задайте следующие значения в Outputs:
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnSpawn ball_trap_ball SetParentAttachment ball_attachment 0.00 No
Io11.png OnSpawn ball_trap_sprite SetParentAttachment ball_attachment 0.00 No
12. Создайте энтити path_track и переименуйте в "path_ball_trap_01", задайте значение Next Stop Target равным "path_ball_trap_02".
13. Расположите "path_ball_trap_01" на 34 юнита от модели "ball_trap" и на 18 юнитов выше центра модели.
14. Создайте энтити path_track и переименуйте в "path_ball_trap_02, задайте значение Next Stop Target равным "path_ball_trap_01".
15. Расположите "path_ball_trap_02" на 56 юнитор от центра path_track. Удостоверьтесь, что прямая линия совпадает с центром.
16. Создайте браш с атрибутом nodraw texture. Он должне быть размером 14x8x16, (ДхШхВ).
17. Обратите браш в энтити func_tracktrain и назовите его "ball_trap_door".
18. Расположение браша не имеет значения, ставьте где хотите.
19. Откройте свойства "ball_trap_door" и задайте следующие значения:
Property Name Value
First Stop Target path_ball_trap_01
Move Sound d3_citadel.podarm_move
Start Sound d3_citadel.podarm_move_start
Stop Sound d3_citadel.podarm_move_stop
Change Angles Never (Fixed Orientation)
Height Above Tracks 0
Также, следующие флаги должны быть отмечены:
Property Name Value
No user Control Checked
Fixed Orientation Checked
20. Откройте свойства "path_ball_trap_02" и задайте слеующие значения в Output'ах:
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnPass ball_trap_door SetSpeed 0 0.00 No
21. Создайте энтити point_spotlight (Shift+E) и назовите её "ball_trap_spotlight". Если хотите, можете снять галочку с флага Dynamic Light.
22. Задайте значение Color для "ball_trap_spotlight" равным "255 0 0", дальше задайте значение Beam Length равным длине комнаты и значение Beam Width в пределах от 20 до 40.
23. Создайте энтити ambient_generic и назовите её "ball_trap_sound"
24. Задайте значение Sound Name для "ball_trap_sound" равным "AlyxEMP.Charge". Задайте Source Entity Name равным Main Prop_dynamic.
25. откройте свойства для "trigger_ball_trap" и задайте следующие значения в Outputs:
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouch trigger_ball_trap Disable <none> 0.00 No
Io11.png OnStartTouch ball Disable <none> 0.00 No
Io11.png OnStartTouch !activator Kill <none> 0.00 No
Io11.png OnStartTouch ball_trap_ball Enable <none> 0.00 No
Io11.png OnStartTouch ball_trap_sprite ToggleSprite <none> 0.00 No
Io11.png OnStartTouch ball_trap SetAnimation close 0.00 No
Io11.png OnStartTouch ball_trap_spotlight LightOff <none> 0.00 No
Io11.png OnStartTouch ball_trap_door SetSpeed .5 0.00 No
Io11.png OnStartTouch ball_trap_sound PlaySound <none> 0.00 No
Затем, снимите флажок с "clients" и поставлте флажок на всём остальном.

Создание Aperture Science High Energy Pellet Target завершено.

Note.pngПримечание:Звук "ball_trap_door" перекрывается звуком "ball_trap_sound", если хотите, можете задать задержку в PlaySound.

Теория

Приёмник и пускатель в деле.

Эта инструкция показывает базовое использование приёмников и пускателей. Теоретически, вы можете иметь один пускатель и много приёмников, или приёмники, которые сбрасываются.

Смотрите также

Ссылки

  • Example map Карта, созданная по этому тутору.