SITE LOGO
Воскресенье, 19.05.2024, 16:41
Приветствую Вас Гость | RSS
Главная страница | Доска объявлений | Регистрация | Вход
Меню сайта

Наш опрос
Какой раздел вам нравится больше всего ?
Всего ответов: 87

Начало » Доска объявлений » Уроки маппера

Двери
Информация |
Вот и подошли к дверям...
Основных типов дверей 2: отъезжающие и открывающиеся. Стандартный размер дверей 64х4х96 юнитов.

1. Отъезжающие
Давайте сначала разберемся каким образом можно реализовать открытие дверей:
1. От кнопки\рычага
2. От use'a
3. От триггера

Кнопка\рычаг
Сначала, конечно, нужно сделать проем для дверей. Теперь, когда проем готов, вставляем в него браш-дверь. Примерно так:

Теперь отсылаем браш-дверь to Entity в func_door. Потом определяем такие параметры:
Name - если дверь открывать кнопкой\рычагом (и триггером), то этот параметр обязателен - с помощью него мы и активируем дверь.
Speed - скорость открытия дверей.
Move sound - звук при открытии.
Stop sound - звук после открытия\закрытия.
Delay before close - время до закрытия (после открытия:) ). Если стоит значение "-1" то дверь не будет закрываться (только в одном раунде - в начале следующего она снова будет закрыта).
Damage inflicted when blocked - повреждения, которые нанесутся игроку если от встанет в проеме когда дверь будет закрыватся - его этой дверью хряснет:).
Target - имя обьекта, который дверь после открытия активирует (короче, это не обязательно!).

Ну а остальные параметры не важны (лично я ими никогда не пользуюсь) - не трогайте их...

Flags (флаги):

Starts open - при начале раунда открыта.
Passable - делает дверь нематериальной - через нее можно пройти.
Toggle - если флаг включен, то двери после открытия, закрыть можно будет только еще раз активировав (кнопкой, триггером, use'ом...).
Use only - Дверь будет открыватся только от Use'a (стандартная клавиша "Е" - в игре). З.Ы. Вот я и рассказал как двери делать открывающимися от Use'a:)
Остальные флаги не важны...

Кстати, в закладке Class info (там где вы выставляете параметры энтитям) есть такая вещь, как Angle: эта стрелочка указывает в какую сторону (на 3D-виде) будет отъезжать дверь. Также можно поставить Up\down, чтобы дверь отъезжала, соответственно, вверх\вниз.

Теперь надо сделать кнопку\рычаг для открытия дверей.

Кнопка Делаем где-то около дверей (ну, как хотите) маленький браш-кнопку (закрашенный кнопочной текстурой).
Вот так:

Теперь отсылаем браш-кнопку to Entity в func_button со следующими пропертис:
Targetted object - здесь вписываем имя двери, которую нужно этой кнопкой открыть.
Delay before reset - время, через которое кнопку снова можно будет активировать. Лучше ставьте "0".
Во флагах ставьте Don't move чтобы кнопка не двигалась после нажатия. Если не отметить этот флаг, то кнопка будет двигатся в направлении указаном стрелочкой Angle.
Флаг Touch activates - если отмечен, то кнопка активируется когда до нее дотронется игрок, а не активирует. Вот и готова кнопка!

Рычаг Это, по моему, совсем ненужная фича, но если кому-то нужно, то вот рецепт создания:
Сначала нам нужна дверь (!обязательно дайте ей имя!). Когда дверь готова, делаем около нее браш-рычаг, можно сделать его из нескольких брашей:

Потом делаем ось вращения - браш закрашенный текстурой ORIGIN (точкой вращения служит центр браша). Запомните это - еще понадобится!

Получится примерно так:

Далее выделяем наш рычаг (браш\браши) и ось вращения (ORIGIN-браш), и отправляем его to Entity в func_rot_button c такими пропертис:
Targetted object - имя двери которую надо открыть.
Speed - скорость вращения рычага.
Delay before reset - время через которое снова можно будет активировать рычаг после его использования.
Distance (deg) - угол вращения в градусах. Если поставить 90 - то рычаг повернется на 90 градусов, ну и так далее...

Flags\флаги
Not solid - если включен, то в игре рычаг будет нематериальным - не будет цеплять игрока (я всегда это ставлю, если конечно пользуюсь рычагом вместо кнопки:) ).
Reverse dir - будет вращатся в обратную сторону. По дефолту крутится, вроде-бы, против часовой стрелки.
Toggle - короче, если нажали рычаг, он покрутился, а обратно не будет - только если его снова нажать.
X asis и Y asis - ну ось, по которой будет крутится рычаг. Если как на рисунке, то Y.
Touch activates - активируется только от прикосновения игрока. Фух, разобрались...

Триггер (trigger) Триггер - это браш окрашенный текстурой AAATRIGGER и отосланный to Entity в trigger_*** энтити (trigger_multiple, trigger_once...). В игре триггер невидим! Но после того как игрок пересечет его (или просто зацепит), то он активирует указанный обьект.

Чтобы открыть дверь триггером, надо сначала создать ее (дверь), и дать ей уникальное имя. Когда готова, то создаем около нее браш-триггер окрашенный текстурой AAATRIGGER, и расположим ее около двери. Вот так:

Теперь выделяем браш-триггер, и отсылаем to Entity в trigger_multiple с такими параметрами:
Target - впишите сюда имя двери. Когда игрок пересечет триггер - он активирует дверь, и она откроется. На рисунке триггер расположен только с одной стороны двери, в этом случае дверь можно будет открыть только с этой стороны. Обычно надо распологать два триггера с разных сторон двери (с одинаковыми параметрами).
Delay before reset - время, через которое триггер снова можно будет активировать после одного использования (ставьте 0).

Flags\флаги Pushables - если этот флаг установлен, то триггер можно будет активировать не только игрокам, но и затолкнув в него, например, ящик (func_pushable).
Вот и рассказал вам как сделать отъезжающую дверь.

2. Открывающиеся Открывающиеся двери (как на cs_militia) активируются как и отъезжающие (триггер, кнопка, use).
Делаем точно так-же как и в случае с отъезжающими дверьми: дырка, браш-дверь...

Когда браш-дверь готова (to Entity не отправлять!), строим ось - дверь-же вращаемая, поэтому нужна ось вращения. Точкой вращения будет центр ORIGIN-браша. Должно получится где-то так:

Потом делайте браш-дверь и браш-ось (!выделять оба обьекта!) и отправляйте to Entity в func_door_rotating с такими пропертис:
Точно такие-же как и у func_door'а, только еще:
Distance (deg) - угол вращения. Поставите 90 - повернется на 90 градусов. Ну, вы поняли:).
Ну а остальное не трогайте...

Flags\флаги
Starts open - в начале раунда дверь будет открыта.
Revers dir - ставьте чтобы дверь открывалась в противоположную сторону.
Toggle - если отмечена, то после открытия двери она не закроется пока снова ее не активировать.
X asis и Y asis - ось по которой дверь будет открыватся. Короче, не трогайте эти флаги - не будет-же дверь у вас вверх или вниз открыватся:).
Use only - если отмечена, то дверь можно будет открыть только активировав (в игре).

Двери еще можно сделать со стеклом. Для этого "вырежьте" в дверях (func_door_rotating) дырку, и вставьте туда другую дверь (тоже func_door_rotating) с текстурой стекла. Далее нужно организовать одновременное открытие дверей и стекла, и с одной скоростью. Тоесть, стекло должно вертеться вместе с дверью, по такой-же оси, как будто стекло и дверь, это одно целое, и скорость открытия обоих дверей должна быть одинаковая. Потом, дайте одно имя и двери с дыркой, и двери-стеклу, и открывайте их, например, с помощью триггера. Теперь будет дверь со стеклом... НО! Стекло должно быть прозрачное. Для этого просто измените параметры отображения двери-стекла на такие-же, как и у обычного стекла (Render mode: Texture, FX amount: от 0 до 255 (прозрачность стекла)). Точно также, со стеклом, можно сделать не вращающуюся дверь, а отъезжающую. Просто и дверь, и дверь-стекло должны одновременно активироваться (с помощью имени), и вместе съезжать в одну сторону, с одинаковой скоростью.

И напоследок еще одно важное примечание: если имя двери не указано, тогда она будет открываться автоматически, когда игрок к ней притронется (func_door_rotating будет открываться от игрока, как на cs_militia).

Вот и разобрались с дверьми. Теперь попробуйте реализовать это на своей карте.

Добавил: masofke-server | Контактное лицо: :) | Телефон: :)
Просмотров: 751 | Размещено до: 05.04.2007 | Рейтинг: 0.0 |

Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Поиск объявлений

Друзья сайта

Статистика

Copyright MyCorp © 2006
Сайт управляется системой uCoz