Сегодня Пятница | Дата: 29.03.2024 | Время: 03:43
Последние новости
Counter-Strike 1.6
Добавил: csskachat
Всего комментариев: 0
Intel Extreme Masters Season VII - World Championship
Добавил: MOD
Всего комментариев: 1
Мувик с лучшими моментами ESEA Europe и NA
Добавил: MOD
Всего комментариев: 2
Новые темы форума
Юмор
Ответил: MC_KLAVA
Всего ответов:
Soft ( плагины, программы, патчи, с...
Ответил: spectral
Всего ответов:
Поговорить
Ответил: MOD
Всего ответов:
Лучшие пользователи
MOD
Логин: MOD
Репутация: 79
Группа: Администраторы
JIexa_Glazov_18rus
Логин: JIexa_Glazov_18rus
Репутация: 89
Группа: Модераторы
KoT
Логин: KoT
Репутация: 34
Группа: Пользователи
Здравствуй, Гость! Авторизуйся или зарегистрируйся
Цвет фона

Fhoto server

Навигация
Donload
Наш опрос
Всего ответов: 1249
Голосуем за карты

Наш опрос
Всего ответов: 1961
Ваш выбор

Maps

Реклама
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Music

Работа с Valve Hammer Editor
Работа с Valve Hammer Editor
Valve Hammer Editor (до версии 3.4 - WORLDCRAFT) или создание карт для CS 1.6 (и ниже)

Примечание:
1) Valve Hammer Editor - далее VHE
2) С помощью VHE можно создавать карты не только для CS но и для Half-Life и других его модов, а также для игры Quake 2 и 3.

1. Конфигурация (Настройки)

После того, как вы установите и запустите VHE, выскочит окно с просьбой настроить
VHE. Нажимайте OK. Выберите закладку Textures. Там есть окошко, куда при помощи
кнопки ADD можно добавлять библеотеки тесктур (.WAD). Для начала добавьте любую из
библеотек в папке CStrike. (Папка CStrike находится в директории с игрой). К примеру
подключите библеотеку cs_office.wad - для начала вам её хватит, позже вы сможете
добавить нужные библеотеки. Теперь передите к закладке Game Configurations. Нажмите
кнопку Edit потом кнопкой ADD добавьте новую конфигурацию. Название можете дать любое.
Например Half-Life(CS). (Примечание: При наличии нескольких конфигураций VHE при открытии
и создании карт будет спрашивать какую выбрать конфигурацию.) Далее в поле Game Data Files
добавляем кнопкой ADD файл с расширением .FGD . Надо найти файл Halflife-cs.fgd в директории
с VHE. (...\Valve Hammer Editor\fgd\Counter-Strike) Если вы создаёте карту не для CS а для HL
или других модов то выберите не Counter-Strike а папку с соответствующим из модов. Так,
следующие 4 поля оставим без изменения. Далле в поле Game Executable Directory выбераем
путь к папке Counter-Strike. В следующем поле вбиваем путь к папке с модом. (К примеру
D:\Games\CS 1.6\Cstrike). Понятно что потом надо ввести директорию с Valve (К примеру
D:\Games\CS 1.6\Valve ) В последнем поле укажите куда VHE по дефолту будет сохранять
файлы карты. Потом нажмём ОК.

После этого выбираем Tools->Options. Здесь вы сможете подключать библеотеки с текстурами и менять прочее настройки. Передём на закладку Build Programs. Выбираем созданую нами конфигурацию. В следующем окне указываем путь к HL.exe (в папке с контрой). В следующих 4 окнах выбираем программы из папки (...\Valve Hammer Editor\tools).
CSG - qcsg.exe
bsp - bsp2.exe
vis - vis.exe
Rad - qrad.exe
Последнее окно заполните путём в папку (...\cstrike\maps). Потом ОК. Вот вроде с конфигом всё, теперь непосредственно к VHE.

2. Основы.

В VHE как и в любом другом 3D редакторе можно создать простые геометрические формы. Из них собственно и состоит "мир" CS. На любую такую форму (далле буду называть её брашем) можно наложить текстуру. К примеру браш (куб) с тестурой дерева образует ящик. Например как на карте de_dust). Также "простые" браши можно растягивать, обрезать в общем манипулировать.

Текстуры в VHE да и вообще в HL есть нескольких видов.
1) Clip (в названии присутствует clip) - обычные тестуры, их большинство.
2) AAATRIGGER - особая тесктура функции которой, я опишу чуть позже. Любой объект с такой тестурой в игре виден не будет, так же через него можно ходить.
3) ORIGIN - тоже особая текстура, обладает свойствами похожими на свойства AAATRIGGER, но она отличается чем, опять же расскажу позже.
4) SKY - тестура неба, она будет заменятся небом выбранного образца.
5) !WATER - тесктура со свойствами воды. (обязательно наличие ! вначале названия)
6) Анимировая текстура - тесктура с анимацией (например анимация движения воды, в названии у таких тестур стоит +).

Объекты Entity.
Объекты Entity - объекты без которых не возможны взрывы, двери, молнии и т.п. В общем эти объекты (далее просто энтити) помогают делать начинку для карты. Есть два типа энтитей.
1) Точечные - энтити, кторые создаются специально в отдельной точке. К прмеру место появление терориста и контр-террориста.
2) Браш-энтити - браш объекты преобразованые в энтити. Грубо говоря браши которым предали специальные свойства. Напрмер, браш - ящик, которому придали свойство разбиваться или свойство, чтобы его можно было толкать/тянуть. Из всех вышеописаных объектов и создаётся карта.

3. Инструменты.

Слева есть панель инструментов. В ней 11 инструментов.

1. Selection tool - ну думаю назначение этого тула, не надо объяснять... :)
2. Magnifity - инструмент для приближение/удаления объектов на разных видах. (Помойму инструмент практически безполезный, так как удобнее пользоваться колесиком мыши, но кому как удобней...)
3) Camera - инструмент предназначен для просмотра карты на 3D виде. Зажимаю левую кнопку мыши тяните камеру в нужном
направлении. (Советую на 3D виде кликнуть на надписи camera и выбрать пункт 3D Textured, для того, чтобы на 3D виде всё показывалось сразу с тесктурами.)
4) Entity Tool - инструмент для создания точечных энити. (Для создания браш-энтитей, создайте браш нужной формы и нажмите кнопку To Entity справа. Для того, чтобы наоборот сделать браш-энтити обычным брашем нажмите там же To World.)
5) Block tool - собственно основной инструмент, с помощью него можно создавать браши. Если вы растяните нужным образом пунктирную линию (границу браша), то браш создан не будет. Надо не забыть нажать правой кнопкой на пунктире и выбрать CREATE OBJECT. Изначально можно делать только, "квадратные" формы, то есть с углами 90 градусов. Для создания более "сложных" брашей справа в окошке objects выберите нужную форму.
6) Toggle Texture Application - тул для работы с текстурами, я подробно опишу его позже.
7) Apply Current Texture - применяет выбраную текстуру к выбраному объекту. Иначе говоря полностью покрывает объект выбраной текстурой.
8) Apply Decals - данный тул позволяет применить выбраную текстуру не ко всему брашу, а к конкретному месту. Для изпользования убедитесь, что он нажат, кликните на 3D виде на место куда хотите "приклеить" текстуру.
9) Clipping Tool - позволяет "отрезать" куски брашей. То есть он делит их нужным образом. У данного тула есть 3 режима, для смены режима просто повторно нажмите на иконку тула.
10) Vertex Tool - позволяет передвигать в вабранном объекте вершины или ребра. При смещении вершины изменяется только её положение и всё, а при смещении ребра смещаются все связаные с ним вершины, при это они не меняют своего положения, по отношению друг к другу. Полезный тул, но не стоит злоупотреблять, так как иногда вызывает ошибки компиляции.
11) Path Tool - предназначен для создания путёй для поездов, монстров и т.д. В CS лучше не использовать так как почти всегда работает не корректно, хоты есть карты для CS где пути хорошо реализованы и работают относительно без глюков. Однако новичкам лучше вообще не трогать инструмент Path Tool.

4. Размеры в VHE.

В VHE всё (длина, ширина, высота) измеряется в юнитах. Создатели движка (изначально ID Software) сделали юнит эквивалентным 1 дюйму в реальной жизни. (2,54 см).

Размеры:

Рост игрока - 72 юнита
Максимальная высота объектов, на которую игрок может взойти без прыжка:
Стоя: 18 юнитов
В присяде: 18 юнитов
Минимальная высота объектов над землей, которая необходима для того, чтобы игрок смог пройти под ними:
Стоя: 73 юнита
В присяде: 37 юнитов
Минимальное расстояние между объектами, которое необходимо, для того, чтобы игрок прошёл между ними:
Расстояние: 33 юнита
Максимальная высота объектов, на которую игрок может запрыгнуть:
С прыжка стоя: 44 юнита
В прыжке из присяда: 44 юнита
В прыжке с присядом: 62 юнита
Максимальное расстояние между двумя объектами одинаковой высоты, на которое может прыгнуть игрок:
В прыжке из присяда: 99 юнитов
В прыжке при ходьбе: 109 юнитов
В прыжке с разбега: 239 юнитов
В прыжке с разбега с присядом: 259 юнитов

5. Панели интерфейса.

Верхняя панель.

Инструменты:
1) Toggle Grid - включение/выключение сетки на трёх видах.
2) Следующая кнопка - включение/выключение сетки на виде 3D.
3,4) Smaller/Lagrer grid - уменьшение/увеличение размера сетки. Чем меньше ячейки сетки, тем более мелкие фрагменты деталей вы сможете делать. VHE автоматом снапит границы детали к сетке.
5,6) Load/Save Window State - кнопки настройки интерфейса, лучше их не трогать.
7) Carve with selected objects ( или Tools->Carve) - инструмент для вырезания одним брашем отверстия в другом. Допустим нам надо вырезать в стене отверстие для ока или двери. Мы создаём (кроме стены) браш нужной формы, вставляем его в стену, выделяем только что созданный нами браш и кликаем Carve. Потом удаляем браш которым делали Carve и на его месте в стене отверстие нужной формы. (В стене вырежаться все места, где с ней соприкасался браш.) При использовании Carve, VHE разделяет объект в котором вырезали на более мелкие объекты (на составные части) и группирует их. Carve нормально работает для создания вырезов квадратной формы, но если вы хотите вырезать отверстие цилиндрической формы, Carve не совсем правильно разбивает на объекты, так что пользоваться Carve надо как можно меньше. Пользуйтесь, но не злоупотребляйте.)
8,9) Group/Ungroup позволять объединять объекты в группы/разбивать сгруппированые объекты. Сгруппированые объекты выбираются кликом, как один объект. К ним можно применять общее свойства и прочее.
10) Toggle Ingrone Groups - игнорировать/неигнорировать группы. (Если включено то будет выбираться каждый объект по отдельности, если нет сгруппированые объекты будут выделяться только вместе.)
11,12,13) Hide selected objects/Hide Unselected Objects/Show All Visible Groups - спрятать все выбраные/невыбраные объекты/показать все объекты.
14,15,16) Cut, Copy, Paste - No Comments
17) Toggle Cordon State - включить/выключить границу. (При включённом кардоне будет компилироваться только та часть карты которая в пределах кардона.)
18) Edit Cordon Bounds - редактировать положение границ.
19) Toggle Select-by-Handles - включить/выключить режим выбора только по центрам фигур (крестик в центре любого браша).
20) Toggle auto-selection - включить выключить авто выбор.
21) Texture Lock - если включено, то текстуры при движении браша будут сдвигаться вместе с ним.
22) Texture Alignment - прикрепить текстуру окончательно. (намертво)
23) Run Map! - компиляция карты.

Правая панель.

Create Prefab - создать полуфабрикат. Браш сохраняется в папке с VHE как готовая фигура. (Файл - библеотека префабов с расширением .ol В комплекте с VHE идёт несколько базовых библеотек префабов.) Вставить префаб из готовых можно выбрав в окошке Categories название группы, библеотеки) префабов и выбрав нужный объект в окошке Objects. Окно Visgroups - нужно для выбора, редактирования, создания, удаления визуальных групп. (групп брашей.)

Нижняя панель.

For Help Press F1 - No comments
Следующие окно - Информация о выбраном объекте
Далее - Положение курсора (Например: @724,234)
Окно правее - размеры выбраного объекта в юнитах (Например: 704w 64| 512h)
Ещё правее - Текущее увеличение (Например: Zoom: 0,16)
Самое правое окно - текущий размер ячейки (в юнитах) на видах (Например: Snap: On Grid: 64).

6. Toggle Texture Application.

При нажатии кнопки Toggle Texture Application появится окно:

Рассмотрим это окно.

1) Scale - Маштаб. (пример : размер объекта 128 по X а размер текстуры 64 по X, в этом случае надо ставить коэффициент 2.00 )
2) Shift - Сдвинуть текстуру
3) Rotation - повернуть текстуру на соответствующий угол
4) Justify - выровнят текстуру по левому краю объекта (
R - по правому
T - по верхнему
B - по нижнему
C - по центру
Fit - Подогнать размер текстуры под размер объекта.)
5) Align - Развернуть текстуру.
6) Texture group - выбрать все текстуры или отдельный WAD.
7) Current texture - текущая текстура.
8) Hide mask - позволяет не выделять красным цветом выделеные объекты.
9) Browse - выбрать текстуру.
10) replace - заменить все текстуры одного вида на другой.
11) Mode - режим.

Первая карта. (CS)

Создайте новую карту. (File->New)
Сделайте в ней несколько связаных комнат, в общем сделайте карту -замкнутое помещение. Пока сделайте только стены, проёмы для дверей и т.д. На стенах в карте должны быть текстуры (просто выберите любую из предложеных текстур и при создании браша он автоматом будет покрыт данной текстурой. Пока не используйте энтити или специальные текстуры, просто создайте карту из брашей, используя вышеописаные инструменты и пр.). Сохраните в предложеной вам папке с расширением .map (не .rmf) .

Теперь преступим к оснывным энтити без которых не может существовать карта. Итак, если мы просто скомпилируем карту в таком виде (она вызовет ошибки), то грубо говоря это будет просто пустая конструкция, где некому будет играть. Значит надо создать стартовые позиции.
1) Создаём точечный объект энтити (энтити тул). выбираем ему место. Это будет точка где будут стартовать CT. Нажмём в подменю (правая кнопка мыши) Create ... Вот у нас на карте есть объект энтити. Переместите этот энтити так чтобы он и не висел в воздухе, и не застревал в текстуре. (Немного выше пола.) Далее кликаем правой кнопкой мыши по энтити -> properties. Выскакивает окно. В Верхней строке выбираем нужный нам энтити. (info_player_start - точка появления CT). (Примечание: таких точек надо будет столько, сколько вы захотите чтобы было CT, например: вы хотите, чтобы на карте могло находится до 6 CT, включая ботов => создаёте 6 точек появления CT, тоже с терорристами.) больше там никаких настроек не меняем, закрываем это окошко. Для создания точки появления Террористов делаем все тоже самое только вместо info_player_start выбераем infp_player_deathmatch.
Без осбой функции (по дефолту) места закупки будут вокруг каждой из стартовых точек, соответствующих команд. С этим разобрались.

Если мы сейчас это скомпилируем, мы ничего не увидем в шаге от нас, так как будет очень темно. Какой же выход? Естественно сделать свет. Теперь я расскажу о свете.

Свет на карте.
Есть 3 вида энтити отвечающих за свет.
1) Light
2) Light_Spot
3) Light_environment

Light_environment - солнце, но я объясню как им пользоваться потом так как солнце не будет работать без неба. Light - основной инструмент света. Просто разместитите под потолком эти энтити, желательно почаще. (Создаём точечный энтити и выбераем в верхней строке Light, параметры менять не надо, разве что можете из параметров подобрать другой цвет.) Энтити Light_spot мы тоже пока не рассматриваем. Собственно первая карта готова, только осталось сохранить её.(Сохраняем...)

Компиляция.
Для компиляции нажмите F9 или кнопку на верхней панели. В выскочившем окне нажмите кнопку Expert и выберите в строке выбора название мода для которого вы делаете карту. (Для CS это Half-Life: Counter-Strike (Full)) Ждём, пока комп всё скомпилирует и запустит игру.

Боты. (CS)

Если вы хотите сыграть с ботами, есть два варианта:

1) Если у вас стандартные боты от Valve то просто нажмите New Game и выберите там свою карту, после чего смело можете вставлять ботов. И подождите пока комп научит ьотов играть на вашей карте :) .
2) Если у вас стоит Pod Bot и другие то вам надо сделать на карте вэй поинты, как они делаются я напишу в отдельной статье.

Ну вот с основами разобрались. Теперь продолжим.
Начнём с обустройства нашей комнаты.

1. Стёкла и разбиваемые предметы.

Я считаю, что дырки в стенах без стекла, не очень реально, да и не красиво. Попробуем это исправить. Для начала при помощи Carve делаем вырез в стене, потом делаем тонкий браш с текстурой стекла (текстуру стекла можно найти в Half-Life.wad). Потом выбираем наше стекло
и нажимаем To Entity.

Далее есть 3 варианта.
Если мы хотим сделать стекло не разбиваемое, то выбираем func_wall.
Настраиваем его так:
Name - поле нужно для использования в триггерах, несколько разных объектов могут иметь одно и тоже имя, тогда они будут вызываться одним событием. Для начала имя нам не надо, поэтому оставляем поле пустым.
Render FX - параметры отображения, это нам пока не надо -оставляем без изменений.
Render Mode - тоже параметры отбражения. Но тут мы меняем параметры на Texture. (Texture - означает, что браш в игре, при параметрах прозрачности будет отображаться с покрытием текстуры, которые мы выберем в VHE. Color - тоже самое, только вместо текстуры браш будет покрыт цветом выбраным в поле FX Color.)
FX Ammount - степень прозрачности. 0 - полностью прозрачный, 255 - полностью непрозрачный. Для начала поставим 100.
Light Flags и Minimum Light Level - не трогаем. Скажу только, что данные параметры отвечают за отображение тени объекта. (Изначально, объекты энтити не отбрасывают тени и пропускают свет насквозь.)

Если мы хотим сделать стекло разбиваемое и пулями и гранатами, то выбираем func_breakable.
Настраиваем его так:
Name - не ставим.
Render FX - также как ив предидущем случае.
FX Mode - аналогично.
FX Ammount - тоже самое.
Light Flags и Minimum Light Level - также не трогаем.
Material Type - материал из которого будет наш разбиваемый браш.
Возможные Варианты:
Glass - стекло (его и выбираем)
Wood - дерево
Metal - метал
Flesh - мясо
Unbreakable Glass - стекло, которое бьётся только от попадания гранат.
Rocks - камни
Cinder Block - каменные блоки
Computer - платы... (электроника)
Strength - количество hp после которых объект разобъётся. Ставим 100. (Стекло будет разбиваться после 3-4 пуль с глока. Если хотите поставьте меньше.)
Target on break - имя объекта который будет срабатывать после того как данный объект сломается. Используется в триггерах. Поле оставим пустым.
Delay before fire - задержка перед тем как сработает триггер. Относится к предидущему пункту. Оставляем 0.
Gib Model - модель осколкавылетающего при разбивании объекта. По дефолту стоит модель соответствующая модели осколка выбраного материала.
Gib Direction - направление осколков. Оставляем по дефолту.
Random - случайное.
Relative to Attack - направленое на атаку.
Explode Magnitude - мощность взрыва при разбивании объекта. Чтобы не было взрыва ставим 0.

Перед тем как закончим с стёклами скажу пару слов о флагах.
Only Trigger - объект будет ломаться только от триггера.
Touch - объект ломается от прикасновения.
Pressure - объект ломается от давления на него, например если на него встанут.

Со стёклами покончено.

2. Небо и Солнце.
Практически нет карт, в которых нет открытых пространств, поэтому передём к небу.

Чтобы сделать небо, делаем браш куб с текстурой Sky из Half-life.wad, таких размеров, чтобы в этот куб могли поместится все конструкции на вашей карте. Выбираем наш куб и выбираем Tools-> Make Hollow (Ctrl+H). В появившемся окне выбираем 16. (Make Hollow делает объект полым изнутри, а число в окошке - толщина стенок в юнитах.) Выбираем коробку и делаем ungroup. Стены нашей коробки можно покрыть другими текстурами. Под "потолком" делаем точечный энтити light_enveronment - солнце. Такого солнца на карте вполне хватит одного. Однако, время компиляции сильно увеличится. Для уменьшения времени делаем следующее. Делаем точно такую же коробку, но не покрытую текстурой sky. Удаляем у второй коробки пол и потолок. Совмещаем обе коробки так чтобы потолок первой коробки (с текстурой sky) был полом второй коробки. Обобщу - копилятор просто не обсчитывает свет в пространстве с обратной стороны "потолка". Как вы наверно видели на разных картах разное небо. Чтобы выбрать ну жное нам небо заходим в папку ...cstrike\gfx\env\ там смотрим какое небо нам нравится. Если выбрали смотрим его название всё, кроме последних 2 букв. Потом в VHE жмём map->map properties и в поле environment map (cl_skyname) вводим название выбраного нами неба, и.. вуаля небо готово.

3. Лестницы.

Лестницы нужны, безусловно.
Делаются они просто.

Рассмотрим 2 случая.

1. Если нужна лестница которая стоит вплотную к стене.
Делаем тонкий браш около стены с текстурой лестницы. Текстуры есть в Half-Life.wad с названиями ladder и т.п. Наверно вы обратили внимание на то, что в текстуре лестницы есть места синего цвета - это места которые мы впослествии сделаем прозрачными. Кстати приём который я опишу подходит для любых текстур с прозрачными местами. Вернёмся к нашему брашу. Ставим func_illusionary. Render Mode - Solid. FX Ammount - 255. (Вот он наш замечательный способ.) Однако, если мы так всё и оставим, то по нашел лестнице не только лазать нельзя будет, но через неё можно будет ходить... Непорядок. Делаем вплотную к брашу с текстурой лестницы ставим браш с текстурой AAATRIGGER. Браш должен немного выстпать из видимой лестницы. Теперь о текстуре AATRIGGER - текстура особая, она реагирует на движение игрока в пределах в пределах браша с данной текстурой. При этом AAATRIGGER делает браш не видимым и нематериальным. Так вот у браша с текстурой ааатриггер делаем func_ladder. Если хотити чтобы сбоку за лестницу нельзя было зацепится, то надо сделать ещё пару обычных брашей побокам лестницы.
2. Если лестница нужна двухсторонняя.
Делаем всё также как с односторонней, но браши c func_ladder делаем с обоих сторон.

4. Двери, ну без дверей никуда, имхо "дырки в стенах" без дверей смотрятся плохо.

Есть 2 типа дверей.

1. Двери отъезжающие.

Делаются просто. Во-первых вырезаем отверстие. Делаем тонкий браш дверь. Текстуру можно найти любую. Делаем эту дверь func_door.
Настраиваем.
Новые параметры.
Speed - скорость отъезжания двери.
Move/Stop sound - звуки при отъезжании/остановке двери.
Target - имя объекта цели (для триггера)
Damage inflicted when Blocked - урон игроку если он помешает открытию/закрытию двери.
Locked/Unlocked Sound - звук запертой/открытой двери
Locked/Unlocked Sentence - сообщение при запертой/открытой двери
Delay before close - время которое дверь стоит перед тем как закрытся. (-1 остаётся стоять открытой. Не используется, если стоит флаг Toggle)
Kill Target - имя объекта который будет уничтожен после открытися двери.
Флаги.
Starts Open - дверь вначале раунда открыта.
Passable - дверь будет нематериальной.
Toggle - дверь при открытии будет оставаться открытой, пока её не закроют.
Use Only - дверь открывается только от юса.

Да ещё, дверь будет отъезжать в торону указаную указателем angle. Кроме градусов, можно выбрать вверх, вниз.

Двери вращающиеся.

Тут сложнее.. Однако приступим. Чтобы дверь вращалась ей нужна ось вращения. Ось вращения в игре делается брашем с текстурой origin из half-Life.wad то есть ось вращения будет проходить через центр браша c текстурой origin. Притом браш с текстурой origin в игре не виден. Делаем
с той стороны где будут "петли" двери делаем в цетре кубик браш с текстурой origin. Потом выбираем браш дверь ВМЕСТЕ с кубиком и делаем из них func_door_rotating.
Новые свойства:
Distance (deg) - угол на который будет открываться дверь
Флаги.
Reverse Dir - при открытии двери дверь будет открываться в сторону с которой её открывают.
One-Way - дверь открывается только с одной стороны.
X Axis, Y Axis - дверь будет вращатся по оси X или соответственно Y.

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

5. Вода.

Во-первых чтобы сделать воду - нужен "сосуд" куда её можно "налить". Делаем углубление. Внутри делаем браш с текстурой воды (начинается на !). Браш отправляем To Entity. func_water.
Опции:
Wave Height - высота волн, на поверхности.
Content - просто вода либо лава либо кислота.

Обратите внимание на схожие опции func_water и func_door - двидение воде затем, чтобы имитировать её поднятие и опускание.
Незабудьте сделать воду полу-прозрачной.

6. Звук.

Звук, достаточно важная вещь на карте. Звук на карте воспроизводится точечным объектом ambient_generic.
Опции:
Path/filename.wav of WAV - звуковой файл (вместе с путём), который будет воспроизведён.
Volume (10 = loudest) - громкость по 10 балльной шкале. (10 самое громкое)
Start Volume - громкость звука когда он только начинает звучать.
Fade in/out time - введения/затухания звука от начальной громкости к конечной. (в секундах)
Флаги:
Play Everywhere - слышно везде на карте.
Small/Medium/Large Radius - радиус звучания.
Start Silent - звук надо активировать
Is Not Looped - если установлен, то звук при активации будет воспроизводится только 1 раз.

Также звук можно воспроизвести энтити env_sound.
Опции:
Radius - радиус звучания
Room Type - тип комнаты, тут советую, поэксперементировать.

7. Объекты которые можно двигать.

Наверняка все играли в cs_mansion и знают что стул (у терроров на 2 этаже) можно двигать. Объясню как сделать такой же, или нечто подобное. Ну рассмотрим на примере ящика, кубической формы. Для того чтобы ящик можно было двигать, надо сделать этот ящик func_pushable.
Рассмотрим новые опции.
Hull Size - размер объекта.
Возможные значения:
Player Duck - ящик будет иметь размер пресевшего игрока
Player Size - ящик будет иметь размер игрока
Big Size - ящик будет иметь большой размер
Point Size - ящик будет иметь размер браша. Собственно это нам и надо, так как ящик будет такого размера как мы его сделали в VHE.
Friction - трение, чем больше, тем сложнее его двигать.
Buoyancy - плавучесть.
Флаги.
Breakable - если установлен, то наш объект будет ещё и ломаться, для настройки есть такие же поля как и func_breakable.

8. Кнопки.

Кнопки широко используются в игре, так как нужны для открывания дверей и прочих действий.
Рассмотрим новые опции.
Targetted object - имя объекта который активируется, после нажатия этой кнопки.
Health (shootable if > 0) - количество hp. Если количество меньше или равно 0, то кнопку можно активировать только дотронувшись либо нажав её. Если Hp >0 то, в кнопку можно стрелять, при превышении значения hp кнопка нажмётся.
Флаги.
Don`t move - если указан, то кнопка при нажатии будет оставаться на месте, иначе конпка будет вдавливатся в направлении указаном в свойстве angle.
Toggle - если выбрано то при однократном нажатии на кнопку в игре она останется нажатой, пока её не нажмут снова.
Sparks - если выбрано то в игре из кнопки будут сыпаться искры.
Touch Activates - кнопка в игре будет активироваться от прикасновения к ней.

9. Места закупки.

По дефолту места закупки располагаются вокруг мест появления, но если использован объект с функцией func_buyzone то места закупки будут ТОЛЬКО в тех местах, где использована эта функция. Единственная опция - team - выбрать команду которая может здесь закупатся.

10. Возможность ставить бомбу, и заложники.

Если использован точечный энтити с функцией info_bomb_target -террористам автоматом будет даваться бомба, которую они смогут ставить в месте указаным этим объектом. Таких мест может быть как одно, так и несколько.

Если на карте есть точечный энтити hostage_entity - то на месте этого энтити в игре будет стоять залог. По дефолту заложники спасаются когда попадают на базу CT, однако если использован энтити info_hostage_rescue - то заложники будут спасаться в ТОЛЬКО в месте этого энтити.

11. Типы Карт.

Есть три основных типа карт.

1. CS
Карты где надо спасать золожников.
2. DE
Карты на минирование объектов.
3. ES
Карты где покупать что-либо могут только CT а T должны сбежать.

Также есть ещё один тип карт, на мой взгляд его популярность сейчас растёт. Это карты типа FY (например fy_pool_day, fy_pool_party,fy_stroyka). В этом типе карт никто не может закупаться, но в пределах уровня разбросано огромное кол-во оружия которое можно подбирать.

Ещё есть карты так называемые гибриды, где в одной карте несколько целей, например можно и заминировать и спасать заложников. Такие карты называются например CS/De ***.

12. Оружие на карте.

Оружие на карте можно сделать точечным энтити armoury_entity. Там есть только 2 параметра item - вид оружия, count - количество.

Также есть ещё один объект, который позволяет одновременно держать в руках несколько основных оружий, но об этом объекте в 3 части стаьи.

13. Параметры карты.

Параметры карты настраиваются энтити info_map_parameters. Есть 2 опции.
Weapon_buying - какие команды могут покупать оружие.
Bomb Radius - радиус взрыва бомбы.

14. Место спасения террористов.
Место спасения террористов - определяется func_escapezone.

Продолжу статью.

Продолжим с объектами энтити.

1.Лифты.

В игре есть два вида ливтов, обчные, которые представляют из себя простую платформу, ездящую вевврх-вниз, а второй тип лифты которые ещё и вращаются на определённый угол. Рассмотрим обе.
A. Лифт обычный.
Делается при помощи брашей, лифт надо создать в верхней позиции. Потом вся конструкция выделяестя и отправляется To Entity, - func_plat где в статах делаем такие настройки:
Name - имя для активации. Напомню если вы будете менять параметры отображения, то они будут применены ко всей конструкции лифта, а не к отдельным его частям. Если хотите сделать окошки то надо сделать отдельные прозрачные части отдельным лифтом, который будет активироваться вместе с первым лифтом. В итоге это должно выглядеть как один лифт.
Travel attitude - длина в юнитах на которую платформа опустится вниз. (Если число меньше 0 то платформа появится выше на указаное кол-во юнитов, но платформа в любом случае будет двигаться вверх.)
Флаги:
Toggle - если включено, то лифт будет по активации ездить вверх/вниз, если не включено то лифт будет двигаться только вверх.
Б.Лифт вращающийся.
Для данного лифта, как и для всех вращающихся объектов, надо предусмотреть ось вращения.
Spin Ammount - угол на который повернётся платформа, можно ставит и более 360 градусов.
Speed of Rotation - скорость вращения.
Флаги:
X Axis, Y Axis - вращение по оси X или Y.

Также лифт можно сделать объектом func_door.


2. Гром и молния на карте

Ну вот.. перейдём к созданию погодных условий... Прежде всего скажу, что если вы хотите создать реалистичную карту то надо подумать а нужны ли молнии на карте вообще? - если все таки нужны, то приступим. Сначала надо подготовить небо. Я слабо представляю себе грозу при абсолютно ясном небе - поэтому настоятельно рекомендую выбрать какое-нибудь пасмурное небо. После этого, необходимо подобрать цвет "солнца". Объекту Light_environment можно настроить цвет. Цвет надо выбрать пасмурный - какой-нибудь серого оттенка. Хорошо подходит следующие значения параметра Brightness = 128 128 128 50. Когда подготовлено небо и "солнце", пора приступать к собственно молнии и грому. Для начала надо выбрать одно или несколько мест куда будут бить молнии. Над каждым из них, делаем точечный объект env_laser, желательно поместить этот объект немного cтороне, чтобы молния била немного под углом. Теперь настраиваем объект env_laser:

Name = Lng1 (для каждой молнии разные имена)
Target of laser = tg1 (объект служащий целью объекта env_laser)
Brightness (1-255) = 255 ставим максимальную яркость
Beam color = 255 255 255 - цвет нашей молнии, в данном случае белый
Width of beam = 80 - ширина луча 8 пикселей
Amount of noise = 100 - степень искривления луча, делаем чтобы было похоже на молнию, 0 - нет искривления.
Sprite name = sprites/lgtning.spr спрайт для молнии.
Texture Scroll Rate = 1 - скорость сдвига текстуры спрайта.
Damage / second = 10000 - повреждения максимальные, при попадании – падает замертво.

Также установите флаг End Sparks для имитации искр при ударе молнии.

Теперь для каждой молнии уставновите объекты в которые эти молнии будут бить. Для этого используется объект info_target которому мы присваиваем имя - tg1. (Опять же для каждой молнии своё имя, совпадающее с именем в поле Target of laser).

Кроме самой молнии, надо сделать вспышку света. Для этого, рядом с местом, куда ударяет молния, на некоторой высоте от земли, разместите объект light, с именем flash и яркостью 255 255 255 10000 (очень яркий). Установите флаг Initially dark, чтобы при запуске карты свет был выключен. Мы будем включать его на мгновение одновременно с лучом молнии.

Теперь гром - гром делается объектом ambient_generic - параметры устанавливаем такие:

Name = tdr1
Path/filename.WAV = ambience/thunder_clap.wav - файл со звуком грома
Volume = 10 - максимальная громкость
Start volume = 10 начинать с максимальной громкостью.

Также установите следующие флаги:

Play everywhere – слышно на всей карте
Start silent – при загрузке карты, не проигрывать
Is NOT Looped – без повторов

Чтобы объединить все вышеописаное в одно событие, используйте объект multi_manager. Разместите где-нибудь рядом и настройте соответствующие свойства:

Name = tdr1 - имя совпадает с именем объекта-звука грома, запустятся одновременно после активации. Таким образом, multi_manager отвечает только за молнию и вспышку. В окне Object Properties для multi_manager отключите режим SmartEdit и добавьте следующие параметры для этого используйте кнопку Add, Key – имя параметра (имя объекта для активации), Value – значение параметра (задержка в секундах перед активацией объекта):

Lng1 = 0 (включить молнию сразу же)
Lng1 = 0.5 (выключить ее через полсекунды)
Flash = 0 (включить вспышку света)
Flash = 0.4 (выключить ее через почти полсекунды)

При добавлении нескольких объектов с одним именем, VHE будет добавлять #1, #2 и т.д. к имени объекта.

Для активации всего вышеописаного создаём trigger_multiple в том месте, проходя по которому вы хотите увидеть молнию. Установите параметры Target = tdr1 (активировать объекты с именем tdr1, в нашем случае – гром и молнию) и Wait before reset = 60 (отключать триггер на 1 минуту, чтобы молния была не постоянной).

3. Дождь

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

На карте создайте для каждого потока капель следующие объекты:

1) объект env_beam
2) два объекта info_target, один место начала падения капель, второй его конца. Имена соответствующие - start1 и end1.

Объект env_beam настроить надо так:

Start Entity - имена объектов начальной точки падения дождя на start1
Ending Entity - имена объектов конечной точки падения дождя на end1
Life - должен быть равен 0.
Width of beam - где-то от 16 до 32 - это будет длинна капли.
Sprite Name - введите sprites/rain.spr. (Или другую модель в соответствии с тем, что вы хотите сделать.)
Beam Color - значение может быть любым, но лучше ставить 255 255 255 т.е. белый.
Texture scroll - определяет скорость падения капель. Установите этот парметр на -20 (Вы можете увеличить скорость падения или уменьшить изменяя цифру, но она в любом случае должна быть отрицательной).
На вкладке Flags включите Start On и Shade Start.

Также для эффектности можно добавить лужи, объектом func_water а ещё можно сделать звук... (waterfall3.wav)

[style = online]4. Водопады.[/style]

Ну раз уж заговорили о воде то скажу кое-что о водопадах.

Берем и делаем браш, который и будет нашим водопадом. Покрываем его текстурой +1LASERFALL , находится она в Half-life.wad Теперь отсылаем его to_entity - func_illusionary и ставим:

Render mode - texture
FX Amount - 180
Contents - Empty

Ок, водопад готов. Теперь приблизим его к реальности:

1) Где-нибудь рядом с ним ставим ambient_generic и дальше в properties:

Имя файла - ambience/waterfall2.wav,
В Флагах ставим medium radius.

2) Под водопадом ставим env_sprite

Render mode - Additive
FX Amount - 180
Framerate - 10.0
Sprite name - sprites/wsplash3.spr
Scale - 1

Таких объектов надо сделать несколько по всей ширине водопада, чтобы получились брызги.

5. Лучи света.

Если вы захотите сделать лучи света, напимер они падают из фонаря, то сделать их просто... сейчас объясню. Сначала надо сделать объект из которого будет падать свет - в нашем случае фонарь. Затем мы создаём сам луч. Сделайте браш - параллелепипед, у которго все боковые стороны - трапеции. Хотя при желании можно сделать любой другой формы. Затем раскрашиваем браш. Лучше всего подойдёт текстура fade2. Нижнюю сторону закрашиваем текстурой black.
А теперь делаем toEntity :
func_illusionary
Render FX - Normal
Render Mode - Additive
FX Amount (1 - 255) - 25

Вот фонарь и готов... Если надо то можно добавить имя, чтобы можно было активировать триггером.

Ссылки на утилиты упомянутые в статье и прочие утилиты.

Все ссылки прямые...
1)
Valve Hammer Editor (2.04 MБ)
2) Wally (1.10 MБ)
3) Texture Extractor (30КБ) - программа для извлечения текстур из bsp файлов.
4) WinBsp (100КБ)

Просмотров: 1617 | Добавил: MOD | Дата: 14.02.2012
Комментарии
0  
MOD   Сообщение #1 (14.02.2012 18:25)[Материал]
biggrin biggrin biggrin biggrin biggrin

Всего комментариев: 1
Форма входа
Server
Плагины КС 1.6
Наш опрос
Всего ответов: 654
Как Вы узнали о сервере ?

Feed
Cloud tags
Реклама
Статистика
Copyright © 2010 | Сделать бесплатный сайт с uCoz