САЙТ В ПРОЦЕССЕ РАЗРАБОТКИ
Главное меню сайта
Делаем сами
настройки игры
качаем общие файлы
качаем для клиента
качаем для сервера
качаем проги и др.
трюки
разное
урок 10
использование multisource и multimanager


Условие для активации (multisource)
В этой статье мы расскажем о принципе действия объекта multisource, который активирует указанный в его свойствах объект, только после выполнения определенного условия.
Multisource в некотором роде противоположен multi_manager'у, т.к. активирует объект, только когда несколько объектов активировали его самого. А multi_manager сам активирует несколько объектов.
Давайте рассмотрим простейший пример использования multisource.
Наша тестовая карта будет состоять из двух комнат, разделенных простой дверью func_door. Присвоим этой двери имя door1. Свойства в данном случае не так важны — выставьте их самостоятельно. Единственное, для удобства отметьте флаг «Toggle», чтобы дверь автоматически не закрывалась.
Рядом на стене расположим две кнопки func_button (именно две — это важно) и в параметр «Targetted object» каждой из них впишем имя door_master (это имя будущего объекта multisource, см. рис. ниже).

Смысл опыта заключается в том, что дверь должна открываться только в том случае, если нажаты обе кнопки, т.е. при нажатии на одну кнопку дверь открываться не должна.
Вставим на карту объект multisource и дадим ему имя door_master и впишем в параметр «Target» имя двери, т.е. door1.
Готово! Когда обе кнопки будут нажаты, дверь откроется. На тестовой карте у кнопок мы установили параметр «Delay before reset»: 3 секунды, чтобы можно было успеть нажать обе кнопки. Если в течении 3-х секунд будет нажата только одна кнопка, то дверь не откроется. Состояние кнопки (вкл/выкл) контролируйте по смене текстуры на ней. В нажатом положении кнопка становится красной.

 Активация нескольких объектов (multi_manager)
В этой статье мы расскажем о принципе действия очень полезного объекта multi_manager, который применяется для последовательной активации нескольких объектов через заданные промежутки времени.
Multi_manager является точечным энтити-объектом, поэтому место его расположения на карте роли не играет. Данный объект в игре невидим и никак не мешает игрокам передвигаться. В обычных свойствах этого объекта есть лишь один параметр Name, т.е. имя multi_manager'a. Имя обязательно нужно указывать для возможности активации.
Основные же параметры выставляются при отжатой кнопке «SmartEdit» (см. рис. ниже).
Нажмем кнопку «Add», чтобы добавить новую запись. Появится небольшое окошко. В строку «Key» вписывается имя объекта, который необходимо активировать, а в строку «Value» — время в секундах до активации. Время можно задавать не только целыми секундами: 0,1,2,3.., но и секундами с десятыми или сотыми долями (0.1, 0.25, 0.5, 1.3, 2.7, 73.5). Дробная часть отделяется точкой.

Multi_manager позволяет активировать до 16 различных объектов. А если учесть, что в качестве активируемого объекта может сам multi_manager, то общее количество контролируемых объектов может быть довольно большим.
Давайте рассмотрим простой пример. У нас есть небольшая комната, в центре которой расположен источник света light. По углам комнаты расположены еще 4 лампочки light, которые в начале раунда будут выключены (установлен флажок «Initially dark»). Имена у лампочек следующие: light1, light2, light3, light4.
Смысл эксперимента заключается в последовательном включении и выключении каждой лампочки (эдакая дискотека в стиле 80-х годов :). Последовательность включения и выключения лампочек, а также время активации запишем в свойства multi_manager при отжатой кнопке «SmartEdit». Дополнительно создадим на стене кнопку (func_button), которая будет активировать multi_manager, а тот в свою очередь цепочку из 4-х лампочек (см. рис. ниже).

Итак, последовательность действий следующая:
(1) игрок нажал на кнопку (func_button)
(2) кнопка запускает multi_manager
(3) multi_manager включает/выключает лампочки с заданными интервалами:
лампочка-1 через 0.0 с — ВКЛ.
лампочка-1 через 0.5 с — ВЫКЛ.
лампочка-2 через 0.5 с — ВКЛ.
лампочка-2 через 1.0 с — ВЫКЛ.
лампочка-3 через 1.0 с — ВКЛ.
лампочка-3 через 1.5 с — ВЫКЛ.
лампочка-4 через 1.5 с — ВКЛ.
лампочка-4 через 2.0 с — ВЫКЛ.
В свойства multi_manager для удобства будем вписывать включение и выключение лампочек, расстанавливая их по времени активации, но в принципе последовательность записи значения не имеет. Если в свойства multi_manager вписать объект, который уже есть в списке, то к имени такого объекта будут добавлены символы #1, #2, #3 и т.д. (см. рис. ниже).

Объекту multi_manager присвоим имя lgt_multi и впишем это имя в свойства кнопки (func_button) в параметр «Targetted object». Вот собственно и все. Когда игрок нажмет кнопку, по очереди загорятся и погаснут четыре лампочки по углам комнаты.
У объекта multi_manager есть один флаг «multithreaded». Если этот флаг отмечен, то multi_manager запустится повторно независимо от того, выполняет он какую-то последовательность действий или нет. Если флаг не отмечен, то multi_manager нельзя запустить повторно, пока он не закончит активацию последнего объекта из списка.
В современных картах объект multi_manager применяется довольно часто. Например, при помощи multi_manager'a можно запускать несколько звуков или активировать цепочку взрывов.

Форма входа
Поиск по сайту
Наш опрос
Оцените наш сайт
Всего ответов: 14
Мини-чат
Статистика

Онлайн всего: 5
Гостей: 5
Пользователей: 0
qwertys © 2025
Сделать бесплатный сайт с uCoz