Четверг, 23.11.2017, 10:14

Мини сыроварня открываем мини.
logo

Пользовательский поиск

Меню сайта
Категории раздела
Разное [15]
Tutorials
Создание карт [13]
Создание моделей [2]
Кодинг [14]
Создание карт CS [197]
Учебник cs-mapper
Свойства entity HL-CS [117]
Форма входа
Логин:
Пароль:
Наш сервер CS 1.6
Поиск
Наш опрос
Оцените мой сайт
Всего ответов: 120
Атмосфера
Друзья сайта


Главная » Статьи » HL Development » Создание карт CS

Учебник по созданию карт CS HL. Курица на карте Cs_Italy



CS-MAPPER — Создание карт для
 CS. 
 
 
Ссылки 
Статьи

Учебник по созданию карт
Глава XX. Продвинутый маппинг.

§ 20.14 Курица на карте Cs_Italy

Из данного материала вы узнаете, как устроена курица на карте Cs_Italy.
От вас потребуется знание следующих энтити-объектов:

Давайте поглядим на всем известную и всеми любимую курицу на Cs_Italy :-)

Курица на Cs_Italy


Примечание: мы рассмотрим «устройство» курицы как есть, то есть так, как она сделана на Cs_Italy. Этот метод имеет некоторые недостатки, о которых мы расскажем в конце материала.


1. Создание курицы (как на Cs_Italy)

Курица на Cs_Italy — это модель (файл *.mdl). Модели в уровень вставляются с помощью энтити-объекта cycler. Раньше, когда не было этого энтити-объекта, модели вставлялись через энтити-объект cycler_sprite, который вобщем-то предназначен для вставки спрайтов. Мы решили создавать курицу «как есть», поэтому воспользуемся энтити-объектом cycler_sprite.

Трудность с курицей заключается в её убийстве :-) При отправлении птички в мир иной, она должна исчезнуть, издать предсмертный звук и выпустить пару пёрышек — всего этого модель делать не умеет. Модель просто вставлена в уровне, она не может быть застрелена, она не умеет выпускать пёрышки и издавать какие-либо звуки.


Вот, как устроено убийство курицы

В действительности игрок не убивает курицу (привет, GreenPeace :-). Он стреляет в прозрачный разбиваемый энтити-объект func_breakable. Этот энтити-объект находится в том же месте, где и птичка.

От разрушения прозрачного func_breakable запускаются сразу три энтити-объекта, так как все они имеют одинаковое название.

  • Запускается env_render, который делает курицу-модель полностью прозрачной
  • Запускается env_shooter, который выбрасывает перья (тоже модели)
  • Запускается ambient_generic (то есть раздается предсмертный крик птицы)

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

С началом каждого нового раунда птица не становится вновь видимой! Ее нужно сделать видмой при помощи другого объекта env_render. На Cs_Italy данный 2-ой env_render запускается триггером, расположенным на базе контр-террористов. При рождении в начале раунда контр-террористы проходят через триггер, и птичка вновь оживает, то есть становится видимой.


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

На картинке ниже видно расположение энтити-объектов.

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


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

Сверху птицы расположен env_shooter. Данный точечный энтити-объект выбрасывает перья, когда в курицу стреляют. Справа внизу расположен звук (ambient_generic), который проигрывается при попадании в птицу.

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

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

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


Параметры энтити-объектов:

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


2. Func_breakable (прозрачный разбиваемый объект, находящийся на месте птицы)
Target on break: chicken1kill (названия 3 энтити-объектов, запускаемых при разрушении данного func_breakable)
Strenght: 1 (прочность, хватит 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 — играет один раз (затем его нужно запускать повторно)


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


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

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

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

Если вы расстреляете птицу и раунд закончится быстрее трёх минут, то в следующем раунде курицы не будет! А всё потому что триггер не успеет обнулиться (не истекли 180 секунд). Если же вы убъете птицу, затем пройдет три минуты, и вы еще раз пробежите через триггер на базе контр-террористов, то курица станет бессмертной!

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

Ссылки

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

Глава XX. Продвинутый маппинг.

§ 20.1   Авиаудар на карте de_torn
§ 20.2   Активация объектов при рождении/смерти игрока
§ 20.3   Вентилятор
§ 20.4   Взрывы, мины и растяжки
§ 20.5   Вылетающие из трубы куски мяса
§ 20.6   Гром на карте de_aztec
§ 20.7   Дождь на карте
§ 20.8   Землетрясение
§ 20.9   Как отобрать оружие у игроков?
§ 20.10 Как поставить бомбу под водой?
§ 20.11 Канализация, туннель
§ 20.12 Катапульта на карте de_rats3
§ 20.13 Конвейер
§ 20.14 Курица на карте cs_italy
§ 20.15 Летающая птица на карте de_survivor
§ 20.16 Маятник
§ 20.17 Подсчет фрагов на табло
§ 20.18 Пузырьки
§ 20.19 Пулемет
§ 20.20 Скалы
§ 20.21 Снег на карте
§ 20.22 Табло с выбором фоновой мелодии
§ 20.23 Холмы
§ 20.24 Щит с вращающейся рекламой

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

Категория: Создание карт CS | Добавил: SuperStart (03.03.2012)
Просмотров: 1644 | Теги: Counter-Strike, counter strike, Half-Life, Halflife, counter-strike 1.6 | Рейтинг: 0.0/0 |


Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Copyright www.akksimo.net © 2017