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

§ 7.6 Условие для активации (multisource)

В этой статье мы расскажем о принципе действия объекта multisource, который активирует указанный в его свойствах объект, только после выполнения определенного условия. Для создания тестовой карты мы будем использовать следующие энтити-объекты:

Multisource в некотором роде противоположен multi_manager'у, т.к. активирует объект, только когда несколько объектов активировали его самого. А мульти_мэнеджер сам активирует несколько объектов.

Давайте рассмотрим простейший пример использования multisource.

Наша тестовая карта будет состоять из двух комнат, разделенных простой дверью func_door. Присвоим этой двери имя door1. Свойства в данном случае не так важны - выставьте их самостоятельно. Единственное, для удобства отметьте флаг "Toggle", чтобы дверь автоматически не закрывалась.

Рядом на стене расположим две кнопки func_button (именно две - это важно) и в параметр "Targetted object" каждой из них впишем имя door_master (это имя будущего объекта multisource, см. рис. ниже).

Схема, при которой дверь откроется только в случае нажатия обеих кнопок


Смысл опыта заключается в том, что дверь должна открываться только в том случае, если нажаты обе кнопки, т.е. при нажатии на одну кнопку дверь открываться не должна.

Вставим на карту объект multisource и дадим ему имя door_master и впишем в параметр "Target" имя двери, т.е. door1.

Готово! Когда обе кнопки будут нажаты, дверь откроется. На тестовой карте у кнопок мы установили параметр "Delay before reset": 3 секунды, чтобы можно было успеть нажать обе кнопки. Если в течении 3-х секунд будет нажата только одна кнопка, то дверь не откроется. Состояние кнопки (вкл/выкл) контролируйте по смене текстуры на ней. В нажатом положении кнопка становится красной.


Ссылки

multisource.zip (!) [11Кб] - в архиве карта-пример в форматах BSP и RMF.


Глава VII. Разное.


К оглавлению Учебника

© http://cs-mapper.by.ru/
CMT (CS Mapping Tutorials) - © 2006-2011. Created by VM
[ Script Execution time: 0.0029 ]