Пользовательские Инпуты и Аутпуты

Материал из CSM Wiki
Перейти к навигации Перейти к поиску


Пользовательские инпуты и аутпуты

Инпуты 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
Io11.png OnUser1 zapperpod1_rotator Open   0.00 No
Io11.png 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
Io12.png OnPass  !activator FireUser1   0.10 No


Когда "func_tracktrain" пройдёт "path track", вернётся к !activator и аут User1 будет запущен.

 Другие примеры

Вот другой пример, с карты из Half-Life 2-"d2_coast_08":

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
Io11.png 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
Io12.png 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
Io12.png 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
Io12.png OnUser1  !self FlyAway bird_flightpath_a_10 12 No


 

В этом случае FireUser1/Onuser1 не требовался, но он действительно упрощал задачу под рукой. Фишка системы в том, что вы можете заставить каждую чайку делать что-то отдельно. Первая чайка летит к bird_flightpath_a_48 без задержки. Вторая чайка летит в тот же самый путь, но ждет 12 секунд. Последняя также ждет 12 секунд, но летит по другому пути: bird_flightpath_a_10. Все это достигнуто, используя один вывод и один targetname для 3 объектов.

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

Inputs_и_Outputs

Ссылки

User_Inputs_and_Outputs на ValveDev