Меню сайта


[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Добавить новость
Последние добавленные

Unreal tournament 2004

Сегодня в нашем мониторинге появилась поддержка игровых серверов Unreal Tournament 2004.

Читать далее

На сегодняшний день, каждый человек хоть раз слышал про игровые автоматы и казино

Читать далее

Фильм "Великая стена"

Фильм «Великая стена» («The Great Wall») фантастика, боевик, приключения в древнем Китае. Фил.... Читать далее

Еще несколько лет назад выбор казино-онлайн был достаточно простым

Читать далее
STARGATE: ORIGINS TRAILER | Stargate: OriginsOn February 15th, witness the premiere of a Stargate story that takes you back to where it all began. Buy an All-Access Pass at http:... Читать далее

Множество букмекерских контор позволяют всем людям реализовать свою мечту – зарабатывать на своем увлечении.

Читать далее

Разработчики Black Mesa выпустили открытую бету игры, поддерживающую все обещанные изменения движка...

Читать далее
Этот плагин добавляет на сервер автомат AK Paladin из игры CSO.

Читать далее

Сеть Burger King совместно с телеканалом Game Show и оператором «Синтерра Медиа» запустили CTRL PLAY

//ds.nue.de.dsncdn.net/uploads/images/_gen-176/5a4e54846b894.png

Читать далее

Фильм "Меч короля Артура"

Фильм "Меч короля Артура", это фэнтэзийный приключенческий фильм в мире альтернативных легенд о короле Артуре и его мече Эк... Читать далее

Уважаемые участники!
Команда проекта DS-Servers, от всей души поздравляет вас с Новым Годом!
//ds.nue.de.dsncdn.net/uploads/images/_gen-176/5a46b6d92c995.png

Читать далее

Этот плагин добавляет вам на сервер дробовик KSG-12

Читать далее

Фильм "Война миров Z"

Фильм «Война миров Z» ужасы, фантастика, боевик, триллер, приключение в современном мире,  в котором б... Читать далее

The University of Southern California’s premier video games program USC Games will feature hands-on playable code for th....

Читать далее

В преддверии новогодних праздников компания DSN.Host запускает конкурс.

Читать далее
ЗАКАЗЫВАЕМ СЕРВЕР НА ХОСТИНГЕ (mineсraft, Unturned, кс.1.6)(Бесплатный хост)Самые дешевый хостинг в мире. Заходи не пожалеешь, я уже почти год держу свой сервер там. https://dsn.host/?ref=141565 https:/... Читать далее
THAT'S A WRAP! - Behind the Scenes | Stargate: OriginsThat's a wrap on filming for Stargate Origins - the exciting new chapter in the Stargate saga. Stay until the end of the video for a li.... Читать далее
ORIGINS TEASER | Stargate: OriginsPremiering on Stargate Command, STARGATE ORIGINS explores the journey that sets a young Catherine Langford on the way to helping ... Читать далее

Multiplayer mod ZXC by 291 for Half-Life 1 with free source code. Over 30 different weapons (including old), features and relativ.... Читать далее

ZXC Mod cvarlist

Читать далее

Студия 11 Bit Studios, которую вы можете знать по This War of Mine

//ds.nue.de.dsncdn.net/uploads/images/_gen-176/5949a205f323e.png

Читать далее

Если вам есть, что скрывать, то WhatsApp может оказаться не лучшим выбором для переписки. Оказывается, принадлежащий Facebook

Читать далее

BRET  (Bsp REs Tool) — Инструмент (Утилита) для генерации .res файлов для карт движка GoldSource .bsp

Читать далее

Плагин : EndMapCustom
Версия : 1.7.4
Автор : BIGs

Описание :

Плагин добавляет кастомный конец карты на ваш сервер.

Когда Timeleft ... Читать далее


<JAM>
m1-palinka


HL-HEV
hl-hev


Разбиваемые камеры
Добавил: root
2013-01-07 14:28:41
109 просмотров

Из данной статьи Вы узнаете как можно создать разбиваемую камеру, которая становится неработоспособной после ее уничтожения игроком. Для реализации данной идеи нам понадобятся следующие энтити-объекты:

Статья довольно сложная, по крайней мере, новичку будет непросто. Поверьте написать ее было тоже не так-то просто :) Если мы Вас еще не испугали, то можем начинать. Сейчас мы изготовим довольно эффектную фичу.

Главное, что Вы должны понять после прочтения статьи, что объекты в Half-Life не являются какими-то определенными предметами, например, объект func_door необязательно должен быть именно дверью. Необходимо понять, что объекты просто имеют определенные свойства, которые мы можем использовать для достижения различных целей.


Что будем делать:

Создадим где-нибудь на карте монитор (это будет объект func_button, т.е. обычная кнопка), нажав на который, игрок увидит изображение с камеры (объекта trigger_camera).

Так как сама камера (trigger_camera) является точечным объектом, то в игре она будет невидимой. Нам же необходимо сделать разбиваемую камеру, т.е. видимый объект, поэтому рядом с настоящей, но невидимой камерой мы создадим объект func_breakable, который будет, так сказать, олицетворять нашу камеру (материализировать).

Игрок думает, что видимая камера (func_breakable) — это и есть камера, при помощи которой он видит изображение, хотя естественно функцию камеры выполняет расположенный рядом объект trigger_camera.

Когда игрок разобъет видимую камеру (func_breakable), необходимо прекратить работу невидимой камеры (trigger_camera). Мы это сделаем переводом цели кнопки-монитора с камеры trigger_camera на какой-нибудь другой объект. Больше при нажатии на монитор изображение выводиться не будет, т.к. монитор уже не активирует камеру. Данную функцию можно реализовать при помощи точечного энтити-объекта trigger_changetarget, который может поменять парматр «Target» любому объекту.

Ну, и последнее. Необходимо, чтобы в начале каждого раунда функции кнопки-монитора восстанавливались, т.е. кнопка опять была бы «направлена» на объект trigger_camera и активировала бы его. Это опять же реализуется при помощи объекта trigger_changetarget, только теперь мы вернем монитору изначальное значение параметра «Target».


Схема работы разбиваемой камеры

Чтобы Вам было немного полегче все это понять, мы составили схему работы разбиваемой камеры (см. рис. ниже). В схему входят 7 энтити-объектов. Сейчас мы попытаемся еще раз повторить сказанное выше, но уже с использованием схемы.

Итак, главным на этой схеме является игрок. Его мы изобразили оранжевым кругом.

Схема работы разбиваемой камеры из 7 энтити-объектов



Рассмотрим среднюю линию схемы, состоящую из 3-х энтити-объектов (func_button, trigger_camera, info_target).

  • Игрок подходит к стене и нажимает на кнопку-монитор (func_button);
  • Кнопка-монитор активирует камеру (trigger_camera);
  • Камера показывает игроку какой-то участок карты. «Взгляд» камеры направлен в сторону объекта info_target

Теперь рассмотрим верхнюю линию схемы с двумя объектами (func_breakable и trigger_changetarget).

  • Игрок разбивает предмет, изображающий камеру, т.е. func_breakable;
  • Func_breakable активирует объект trigger_changetarget, который «переводит» кнопку-монитор с trigger_camera на func_door (синяя стрелка уходит вниз-вправо)

Т.к. кнопка больше не активирует камеру, то игрок, нажимая на нее, ничего не видит (камера разбита). Теперь при нажатии на кнопку будет открываться невидимая дверь, но это нам и нужно и совершенно никак не мешает.

Нижняя линия схемы (объекты func_door и trigger_changetarget).

Как мы уже говорили, из статьи Вы должны понять, что объекты можно использовать не по назначению. В данном случае мы используем дверь не по своему прямому назначению. Наша дверь не будет стоять в каком-то проеме, мало того она будет полностью прозрачной, через нее можно будет проходить (двери как бы и нет), и она будет выполнять функцию триггера (активировать объект).

В свойствах двери мы выставим следующий параметр delay before close: -1, таким образом дверь будет открываться один раз за раунд. Дальше мы воспользуемся тем, что любая открытая дверь в начале следующего раунда автоматически закрывается.

При закрытии (т.е. в самом начале каждого раунда) дверь будет активировать еще один (второй) объект trigger_changetarget, который обратно «переведет» кнопку-монитор на камеру (trigger_camera), и игрок вновь, если захочет, сможет увидеть изображение с камеры.

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


Дальше мы приводим свойства всех используемых объектов.

1. Кнопка-монитор, висящая на стене. При активации ее игроком, она активирует камеру trigger_camera.

Кнопка-монитор, активирующая камеру trigger_camera



Name: monitor_button
Targetted object: camera1 (изначально кнопка активирует камеру)
Delay before reset: 0 (кнопку можно нажимать как угодно часто, без задержек)
Delay before trigger: 0 (кнопка активирует камеру мгновенно, без задержки)

Флаги:

Don't move: кнопка-монитор не вдавливается в стену при нажатии (так удобнее и реалистичнее)


2. Камера (trigger_camera). Камера направлена на объект info_target и передает изображение игроку.

Камера (trigger_camera) и материализующий ее в игре объект func_breakable



Name: camera1
Target: target1
Hold time: 10 (время, в течении которого камера передает изображение)


3. Визуальная часть камеры (объект func_breakable). Разбивая func_breakable (см. рис. выше), мы переключаем кнопку-монитор с камеры на скрытую дверь, выполняющую функцию триггера.

Target on break: change_door (имя первого объекта trigger_changetarget)
Strength: 75 (прочность камеры, порядка 3 выстрелов из винтовки)
Material type: metal (тип материала, в данном случае металл)


4. Мишень для камеры (объект info_target). В сторону этого объекта будет направлен «взгляд» камеры.

Name: target1

В сторону этого объекта будет направлен "взгляд" камеры




5. Объекты, управляющие кнопкой-монитором (trigger_changetarget). Эти объекты «перенаправляют» кнопку-монитор с камеры на скрытую дверь (когда игрок разбивает камеру) и наоборот с двери на камеру в начале каждого раунда.

Секретная невидимая в игре дверь (func_door) и два объекта trigger_changetarget, управляющие параметром Target кнопки-монитора



5.1 Первый trigger_changetarget. Переводит кнопку с камеры на дверь.

Name: change_door
Target: monitor_button (здесь мы указываем имя кнопки-монитора, т.к. именно ей мы меняем параметр Target)
New target: secret_door (сюда вписываем название новой цели для кнопки-монитора)

5.2 Второй trigger_changetarget. Переводит кнопку с двери обратно на камеру в начале каждого раунда.

Name: change_camera
Target: monitor_button (здесь мы указываем имя кнопки-монитора, т.к. именно ей мы меняем параметр Target)
New target: camera1 (сюда вписываем название изначальной цели для кнопки-монитора)


6. Секретная дверь (func_door). Невидимая дверь является у нас объектом, на который переводится действие кнопки-монитора, после разрушения камеры, а также дверь при своем закрытии в начале каждого раунда, активирует второй trigger_changetarget.

Размеры, раположение и текстура для закрашивания не важны! Дверь в данном случае не является собственно дверью.

Name: secret_door
Render mode: texture (этот режим совместно со следующим fx amount: 0 делает дверь абсолютно прозрачной)
FX Amount: 0 (этот режим совместно с предыдущим делает дверь абсолютно прозрачной независимо от текстуры на двери)
Delay before close: -1 (необходимо, чтобы дверь не закрывалась до начала следующего раунда, когда она автоматически закроется и активирует второй trigger_changetarget)
Fire on Close: change_camera (данный объект trigger_changetarget будет активирован при закрытии двери, в нашем случае в начале каждого раунда)

Флаги:

Passable: необходимо отметить, чтобы игроки не сталкивались с прозрачной дверью.

--

Ну, чтож, вот и все. Очень надеемся, что Вы разберетесь со всей этой хитрой системой, т.к. материал этой статьи дает базовый набор знаний, открывающих дорогу в мир профессионального маппинга.

Ну, и прежде, чем Вы перейдете к изучению дальнейшего материала, хочется сказать еще несколько слов.

Подобная камера была реализована на карте DE_ASCHE. Тогда было использовано 10 объектов. Отличие заключалось в том, что дверь не использовалась, как триггер. Вместо этого было два объекта trigger_multiple, размещенных на базах обеих команд. Задачей этих триггеров была активация, кстати посредством еще одной (второй уже) скрытой двери, объекта trigger_changetarget.

Как видите, та же самая идея сегодня реализована уже без trigger_multiple с помощью уже всего 7 объектов вместо десяти. Не исключено, что есть и еще более простое решение, надо лишь немного подумать, вспомнить какие еще есть объекты и попробовать использовать их свойства более эффективно. Здесь, как и в программировании, есть множество вариантов решения одной и той же задачи.


Ссылки

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

§ 16.1 Обычные камеры
§ 16.2 Двигающиеся камеры
§ 16.3 Разбиваемые камеры

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

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