Глава XX. Продвинутый маппинг. | |||
§ 20.14 Курица на карте cs_italy | |||
В этой статье мы расскажем как сделана курица на карте CS_ITALY. Для ее создания необходимы следующие энтити-объекты: Давайте посмотрим на всеми любимую курицу на CS_ITALY: Примечание: мы расскажем об «устройстве» курицы как есть, т.е. так, как это сделано на карте CS_ITALY. Данный метод имеет несколько недостатков, о которых мы расскажем в конце статьи. 1. Создание курицы (как на cs_italy)Курица на cs_italy является моделью (файл *.mdl). Модели на карту вставляются при помощи объекта cycler. Раньше, когда данного объекта не было, модели вставлялись через объект cycler_sprite, который вообще-то предназначен для вставки спрайтов. Мы решили делать курицу «как есть», поэтому будем использовать cycler_sprite.Проблема с курицей заключается в ее убийстве :) При отправлении курицы в мир иной, она должна исчезнуть, издать предсмертный звук и выпустить пару перышек — всего этого модель делать не умеет. Модель просто стоит на карте, она не может быть застрелена, она не может выпустить перышки, она не может издавать звуков. Вот, как устроено убийство курицы На самом деле игрок не убивает курицу (привет GreenPeace :). Он стреляет в невидимый разбиваемый объект func_breakable. Данный объект расположен в том же месте, где и курица. От разрушения невидимого func_breakable активируются сразу 3 энтити-объекта, т.к. все они имеют одинаковое имя.
Рождение курицы заново С началом нового раунда курица не станет вновь видимой! Ее необходимо сделать видмой при помощи другого объекта env_render. На CS_ITALY этот второй env_render активируется триггером, расположенным на базе контров. При рождении в начале раунда контры пробегают через триггер, и курица вновь «оживает» (становится видимой). Расположение объектов На рисунке ниже показано расположение объектов. Черный выделенный желтой рамкой кубик — это курица. Внутри курицы расположен разбиваемый невидимый в игре объект (CS_ITALY). Сверху курицы находится env_shooter. Этот объект выбрасывает перья от курицы. Справа внизу расположен звук (CS_ITALY), который раздается при убийстве курицы. Слева от курицы расположены 2 объекта env_render. Один из них делает курицу невидимой, другой — наоборот видимой. На нашей тестовой карте так же, как и на CS_ITALY, есть еще один объект — это trigger_multiple. Данный триггер, будучи активированным игроками, запускает второй env_render, который делает курицу видимой. Свойства энтити-объектов: | |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
2. Недостатки методаПри некоторых обстоятельствах курица может не появится в начале раунда, или же она может стать неубиваемой!Все дело в триггере trigger_multiple, у которого установлено время обнуления в 180 секунд. Автор карты расчитывал на то, что в среднем раунд длится 3 минуты или 180 секунд. Но всем известно, что раунд может быть и 30-секундным, а может длиться более 3 минут. Если Вы убъете курицу и раунд закончится быстрее 3-х минут, то в следующем раунде курицы не будет!
italy_chicken.zip [17Кб] — в архиве карта-пример в форматах BSP и RMF. |