Из данного материала вы узнаете, как создать лифт, который будет
курсировать :) между 2-мя этажами и вызываться кнопками. Подобный лифт
вы могли видеть на Cs_Siege. От вас потребуется знание следующих энтити-объектов:
Создаём форму лифта. Превращаем его нажатием комбинации клавиш [Ctrl-T] в энтити-объект func_door.
Чтобы лифт ездил вверх-вниз в параметре «Angle» нужно указать значение
«Up». Ещё важно установить параметр «Delay before close: -1», чтобы лифт
оставался на новом этаже (и ждал повторной активации) и автоматом не
приезжал бы в начальное положение.
Также нужно создать на каждом из 2-ух этажей по кнопке (func_button), которые будет активировать (заставлять двигаться) лифт через несколько секунд.
Func_door (лифт)
Angle: Up (направление движения, вверх-вниз) Name: elevator (название лифта) Speed: 120 (скорость движения лифта, юнитов в секунду) Move sound: large rollers (звук движения лифта) Stop sound: ratchet stop (звук остановки лифта) Delay before close: -1 (при таком значении лифт не будет автоматически возвращаться обратно, а будет ждать следующего вызова, следующей активации) Lip: -180 (дополнительное расстояние, на которое будет перемещается лифт, смотрите ниже)
Флаги:
Don't link Toggle: лифт будет ждать следующего вызова и не будет автоматом возвращаться назад
Одним из самых главных свойств лифта является «Lip», который применяется для изменения расстояния перемещения лифта.
Дело в том, что стандартно лифт движется на расстояние своей высоты. К
примеру, у нас высота лифта — 120 юнитов. По умолчанию он поднимется
(или опустится) именно на такое расстояние — 120 юнитов. Расстояние же
между 2-мя этажами у нас 300 юнитов. Это значит, что лифт не доедет до
2-ого этажа и остановится между этажами. В связи с этим, расстояние, на
которое перемещается лифт, нужно увеличить. Как раз это и даёт сделать
свойство «Lip». Причем отрицательное значение параметра «Lip»
увеличивает расстояние, а положительное — сокращает. В нашем случае
необходимо указать «Lip» = -180 (юнитов).
На схеме ниже лифт показан в нижней позиции (на 1-ом этаже). Блёклыми цветами показано положение лифта при значении «Lip = 0». Пунктиром показано положение лифта в конечной позиции (на втором этаже).
Размерными линиями показано, какое расстояние считается за «Lip». У
нас данное расстояние равняется 180 юнитам, отсюда следует, что в
параметр «Lip» мы должны вписать значение: -180.
Как уже говорилось выше, на каждом из двух этажей нужно сделать по 1-ой кнопке (энтити-объект func_button), которые будут запускать лифт. Параметры данных кнопок таковы:
Func_button (кнопка, запускающая лифт)
Target: elevator (сюда мы записали название лифта) Delay before trigger: 2 (время в секундах до начала движения лифта, после нажатия кнопки) Delay before reset: 1 (время в секундах, в течении которого кнопка не может быть нажата повторно)
Флаги:
Don't move: кнопка не вдавливается в стену при нажатии
elevator_32.zip [25Кб] — в архиве карта-пример в форматах BSP и RMF.