Меню сайта




[DS]: Half-Life Server
[DS]: Half-Life Server


[DS]: CS:S GunGame v34 Server
[DS]: CS:S GunGame v34 Server


[DS]: CS:S v34 Server
[DS]: CS:S v34 Server


Поиск

add_newДобавить новость
Последние добавленные
Название игры: S.I.P: Out Life
Жанр: FPS, с элементами RPG
Язык: с++, скрипты lua
G API: DirectX 9
Сайт: sip-game.su
Группа Vk: vk....
Читать далее

<JAM>
m1-palinka


HL-HEV
hl-hev

DS-Servers
Статьи
Туториалы
Маппинг
Goldsrc
Создание карт
Продвинутый маппинг

Курица на карте cs_italy



Курица на карте cs_italy
Добавил: root
2013-01-09 13:26:19
19 просмотров

В этой статье мы расскажем как сделана курица на карте 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, который делает курицу-модель невидимой
  • Активируется env_shooter, который выбрасывает перья (тоже модели)
  • Активируется ambient_generic (т.е. раздается предсмертный крик курицы)


Рождение курицы заново

С началом нового раунда курица не станет вновь видимой! Ее необходимо сделать видмой при помощи другого объекта env_render. На CS_ITALY этот второй env_render активируется триггером, расположенным на базе контров. При рождении в начале раунда контры пробегают через триггер, и курица вновь «оживает» (становится видимой).


Расположение объектов

На рисунке ниже показано расположение объектов.

Расположение объектов на карте Cs_Italy



Черный выделенный желтой рамкой кубик — это курица. Внутри курицы расположен разбиваемый невидимый в игре объект (CS_ITALY).

Сверху курицы находится env_shooter. Этот объект выбрасывает перья от курицы. Справа внизу расположен звук (CS_ITALY), который раздается при убийстве курицы.

Слева от курицы расположены 2 объекта env_render. Один из них делает курицу невидимой, другой — наоборот видимой.

На нашей тестовой карте так же, как и на CS_ITALY, есть еще один объект — это trigger_multiple. Данный триггер, будучи активированным игроками, запускает второй env_render, который делает курицу видимой.

Trigger_multiple активирует env_render, который делает курицу видимой



Свойства энтити-объектов:

1. Cycler_sprite (используется для вставки модели курицы)
Name: chicken1 (имя курицы)
Angle: угол, который может быть использован для разворота курицы в нужном направлении
Sprite: models/chick.mdl (путь к файлу с моделью курицы)
Frames per second: 1 (скорость проигрывания анимации, т.е. 1 движение в секунду)
Render mode: Solid
FX Amount: 255 (при значении 0 — модель будет полностью невидимой)



2. Func_breakable (невидимый разбиваемый объект, расположенный на месте курицы)
Target on break: chicken1kill (имена трех объектов, активируемых при разрушении данного func_breakable)
Strenght: 1 (прочность)
Material type: flesh (тип материала, куски мяса)
Gibs Direction: Relative to attack (куски летят в направлении атаки)
Render mode: Texture
FX Amount: 0 (делает этот объект невидимым)



3.1 Env_render (делает курицу невидимой после ее убийства)
Name: chicken1kill
Target: chicken1
Render mode: Solid
FX Amount: 0 (делает курицу невидимой)



3.2 Env_render (делает курицу видимой в начале раунда)
Name: chicken1respawn
Target: chicken1
Render mode: Solid
FX Amount: 255 (делает курицу видимой)



4. Env_shooter (выбрасывает перья из "убитой" курицы)
Name: chicken1kill
Number of gibs: 15 (число выбрасываемых моделей, т.е. перьев)
Gib velocity: 100 (скорость падения перьев)
Cource variance: 5 (параметр опредляет на сколько летящие перья будут отклоняться от прямой траектории)
Gib life: 4 (время «жизни» перьев, затем они исчезают)
Model: models/feather.mdl (путь к файлу с моделью перьев)

Флаги:

Repeatable — позволяет активировать env_shooter многократно



5. Ambient_generic (звук при убийстве курицы)
Name: chicken1kill
Path: misc/killChicken.wav (путь к звуку)
Volume: 10 (громкость, максимальная)

Флаги:

Medium Radius — средний радиус распространения звука
Not Toggled — играет 1 раз (затем его необходимо активировать повторно)



6. Trigger_multiple (активирует env_render, который делает курицу видимой)
Target: chicken1respawn
Delay before reset: 180 (в следующий раз сработает только через 180 секунд)



2. Недостатки метода

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

Все дело в триггере trigger_multiple, у которого установлено время обнуления в 180 секунд.
Автор карты расчитывал на то, что в среднем раунд длится 3 минуты или 180 секунд.
Но всем известно, что раунд может быть и 30-секундным, а может длиться более 3 минут.

Если Вы убъете курицу и раунд закончится быстрее 3-х минут, то в следующем раунде курицы не будет!

  • Игрок убивает курицу
  • Раунд заканчивается быстрее 3 минут, следовательно, триггер не успевает обнулится (не истекли 180 секунд)
  • В следующем раунде игроки пробегают через триггер, но он еще не работает, следовательно, курица остается невидимой!

Если Вы убъете курицу, затем пройдет 3 минуты, и Вы еще раз пробежите через триггер на базе контров, то курица станет неубиваемой!

  • Игрок убивает курицу
  • Проходит 3 минуты, триггер снова может активировать появление курицы
  • Игрок пробегает через триггер, курица становится видимой
  • Но так как объект func_breakable уже был разбит, то курица становится неубиваемой до конца раунда!


italy_chicken.zip [17Кб] — в архиве карта-пример в форматах BSP и RMF.


Поделиться:
Тэги:

DS-Servers.com
Copyright © 2012-2016. All Rights Reserved.
При копировании материала ссылка на источник обязательна
За материалы, размещенные пользователями, администрация сайта ответственности НЕ несет