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

Вводная информация
Каждый из вас наверное уже слышал про !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

Вернуться в каталог уроков