| Добавил: root 2013-01-07 05:19:03 442 views В этой статье мы расскажем о применении такой группы энтити-объектов как триггеры (от англ. «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».
§ 7.1 Применение триггеров § 7.2 Использование CLIP-брашей § 7.3 Использование ORIGIN-брашей § 7.4 Как вставить модель на карту? § 7.5 Активация нескольких объектов (multi_manager) § 7.6 Условие для активации (multisource)
Keywords: | |