Глава VII. Разное.
§ 7.1 Применение триггеров
В этой статье мы расскажем о применении такой группы энтити-объектов как триггеры (от англ. "trigger" - инициировать, дать начало). Дополнительную информацию о свойствах данных объектов Вы можете получить из раздела "Энтити".
Триггеры объединены в группу энтитей из 11 объектов. Названия триггеров начинаются со слова
trigger_. Вот эти объекты:
- trigger_auto
- trigger_camera
- trigger_changetarget
- trigger_counter
- trigger_gravity
- trigger_hurt
- trigger_multiple
- trigger_once
- trigger_push
- trigger_relay
- trigger_teleport
1. Trigger_auto.Данный триггер открывает группу триггеров. Этот триггер является точечным объектом. Размещать его можно в любом месте карты. Предназначен он для автоматической активации какого-нибудь объекта при загрузке карты, т.е. как-только карта загрузилась, этот триггер срабатывает и активирует объект, указанный в поле "Target". Вы можете разместить несколько trigger_auto, если это необходимо.
Пример использования: активация посредством trigger_auto объекта game_text, который выводит на экран присоединившегося игрока информацию об авторе карты.
Более подробная информация об этом объекте:
"Энтити: trigger_auto".
2. Trigger_camera.Этот триггер также является точечным объектом. По сути, вставив такой объект на карту, Вы получаете камеру, которая будет "смотреть" в указанном направлении. Для того, чтобы игрок смог увидеть, что показывает камера, необходимо создать кнопку (func_button) и в ее параметр "Target" вписать имя камеры. Подобным образом созданы камеры на картах cs_assault, cs_militia и многих других.
Если кнопку не делать, то изображение с данной камеры будет показано при присоединении игрока к серверу. Если камер несколько, то изображения с них будут показываться по очереди в течении некоторого времени. Например, после присоединения к серверу с
de_dust, Вы попеременно видите изображения с камер (т.е. объектов trigger_camera), расположенных в разных местах карты.
Существует возможность создавать двигающиеся камеры или камеры, следящие за подвижной мишенью. Подробнее об этом Вы можете прочитать в статьях из раздела "Камеры".
Более подробная информация об этом объекте:
"Энтити: trigger_camera".
3. Trigger_changetarget.Это еще один точечный триггер, месторасположение которого, не влияет на его работу (т.е. размещать этот триггер можно в любом месте карты). У этого триггера специфическое действие, которое визуально никак не проявляется. Как Вы уже знаете, у многих объектов есть параметр "Target". Так вот, данный триггер позволяет менять этот параметр любому объекту прямо во время игры.
Для того, чтобы поменялся параметр "Target" у какого-нибудь объекта, необходимо активировать данный триггер. Это можно сделать любым доступным способом. Самый простое - при помощи кнопки (func_button).
Более подробная информация об этом объекте:
"Энтити: trigger_changetarget".
4. Trigger_counter.Данный триггер относится к классу брашевых объектов, т.е. действие этого триггера распространяется на пространство, ограниченное его собственными размерами. Закрашивать trigger_counter следует также как и любой другой брашевый триггер специальной текстурой AAATrigger со всех сторон.
Данный триггер запоминает сколько раз он был активирован (сколько раз через него прошли игроки) и при определенном установленном в его свойствах значении активирует указанный в поле "Target" объект.
На рисунке ниже показано, как обычно размещают брашевые триггеры, которые активируют какие-либо объекты. А размещают их так, чтобы какой-нибудь игрок обязательно прошел через них. Тогда триггер активируется и в свою очередь активирует объект, указанный в поле "Target". Например, раздается звук.
Более подробная информация об этом объекте:
"Энтити: trigger_counter".
5. Trigger_gravity.Этот триггер так же, как и предыдущий, относится к классу брашевых. Закрашивать его следует текстурой AAATrigger, которая специально предназначена для триггеров (отсюда и название).
При помощи данного триггера можно изменить гравитацию на карте. Но следует помнить, что гравитация меняется не для всех игроков, а только для игрока, прошедшего через триггер! Все остальные игроки не почуствуют каких-либо изменений. Чтобы вернуть обычную гравитацию необходимо создать еще один
trigger_gravity, устанавливающий нормальное значение (800). Также помните, что уровень гравитации не сбрасывается в начале раунда, т.е. если игрок включил пониженную гравитацию, то и в следующем раунде он будет "летать".
Более подробная информация об этом объекте:
"Энтити: trigger_gravity".
6. Trigger_hurt.Еще один брашевый триггер, который следует закрашивать текстурой AAATrigger. При помощи этого триггера можно наносить повреждения игрокам. Разместите данный триггер в каком-нибудь месте карты, выставьте уровень и тип повреждений (имеется с десяток различных типов, но разница заключается лишь в выводимомой на экран иконке повреждений: огонь, яд, электрошок и т.д.) и тогда, пройдя через этот триггер, игрок потеряет часть здоровья.
Применять этот триггер можно вместе с огнем, электропроводами, трансформаторами, да и много еще с чем. Просто нужно создать вокруг "зоны поражения" данный объект. Как вариант, данный триггер можно использовать за пределами карты, если у Вас есть такие места (где игрок может провалиться). Примеры:
de_prodigy и
de_vertigo (небоскреб). На этих картах игроки могут упасть за ее пределы, и, чтобы они там не бегали, установлены триггеры
trigger_hurt с достаточно большим уровнем повреждений, чтобы убить игрока "наверняка" :)
В нашем Учебнике так же есть пример использования
trigger_hurt в статье про создание огня.
Более подробная информация об этом объекте:
"Энтити: trigger_hurt".
7. Trigger_multiple и
trigger_once.Данные два брашевых триггера являются чемпионами по применению на картах. Они выполняют очень простую, но в то же время очень полезную функцию - они просто активируют объект, указанный в параметре "Target" (чаще всего это звуки или объект multi_manager). Трудно найти карту, на которой не было бы trigger_multiple.
Различие между объектами заключается в количестве активаций:
trigger_multiple может активировать объект бесконечно, а
trigger_once только 1 раз. Как и все остальные брашевые триггеры trigger_multiple и trigger_once следует со всех сторон закрашивать специальной текстурой AAATrigger.
Более подробная информация об этих объектах:
"Энтити: trigger_multiple",
"Энтити: trigger_once".
8. Trigger_push.При помощи этого брашевого триггера можно создать невидимую область, при вхождении в которую, игрок будет выталкиваться в определенную сторону. Например, можно разместить данный триггер в воде, чтобы создать иллюзию подводного течения или около мощного вентилятора для создания иллюзии движения потока воздуха. Данный триггер был применен при создании катапульты на небезызвестной карте de_rats3. Закрашивать trigger_push следует текстурой AAATrigger со всех сторон.
Более подробная информация об этом объекте:
"Энтити: trigger_push".
9. Trigger_relay.Данный триггер относится к классу точечных, т.е. место его положения на карте роли не играет. Данный триггер может работать в трех различных режимах: только включает объекты, только выключает объекты, активирует объект в любом случае. Например, можно создать такую цепочку из трех объектов: кнопка + триггер + лампочка. При нажатии на кнопку, активируется триггер, который работает, например, только на включение. Если свет не горит, то он загорится. Если же свет уже горит, то выключен он не будет. В общем вот такая хитрая система :) Однако иногда она бывает полезна.
Более подробная информация об этом объекте:
"Энтити: trigger_relay".
10. Trigger_teleport.Как видно из названия триггера - это телепорт. Игрок пробегает через данный триггер и оказывается в каком-то другом месте карты. Это место задается другим объектом - info_teleport_destination.
Более подробная информация об этом объекте:
"Энтити: trigger_teleport".
Глава VII. Разное.
К оглавлению Учебника
©
http://cs-mapper.by.ru/