Каждый из вас наверное уже слышал про
!activator и
!caller. Что же это такое?
!activator — это объект, который активировал всю цепочку событий. Например,
logic_auto включает
logic_case, а тот, в свою очередь, включил стену
func_brush. У всех output'ов этих entity —
!activator'ом будет
logic_auto. Второй пример: игрок зашел в триггер, триггер открыл дверь. В output'ах триггера и двери !activator'ом будет являться игрок. Это позволяет изменить какие-либо свойства этого игрока — изменить цвет, прозрачность, очки здоровья.
!caller — это объект, совершающий данный Output. Например: Игрок зашёл в триггер → триггер открыл дверь. Для триггера
!caller'ом будет являться этот же триггер, для двери — эта же дверь. Кстати говоря,
!self — аналогично
!caller'у.
Также есть
!player — это игрок, но используется эта ссылка только в одиночной игре.
Таким образом, с помощью
!activator можно изменить уровень здоровья игрока. Создадим триггер
trigger_once и добавим ему Output:
OnStartTouch — !activator — AddOutPut — health 500
Собираем карту
(F9), заходим в триггер и видим, что у нас в самом деле
500 очков здоровья. Можно поставить любое число, цифры, показывающие очки здоровья, могут не поместиться, но уровень всё равно будет такой, какой нужен. Можно также попробовать такие Output'ы:
OnStartTouch - !activator - SetHealth - 500 или
OnStartTouch - !activator - Health - 500