Пользовательские Инпуты и Аутпуты: различия между версиями
Stfbee (обсуждение | вклад) (написана статья) |
Stfbee (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | http://developer.valvesoftware.com/wiki/User_Inputs_and_Outputs | + | http://developer.valvesoftware.com/wiki/User_Inputs_and_Outputs'''<br>''' |
− | |||
− | |||
== Пользовательские инпуты и аутпуты == | == Пользовательские инпуты и аутпуты == | ||
Строка 196: | Строка 194: | ||
: | : | ||
− | В этом случае FireUser1/Onuser1 не требовался, но он действительно упрощал задачу под рукой. | + | В этом случае FireUser1/Onuser1 не требовался, но он действительно упрощал задачу под рукой. Фишка системы в том, что вы можете заставить каждую чайку делать что-то отдельно. Первая чайка летит к bird_flightpath_a_48 без задержки. Вторая чайка летит в тот же самый путь, но ждет 12 секунд. Последняя также ждет 12 секунд, но летит по другому пути: bird_flightpath_a_10. Все это достигнуто, используя один вывод и один targetname для 3 объектов. |
− | [[Category:Level_Design| | + | [[Category:Level_Design|<br>]] |
Версия 18:12, 1 декабря 2009
http://developer.valvesoftware.com/wiki/User_Inputs_and_Outputs
Пользовательские инпуты и аутпуты
Инпуты FireUser1-4 и аутпуты OnUser1-4 доступны на каждом объекте, в котором могут настраиваться аутпуты. Этот управления особенно связаны между собой. Хотя они используются очень не обычно, с ихней помощью выполнять определенные задачи намного проще, чем без них.
Вывод OnUserN просто сохраняет действие, которое не выполнено, пока он не активизирован соответствующим вводом FireUserN. Они полезны для отправления сообщений через объект, где желательная цель известна посылаемому объекту, но не объекту отправления.
Пример может быть найден в карте VALVe "sdk_d3_citadel_01.vmf", который находится в папке "sourcesdk_content\hl2\mapsrc". func_tracktrain (zapperpod1_train) с func_door_rotating (zapperpod1_rotator) припарентен к path_track (pod_bay_zapper_track).
В позиции табуляции Outputs "func_tracktrain" объекта есть 2 параметра настройки:
My Output > | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
![]() |
OnUser1 | zapperpod1_rotator | Open | 0.00 | No | |
![]() |
OnUser1 | zapperpod1_rotator | Close | 5.00 | No |
Так в основном, когда User1 запущен, "func_door_rotating" откроется и, после 5--секундной задержки, закроется. Чтобы запустить этот аутпут, у одного из "объектов" path_track'a, "pod_bay_zapper_track4", есть аут:
My Output > | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
![]() |
OnPass | !activator | FireUser1 | 0.10 | No |
Когда "func_tracktrain" пройдёт "path track", вернётся к !activator и аут User1 будет запущен.
Другие примеры
Вот другой пример, с карты из Half-Life 2-"d2_coast_08":
<span style="text-decoration: underline;" />
Logic_auto используется, чтобы заставить 3 НПЦ-чаек улеть с небольшой задержкой времени. Большинство мапперов назначили бы каждый аут отдельно, но использование сабжа, картопостроитель здесь был в состоянии сделать все это с единственным выводом FireUser1, как показано ниже:
- "origin" "3349.73 -2612.79 1033"
- "spawnflags" "1"
- "classname" "logic_auto"
My Output > | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
![]() |
OnMapSpawn | seagull | FireUser1 | 0 | No |
- "origin" "3328 -2688 2177"
- "targetname" "seagull"
- "spawnflags" "4"
- "classname" "npc_seagull"
My Output > | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
![]() |
OnUser1 | !self | FlyAway | bird_flightpath_a_48 | 0 | No |
- "origin" "3319.87 -2531.21 2177"
- "targetname" "seagull"
- "spawnflags" "4"
- "classname" "npc_seagull"
My Output > | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
![]() |
OnUser1 | !self | FlyAway | bird_flightpath_a_48 | 12 | No |
- "origin" "3191.87 -2531.21 2177"
- "targetname" "seagull"
- "spawnflags" "4"
- "classname" "npc_seagull"
My Output > | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
![]() |
OnUser1 | !self | FlyAway | bird_flightpath_a_10 | 12 | No |
В этом случае FireUser1/Onuser1 не требовался, но он действительно упрощал задачу под рукой. Фишка системы в том, что вы можете заставить каждую чайку делать что-то отдельно. Первая чайка летит к bird_flightpath_a_48 без задержки. Вторая чайка летит в тот же самый путь, но ждет 12 секунд. Последняя также ждет 12 секунд, но летит по другому пути: bird_flightpath_a_10. Все это достигнуто, используя один вывод и один targetname для 3 объектов.