Что же, вот и наступило время, когда, с нашей помощью, вы создадите свой первый уровень для Counter-Strike.
Мы верим, что, благодаря предыдущим материалам Учебника, вы уже умеете
делать обычные браши, вставлять точечные (point-based) энтити-объекты,
умеете раскрашивать текстурами объекты и в курсе того, как компилировать
карту (хотелось бы, чтобы вы знали о кокмпиляции BAT-файлом). Вдобавок
вам необходимо знание следующих точечных энтити-объектов:
Загрузите Hammer и создайте новую карту
[Ctrl-N]. Выберем инструмент для работы с текстурами (разноцветный кубик). На появившейся панели
Face Properties нажмём кнопку
Browse. Внизу, в поле
Filter
наберите следующее: FIFTIES_WALL12 (так мы выбрали текстуру для стен
будущей комнаты). Если у вас подключен к редактору Hammer halflife.wad,
то такая текстура найдется, если нет — подключите halflife.wad (он лежит
в папке valve с HL). Выберем самую первую текстуру.
Закроем окно с выбором текстур. Установите вид сверху (2D top), выберите инструмен Блок
[Shift-B]
и постройте квадрат с размерами 384х384 юнита (размер контролируется в
строке состояния, внизу окна редактора). Теперь переключимся на вид
спереди (2D front) и удлиним прямоугольник также до 384 юнитов. И
завершим создание объекта нажатием на клавишу Enter.
Выберите только что созданный объект и нажмите
[Ctrl-H]. Сейчас
мы применим функцию Hollow, рассмотренную в прошлом материале. В
появившемся окне выставьте значение 32 (юнита) и нажмите «OK».
Стало быть, у нас есть комната с размерами 384х384х384 юнита и толщиной стенок 32 юнита (смотрите картинку ниже).
Теперь можно посмотреть на уровень в трёхмерном виде 3D textured,
залететь внутрь комнаты. Для перемещения в 3D-виде один раз нажмите Z и
пользуйтесь кнопками W, A, S, D и мышью. В результате проделанных
операций наша комната в 3D-виде должна выглядеть примерно так (смотрите
картинку ниже):
ВАЖНО! Не нужно применять функцию Hollow к каждому объекту в
уровне! Мы так поступили, чтобы быстро создать комнату, внутри которой
можно побегать. Представьте, что браш — это простая строительная плита.
Так зачем же каждую плиту превращать в комнату? Зачем в комнаты
превращать стены и пол уровня?! :-) Кстати, точно такую же комнату можно
было получить, создав шесть стен (блоков, брашей) по одиночке.
Теперь вставим три энтити-объекта, о знании которых мы предупреждали в
начале этого материала. Первым давайте создадим простой источник света
(лампочку), то есть объект
light. Выберем инструмент Entity Tool
[Shift-E], затем на панели
New Objects в списке выберите объект light (смотрите картинку ниже).
Поставим вид сверху (2D top), подведите курсор к центру комнаты и нажмите левую кнопку мыши (смотрите картинку ниже).
Переключитесь на вид спереди (2D front) и поместите энтити light под
потолок (смотрите картинку ниже). Завершим создание лампочки, нажатием
кнопки Enter.
Что же, одну лампочку мы сделали. Теперь у нас в уровне (в комнате)
будет светло. Теперь остается создать точки появления контр-террористов и
террористов. Как вы уже знаете этими точками являются объекты
info_player_deathmatch (террорист) и info_player_start
(контр-террорист). Один объект — одна точка рождения. Чтобы в уровне
могли играть несколько игроков, нужно ставить несколько точек для
контров и для террористов. Максимально по 16 шт. Всего 32 объекта
максимум.
Подобным образом, как и в случае с лампочкой, выберем в списке
info_player_deathmatch и установите, как показано на картинке ниже.
ЗАМЕТЬТЕ! Точечные энтити info_player_start и info_player_deathmatch
не должны касаться стен (смотрите картинку ниже, вид top), друг друга и
быть приподняты на 16-32 юнита над землей (смотрите картинку ниже, вид
front). Это необходимо сделать, чтобы игроки не умирали в начале раунда,
соприкоснувшись друг с другом и могли бы свободно двигаться, а не быть
вмонтированными в стену или землю.
Что же, 1 точку появления террориста мы уже создали. Теперь подобным
же образом создайте 1 точку рождения контр-террориста. Выберите в списке
энтитей — объект info_player_start и вставьте его так же, только в
противоположный угол комнаты.
Всё! Первый абсолютно рабочий уровень создан! Конечно карту ещё нужно
откомпилировать. Теперь сохраним уровень под названием my1map (или любым
другим) в формате RMF и затем в формате MAP, чтобы можно было
откомпилировать.
Чтобы откомпилировать карту нужно создать BAT-файл, как вы уже должно
быть знаете, он состоит из простого текста. Скопируем приведенные ниже
строки в Блокнот и сохраним файл как
COMPILE.BAT.
@echo off
set WADROOT=c:\games\half-life
set mapname=my1map.map
hlcsg.exe "%mapname%"
hlbsp.exe "%mapname%"
hlvis.exe "%mapname%"
hlrad.exe "%mapname%"
Поместим
COMPILE.BAT в одну папку с компиляторами ZHLT, туда же
перенесём уровень в формате *.MAP и запустим BAT-файл. Через несколько
секунд в данной папке будет свежеиспечённая :-) готовая BSP-карта.
Замечание: если имя карты не
my1map, то измените его в строке
set mapname=my1map.map, а также измените путь к папке с HL, если он отличен.
И последнее, сохраните ваш первый уровень на память. Позже, эдак годик
спустя, посмотрите на неё. Улыбка не сойдёт с вашего лица! :-)