Канал в IRC
RusNet: #cmt
Учебник по созданию карт
Глава VII. Разное.

§ 7.1 Применение триггеров

В этой статье мы расскажем о применении такой группы энтити-объектов как триггеры (от англ. "trigger" - инициировать, дать начало). Дополнительную информацию о свойствах данных объектов Вы можете получить из раздела "Энтити".

Триггеры объединены в группу энтитей из 11 объектов. Названия триггеров начинаются со слова trigger_. Вот эти объекты:

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/
CMT (CS Mapping Tutorials) - © 2006-2011. Created by VM
[ Script Execution time: 0.0032 ]