Rambler's Top100

AVANTURE

Объявление

Сайт доступен по адресу
http://avanture.org.ua
http://forum.avanture.org.ua
Приглашаем всех кто решил остаться с нами на "АВАНТЮРУ"

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » AVANTURE » S.T.A.L.K.E.R. Clear Sky » СОЗДАНИЕ КАРТ На основе стандартных объектов в редакторе


СОЗДАНИЕ КАРТ На основе стандартных объектов в редакторе

Сообщений 1 страница 3 из 3

1

Статья взята из компьютерно-игрового журнала "Игромания" 

Подготовка к моделированию

Установив бета-версию MP-SDK, мы первым делом заглянули в главный каталог и обнаружили там редактор карт (главная программа из набора), компилятор уровней, редактор персонажей и частиц и небольшой официальный файл справки (HTML-документ).

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

Запустите редактор карт (LevelEditor.exe). Перед вами появятся две инструментальные панели, на них вынесены компоненты для переключения между режимами отображения объектов. А также кнопки для работы с объектами, строка состояния (занимает нижнюю часть приложения) и окно 3D-вида, под которое отведена большая часть программы.

Главное меню, содержащее основные команды для открытия, сохранения, импорта файлов, располагается не в самом верху (как во многих других редакторах), а на панели справа. Насколько мы поняли, сделано это было умышленно, чтобы увеличить главное окно. При необходимости вы можете свернуть панель справа, кликнув по кнопке с изображением черной стрелочки в самом верху панельки. При этом окно перспективы заметно растянется и займет всю рабочую область редактора. Еще одна особенность — наличие технической информации в левом верхнем углу окна перспективы (FPS, общее число источников освещения, игровое время).

С устройством редактора разобрались. Давайте посмотрим, как обстоят дела с навигацией в окне 3D-вида. Для изменения положения камеры в горизонтальном/вертикальном направлении достаточно зажать клавишу Shift на клавиатуре и передвинуть мышь с зажатой левой/правой кнопкой. Чтобы изменить угол наклона камеры, зажмите клавишу Shift и переместите мышь на новое место с зажатыми левой и правой кнопкой. Управление очень напоминает навигацию в графическом пакете Maya, так что если вы знакомы с этим моделлером, то без труда разберетесь и с редактором «Сталкера».

Создавать карты не очень удобно. Сначала необходимо смоделировать игровой уровень в Maya 8.5, затем — экспортировать текстуры и модели в формат, понятный движку «Сталкера» (специальные экспортеры для Maya включены в SDK), подгрузить все объекты (ландшафт и элементы окружения) в редактор, собрать на основе всего этого полноценную локацию, добавить на карту монстров, NPC и скомпилировать уровень. Схема, мягко говоря, непростая, особенно для тех, кто никогда в жизни не занимался 3D-моделированием.

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

Работа с объектами

Научимся добавлять на карту различные элементы. Активируйте режим работы с объектами на панели в правой части редактора. Для этого в поле Edit Mode кликните по кнопке Object. Затем в поле Commands щелкните по кнопке Multiple Append для вызова библиотеки 3D-моделей. В появившемся окне Select Library Object раскройте каталог levels\mp_atp_test и поставьте флажки напротив элементов mp_atp_buildings (набор зданий в виде одной тестовой модели), mp_atp_terrain (тестовый ландшафт местности) и щелкните по кнопке Ok. Вы увидите, что выбранные из библиотеки объекты появятся на карте.

Прежде чем двигаться дальше, выберите пункт меню File\Save на панели в правой части редактора и сохраните уровень: приложение имеет нехорошую привычку выпадать в Windows, особенно если у вас установлена Vista, с XP проблем меньше.

Описанный выше метод добавления объектов отлично работает, если речь идет об импорте на уровень большого числа элементов, и совершенно не годится для поштучного добавления элементов. Чтобы поместить на уровень одну модель, достаточно активировать режим работы с объектами (Edit Mode\Objects), щелкнуть по кнопке Add (добавить) на панели инструментов (четвертая от начала) в верхней части редактора, выбрать из списка Objects на панели в правой части приложения нужный элемент и щелкнуть левой кнопкой мышки по любому месту на карте.

Чтобы переместить объект, необходимо кликнуть по нему левой кнопкой мышки (для выделения) и задействовать режим перемещения элементов Move (5-й инструмент на панели в верхней части редактора). Далее для передвижения элемента в направлении одной из координатных осей — X, Y или Z — нужно кликнуть по кнопке с изображением соответствующей оси на панели инструментов (располагаются сверху) и передвинуть мышь с зажатой левой кнопкой. Обратите внимание, система координат в редакторе отличается от стандартной. При перемещении объекта по оси Z вы будете передвигать элемент по X, двигая его по оси Y — смещать модель вверх (Z), наконец, передвигая конструкцию по X, вы на самом деле сдвинете модельку по оси Y. Поначалу это кажется жутко неудобным, но привыкаешь буквально за 10-15 минут.

Поворот объектов осуществляется аналогичным образом, единственное отличие состоит в том, что вместо инструмента Move придется активировать модификатор Rotate (6-й от начала). Если вам нужно удалить какой-либо элемент со сцены, выделите его и нажмите клавишу Delete.

Чтобы создать точную копию элемента, снова выделите объект, поместите его в буфер обмена с помощью комбинации клавиш Ctrl+C, а затем подгрузите клон на карту (Crtl+V).

В редактор встроена возможность масштабировать любые объекты. Да здравствуют деревья 10-метровой высоты, гигантские кустики и крохотные постройки (надеемся, что в финальной версии SDK нам и монстров разрешат масштабировать, вот тогда по-настоящему повеселимся). Чтобы изменить габариты моделей, активируйте инструмент Uniform Scale на панели в верхней части редактора (7-й от начала), выберите ось, относительно которой собираетесь растянуть объект (кнопки X, Y и Z), и переместите мышь с зажатой левой кнопкой.

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

Да будет свет

Любая карта для «Сталкера» должна содержать источники света и специальные объекты свечения. Если их не будет, то карту не удастся скомпилировать и опробовать в игре — редактор просто выдаст ошибку при компиляции. Чтобы поместить на уровень объект свечения, щелкните по кнопке Glow в поле Edit Mode для активации соответствующего режима работы, кликните по кнопке Add на панели инструментов (четвертая по счету) в верхней части редактора и щелкните левой кнопкой мышки по карте.

Вы увидите, что на карте появился какой-то непонятный плоский объект белого цвета. Это и есть элемент свечения. Чтобы компилятор уровней корректно его воспринял, необходимо покрыть его текстурой. Выделите созданный компонент на карте, щелкните по нему правой кнопкой мышки и в контекстном меню выберите пункт Properties. В появившемся окне свойств элемента отыщите параметр Texture и щелкните по кнопке с изображением многоточия. В окне браузера текстур выберите любое изображение, например glow\glow_anamorphic, нажмите Ok и закройте окно инспектора свойств объекта. Активируйте режим работы с источниками освещения — Light в поле Edit Mode и поместите на карту два-три источника освещения (так же, как добавляли одиночные элементы).

Компиляция и тестирование

Чтобы завершить создание новой карты, нужно поместить на уровень стартовые позиции для игроков. Достаточно кликнуть по кнопке Spawn Elements в поле Edit Mode на панели в правой части редактора, выбрать из списка Spawns стартовую позицию нужного типа (в нашем случае это элемент типа $rpoint), нажать клавишу A на клавиатуре для активации режима размещения объектов и кликнуть по произвольному месту на карте. Перемещение и поворот стартовых позиций производится так же, как и с простыми статическими объектами.

Ландшафт местности сформирован, декорации установлены, источники освещения, а также стартовые позиции добавлены. Самое время скомпилировать уровень и опробовать его в игре.

На панели справа в поле Scene выберите пункт меню Scene\Options. В появившемся окне свойств найдите атрибут Level Path и впишите в поле название уровня, которое вы задали карте при сохранении. После этого кликните по кнопке Draft напротив комментария Quality. Закройте окно свойств
и на панели в правой части приложения кликните по кнопке Compile\Build.

Подготовительный этап закончен, осталось скомпилировать полученные файлы карты в формат, понятный игре. Выберите пункт меню Пуск\Выполнить и в окне пропишите команду [Path] [level_name]. Здесь [Path] — полный путь к компилятору xrLC.bat, который находится в директории \level_editor установленного SDK, например: E:\X-Ray SDK\level_editor\xrLC.bat. [level_name] — название компилируемого уровня.

При работе с длинными путями используйте командную строку (активируется командой cmd в окне Выполнить).

Последний шаг — импорт скомпилированного уровня в игру. Зайдите в корневой каталог «Сталкера» и создайте в нем папку \Gamedata. После этого скопируйте файл level_editor\gamedata\config\mp\map_list.ltx, располагающийся в директории с SDK, в каталог gamedata\config\mp установленной игры. Скопируйте папку с названием вашего уровня из директории level_editor\gamedata\levels SDK в папку gamedata\levels «Сталкера», файл user_floor_dirty_gr.dds из каталога level_editor\gamedata\textures\user — с SDK в папку gamedata\textures\user с установленной игрой, а textures.ltx из evel_editor\gamedata\textures\textures.ltx — в игровую папку gamedata\config\mp. Наконец, проследуйте в каталог gamedata\config\mp установленной игры, откройте «Блокнотом» файл map_list.ltx и добавьте в конец блока [deathmatch] название вашей карты без расширения:

[deathmatch]

;fog_net

testers_mp_pool

mp_igroprom

Где mp_igroprom — название мультиплеерной карты.

СОЗДАНИЯ КАРТ С НУЛЯ С ИСПОЛЬЗОВАНИЕМ 3DSMax

Чтобы сделать новый уровень для «Сталкера» при помощи 3DS Max, нам понадобится специальный плагин S.T.A.L.K.E.R. 3DS Max Exporter (Plugin for 3D Studio Max 1.1), он служит для экспорта геометрии в формат игры. Чтобы установить его, скопируйте все содержимое папки \plugin из директории с распакованным экспортером в корневой каталог установленного 3DS Max (плагин работает с 3DS Max 6, 7 и 8).

Конвертер установлен и, казалось бы, готов к работе. Однако если вы попытаетесь запустить «Макс», то при загрузке увидите два сообщения об ошибках: невозможно загрузить плагин и специальный X-Ray шейдер. Чтобы заставить работать установленные инструменты, необходимо проделать следующие действия.

Скопируйте файл xray_path.ltx из директории \scripts_plugins с инструментарием X-Ray SDK в корневой каталог установленного 3DS Max. Затем снова загляните в папку \scripts_plugins официального SDK и запустите исполняемый файл createDiskX.bat для создания виртуального диска X: (это ссылка на локальную директорию \level_editor установленного инструментария). Он необходим для корректной работы плагина 3DS Max Exporter, а также ряда утилит, входящих в состав SDK, — например, компилятора уровней.

Теперь нам необходимо создать виртуальный диск T, ссылающийся на директорию \level_editor\gamedata\textures установленного SDK (для работы с игровыми текстурами). Но вот незадача — разработчики не вложили в комплект с инструментарием bat-файл для автоматического создания виртуального диска. Как найти выход из такой ситуации? Написать письмо в службу технической поддержки GSC? Попросить помощи у матерых модмейкеров? Не стоит, написать сценарий для автоматической генерации диска T не так уж сложно.

Зайдите в директорию \scripts_plugins, кликните правой кнопкой мышки по файлу createDiskX.bat и в контекстном меню выберите пункт Изменить. Перед вами появится окно «Блокнота», в которое будет подгружено тело файла createDiskX.bat — это сценарий для создания виртуального диска. Отыщите по тексту литеру X и замените ее заглавной буквой T (в первой и второй строках). Во второй строке после словосочетания level_editor добавьте текст \gamedata\textures, например:

C:\WINDOWS\system32\subst.exe» X: «E:\Games\GSC World Publishing\X-Ray SDK\level_editor

После этого сохраните файл на жестком диске под любым названием — скажем, generate_virt_cd_T с расширением .bat. Запустите его, зайдите в папку Мой компьютер и убедитесь, что в поле Жесткие диски появилось два новых элемента — HDD (X): и HDD (T):.

Сформированные нами виртуальные диски X: и T: будут автоматически уничтожены по факту выключения/перезагрузки компьютера. А это означает, что для работы с плагинами и некоторыми инструментами SDK после выключения/перезагрузки вам придется снова запустить приложения для создания виртуальников.

Требования к моделям

Подготовительный этап завершен. Можно приступать к моделированию уровня в 3DS Max. В настоящей статье мы не будем затрагивать тему создания трехмерных объектов в «Максе» (об этом в «Игрострое» уже было множество статей), а поговорим лишь об основных требованиях, предъявляемых 3D-объектам движком X-Ray.

1. Размеры моделей, созданных в «Максе», должны соответствовать реальным размерам объекта. Скажем, если здание в реальной жизни имеет габариты 60x12x8 метров (измерения по длине, ширине и высоте соответственно), то и в 3DS Max нужно создавать его по этим же самым размерам (именно в метрах, а не сантиметрах, миллиметрах или дюймах). Многие моделлеры при создании объектов для игр предпочитают ориентироваться исключительно на размеры каких-либо персонажей, техники, декораций. На этот случай девелоперы из GSC Game World привели габариты так называемой «ограничивающей коробки» или bounding box, в которую можно вписать главного героя «Сталкера». Bounding Box для персонажа в полный рост имеет следующие габариты — 1.8х0.7х0.7 метров; для присевшего героя — 1.5х0.7х0.7 метров; и для сидячего — 1.2х0.7х0.7 метров.

2. При создании объектов окружения необходимо использовать как можно меньше полигонов. Движок X-Ray не способен переварить уровни, составленные из более чем 150 тыс. треугольников. Это значит, что если вы, например, сформировали ландшафт из 140 полигонов, то на всяческие элементы декора у вас останется всего 10 тыс., а этого недостаточно. Превысите лимит — уровень вылетит с ошибкой.

3. Любая сцена должна состоять из так называемых геометрических групп, название каждой из которых формируется по принципу: mp_LevelName_geometry, где mp — префикс, указывающий на то, что мы разрабатываем мультиплеерную карту, LevelName — название уровня (пишется слитно, например IgromaniaLevelBig), geometry — наименование геометрии (ландшафт, здания, растительность). Пример — mp_igromania_terrain. Обратите внимание, названия элементов группы ни в коем случае не должны совпадать с именем самой группы.

4. Для каждого объекта должен быть создан шейп (shape — форма) по принципу: объект — имя_объекта, шейп — имя_объектаShape. То есть если объект у вас называется Igromania_Magazine, то шейп для него будет называться Igromania_MagazineShape.

5. В качестве заготовок для объектов нужно использовать только материалы типа XRayMtl. Напомним, что для смены типа материала необходимо вызвать окно Material Editor (клавиша M на клавиатуре), кликнуть по кнопке Standard и в окне Material/Map Browser выбрать нужный материал, в нашем случае — XRayMtl. При необходимости вы можете заглянуть в свиток X-Ray Params окна редактора материалов и установить для данного X-Ray-материала шейдеры для движка (Engine) и компилятора (Compiler), а также задать определенный тип поверхности (поле Material).

Экспорт и импорт

И вот вы сделали в 3DS Max карту, удовлетворяющую всем требованиям движка X-Ray, и хотите добавить ее в игру. Давайте подробно рассмотрим процесс экспорта моделей в формат «Сталкера» и научимся подгружать переформатированные модели в официальный редактор уровней.

Первым делом выделите в «Максе» все объекты сцены, которые хотите экспортировать в виде единой модели. Далее в поле инструментов (оно располагается в правой части окна 3DS Max) перейдите во вкладку Utilities (пиктограмма с изображением молотка) и щелкните по кнопке More. В появившемся окне выберите инструмент XRay Export и нажмите Ok. Перейдите в свиток XRay Export поля объектов, кликните по кнопке Export Editor Object и сохраните модель на диск под любым названием.

Переходим к импорту геометрии и текстур в редактор уровней. Запустите LevelEditor, входящий в комплект с SDK. Первым делом подгрузим модель, экспортированную нами из 3DS Max, в редактор уровней. На панели в правой части программы (в поле Scene) выберите пункт Objects\Library Editor.

В открывшемся окне кликните по полю
Objects правой кнопкой мышки и в выпадающем меню выберите пункт Create Folder. Таким образом, вы создадите новый каталог 3D-моделей (при необходимости вы можете добавить новую модель и в один из существующих каталогов). Перейдите в созданную директорию, щелкните по кнопке Import Object в правой части окна Objects Library и укажите полный путь к модели, экспортированной вами из «Макса». Закройте окно библиотеки объектов.

Чтобы подгрузить в редактор текстуры, использованные при создании модели, скопируйте нужные арты в каталог level_editor\import и выполните в редакторе уровней команду Images\Check New Textures. Начнется поиск новых текстур и, если они будут обнаружены, появится сообщение Found X new texture(s), где X — количество найденных текстур.

После того как вы импортируете в редактор новые модели и текстуры, можете приступать к сборке новой мультиплеерной карты: добавлять на уровень стартовые отметки, объекты, освещение — все то, о чем мы вам рассказывали в прошлом номере «Игромании».

ВНИМАНИЕ!!!![/size]

При создании новых моделей для S.T.A.L.K.E.R. разрешается использовать только текстуры, представленные TGA-файлами: движок X-Ray не понимает другие форматы графики. Разработчики отдали предпочтение данному формату неспроста — он позволяет хранить информацию не только о самой текстуре, но и маске (альфа-канале), позволяющей оставлять одни участки изображения и скрывать другие.

Скомпилировать уровень в формат игры можно не прибегая к командной строке. Для этого достаточно создать виртуальный диск X, ссылающийся на директорию \level_editor установленного SDK, выбрать пункт меню Пуск\Выполнить и в появившемся окне напечатать следующую команду: X:\xrLC.bat [level_name], где xrLC.bat — файл, отвечающий за запуск утилиты-компилятора, [level_name] — название компилируемого уровня.[size="2"]

При добавлении в игру уровня с новыми текстурами необходимо, помимо файла textures.ltx, скопировать все используемые изображения собственного производства в директорию \gamedata\textures\.

МОДИФИЦИРОВАНИЕ ОРУЖИЯ В S.T.A.L.K.E.R

Тренировка

Все самое ценное разработчики спрятали от пытливых глаз в архивы. Всего их одиннадцать, и все имеют одно и то же имя — gamedata. Разница в расширении. Оно выглядит как db* (на месте звездочки стоит цифра или буква, своя для каждого файла). Для распаковки этих архивов можно использовать утилиту STALKER Data Unpacker (забирайте ее с нашего DVD из раздела «Игрострой»). Пользоваться программкой несложно. Скопируйте в игровую папку файл STALKER_Data_Unpacker_RU.exe, если у вас русская версия игры, или STALKER_Data_Unpacker_EN.exe, если вдруг английская, и запустите с параметром: gamedata.db* [Каталог для распаковки внутри игровой папки] (последний можно и не указывать — тогда архив распакуется прямо в каталог с игрой). Например: STALKER_Data_Unpacker_RU.exe gamedata.db0 gamedata.

После того как вы внесете изменения в разархивированные файлы, создайте в игровом каталоге папку \gamedata и поместите их туда, сохраняя иерархию подкаталогов, в которых они находятся (приоритет игра будет отдавать новым файлам, а не тем, что упакованы в архивы). Скажем, для ltx-файлов из архива gamedata.db0 (они описывают оружие) в директории \config\weapons следует создать в игровом каталоге папку \gamedata\config\weapons и складывать их именно туда.

Вы можете немного ускорить процесс загрузки игры, если распакуете все одиннадцать архивов в директорию <Каталог игры>\gamedata. Плюс, после этого все файлы будут у вас на виду и создавать моды станет удобнее.

Что касается самих архивов, то в этот раз нам пригодятся gamedata.db0 и gamedata.db8. Последний набит рассортированными по подкаталогам текстурами, в том числе и оружейными; gamedata.db0 же несет в себе, помимо всего прочего, папку \config, наполненную разнообразными конфигурационными файлами (как правило, имеющими расширение ltx). Те из них, что посвящены оружию, лежат в подкаталоге \weapons — каждый такой файл соответствует отдельной пушке. Исключение составляют только delayed_action_fuse.ltx и weapons.ltx (в нем находятся характеристики боеприпасов и всяческих примочек к стволам).

Структура ltx-файлов (редактировать можно в обычном «Блокноте») построена по следующему принципу. Все они состоят из разделов, имена которых маркированы квадратными скобками. В файлах оружия их, как правило, два: первый вмещает в себя боевые характеристики ствола, второй (в имени содержится аббревиатура hud) отвечает за экран героя, вооруженного указанной пушкой.

Параметры внутри блоков в некоторых случаях снабжены комментариями на русском — с такими атрибутами вы без труда разберетесь самостоятельно. Но большинство из них подсказками все же не сопровождается. Ознакомление с важнейшими из этих параметров поможет вам сделать желаемое оружие.

cost — стоимость оружия.

hit_power — урон от оружия. Значение параметра состоит из четырех чисел: первое обозначает минимальный ущерб, последнее — максимальный, средние два, соответственно, промежуточный.

hit_impulse — сила тряски, которой подвергается жертва.

fire_distance — дальнобойность.

bullet_speed — стартовая скорость полета пули. Этот и три предыдущих параметра в некоторых файлах имеют аналоги с префиксом silencer_, эти характеристики описывают ствол при надетом на него глушителе.

hit_type — тип повреждения, наносимого оружием. Огнестрельное ранение — fire_wound, ножевое — wound и wound_2, взрыв — explosion.

rpm — скорострельность.

hit_power_2 — урон от альтернативной атаки.

hit_impulse_2 — тряска жертвы, атакованной альтернативным ударом/выстрелом.

hit_type_2 — тип повреждения от альтернативной атаки.

startup_ammo — начальное количество патронов.

ammo_limit — максимальное число патронов к пушке, которое вы можете носить в рюкзаке единомоментно.

ammo_mag_size — вместимость обоймы.

ammo_class — тип патронов. В области значения этого и следующего параметров указывается название соответствующего раздела файла weapons.ltx.

grenade_class — тип гранат, которыми стреляет пушка (если она, конечно, наделена такой способностью).

explode_duration — продолжительность взрыва (только для оружия, стреляющего разрывными снарядами) в секундах.

sprint_allowed — определяет, в состоянии ли бежать персонаж с этой пушкой (true — да, false — нет).

inv_weight — вес.

shell_particles — модель гильз, отлетающих в разные стороны при стрельбе.

Следующие три характеристики указывают на наличие у ствола определенного дополнения. Возможные значения: 0 — отсутствует вообще, 1 — имеется сразу, 2 — может быть присоединено.

scope_status — снайперский прицел.

silencer_status — глушитель.

grenade_launcher_status — подствольный гранатомет.

zoom_enabled — возможность зумирования (true — имеется, false — нет).

scope_zoom_factor — максимальный зум. Обратите внимание, что зависимость здесь обратно пропорциональна: чем выше значение показателя, тем меньше приближение. Этот же параметр, к слову, присутствует и в файле weapons.ltx, в разделах, посвященных съемным прицелам.

Кинжал

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

Начнем с холодного оружия, которое в игре представлено одним лишь ножом. Превратим его в кинжал. Для начала откройте в «Блокноте» файл w_knife.ltx и внесите в него небольшую правку. Повысьте значение характеристики cost до 100, в результате чего цена на это орудие вырастет до 100 рублей.

Возрастет в нашем моде и наносимое им повреждение — параметрам hit_power и hit_power_2 присвойте серию чисел 2.00, 2.20, 2.40, 2.60 в первом случае и 2.10, 2.25, 2.40, 2.55 во втором. Изначально у ножа сила альтернативной атаки почти дублирует основную. Отличия только в анимации.

С кинжалом все будет по-другому. Первый вид удара, как видите, здесь имеет больший разброс в силе — следовательно, атака может получиться как сильной, так и не очень. Альтернативный взмах кинжалом более стабилен, но нанести очень уж серьезное ранение врагу не получится.

Не забудьте об атрибутах hit_impulse и hit_impulse_2, которым следует присвоить значения 140 и 125. Первый вид атаки после этого будет сильнее отталкивать врагов от главного героя, что в некоторых случаях усложняет добивание.

Немного
поработаем над балансом. Атрибутам inv_weight, rpm (минимальный временной интервал между двумя атаками) и bullet_speed (быстрота нанесения удара) определите соответственно значения 0.8 и 600. В отличие от ножа, кинжал, хоть и немного, но сколько-то весит, а значит, занимает чуточку места в вашем рюкзаке — это, согласитесь, вполне естественно.

В вашем распоряжении превосходное оружие ближнего боя. Один точный укол в тело слабого неприятеля — и тот испускает дух. Единственный недостаток кинжала по сравнению с ножом кроется в сниженной скорости. Главный герой машет кинжалом немного медленней, но уж если попадет... В оригинальной игре почти никто не пользовался ножом, слишком уж он слабенький. Кинжал же — вполне серьезное подспорье пистолету. С его помощью можно легко валить некоторых мутантов и добивать раненых бандитов.

Лазерная винтовка

Теперь займемся созданием футуристических стволов. Первый из них — лазерная винтовка. Делать ее мы будем на основе снайперки СВУмк2, которая детально описана в файле w_svu.ltx. Начните опять же с цены, подняв число, соответствующее показателю Cost, до 12000. А вот запас патронов следует ограничить, задав характеристикам ammo_limit, ammo_current, ammo_mag_size и startup_ammo значения 40 (первой из них) и 6 (остальным трем).

Не помешает также чуть утяжелить винтовку (пропишите параметру inv_weight значение 5.2) и усилить ее (в этом нам поможет регулировка настроек hit_power и hit_impulse). Первой теперь должно соответствовать значение 1.20, 1.30, 1.40, 1.50, второй — 180. Скорость полета снаряда и дальность стрельбы тоже увеличиваем: параметрам bullet_speed и fire_distance пропишите 1130. А вот скорострельность (rpm) лучше снизить до 150.

Ослабим у пушки зум, приписав атрибуту scope_zoom_factor число 30 — увеличение из трехкратного станет двукратным. Значение же показателя shell_particles следует обнулить, удалив прежнее weapons\generic_shells. В результате при стрельбе из винтовки больше не будут видны падающие на землю гильзы, что нам и нужно. Стреляет-то она теперь лазером. Наконец, слегка повысьте быстроту изнашиваемости ствола: у показателя condition_shot_dec пропишите число 0.00035.

Лазерная винтовка готова. Она дает большой урон, имеет высокую точность и большую дальность стрельбы, бешеную скорость полета заряда, но вот перезарядка происходит довольно медленно. Это оружие открывает совершенно новые тактики ведения боя. Можно притаиться за каким-либо сооружением, стоящим на возвышенности, дождаться группы бандитов, подпустить их на дистанцию выстрела и начать постепенно отступать, отстреливая догоняющих вас врагов.

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

А вот пытаться засесть с лазерной винтовкой на верхотуре однозначно не стоит. Из-за того, что она долго перезаряжается, враги успеют подобраться к вам в промежутке между выстрелами.

Атомная пушка

На десерт у нас атомная пушка. Ее мы получим из ракетницы (РПГ-7у). Следовательно, править нужно файл w_rpg7.ltx, и первое, что стоит сделать, — поднять цену на оружие (cost) до 14000. Показателю ammo_limit следует придать значение 10, чтобы понизить скорость полета снаряда, к характеристикам launch_speed, bullet_speed и fragment_speed подставьте соответственно числа 3, 50 и 30. Скорострельность тоже снижаем: сбавляем обороты параметра rpm до отметки 100, а дальнобойность (fire_distance) уменьшаем до 300.

Теперь поработаем над отдачей. У столь мощной пушки она должна быть весьма ощутимой. Посему настройкам cam_relax_speed, cam_dispersion и cam_max_angle следует задать значения 1, 8 и 12 соответственно.

Но баланс пока все равно остается перекошенным: слишком уж мощная штука у нас получилась. Добавим стволу еще один серьезный недостаток — сделаем его быстро изнашиваемым. Атрибуту condition_shot_dec логично будет поставить значение 0.00150. Кроме того, вероятность осечки при максимальном износе (misfire_probability) надо сделать равной 0.01. Понятно, что и вес у громоздкой новинки будет соответствующий: этого можно добиться, прописав показателю inv_weight число 8.

Повреждения же от новой пушки будут поистине громадными. Задайте параметрам hit_power, hit_impulse и explode_duration значения 5, 600 и 8. Также необходимо отредактировать третий раздел файла wpn_rpg7_missile (все оставшиеся изменения производите именно в нем), характеризующего непосредственно ракету. Здесь вы снова встретите показатель explode_duration, которому и в этот раз надо присвоить значение 8. Чтобы сделать взрыв ракеты еще более мощным, «привяжите» к настройке blast число 8, к blast_impulse — 450, а чтобы расширить его радиус — увеличьте показатель blast_r до 18.

Рекомендуем сделать взрыв более эффектным. В этом вам поможет изменение значений параметров light_range и light_time соответственно на 50 и 2.6. Это сделает вспышку после разрыва снаряда более длительной и яркой. Увеличению не помешало бы подвергнуть и следы на стенах, остающиеся после взрыва: задайте атрибуту wm_size значение 0.3.

Напоследок установите цену на снаряд (cost) в размере 300 рублей. Получившееся орудие убийства будет в игре на вес золота — по убойной силе ему просто нет равных. Хотя, конечно, им одним никак не обойдешься. Здесь сказывается и дефицит зарядов, и медлительность, и невысокая дальность стрельбы. Да и изнашивается оно очень быстро.

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

ОПИСАНИЕ

При создании новых стволов необходимо заменить их названия и описания. Использующийся в игре текст вы найдете в файлах формата xml в директории \config\text\rus архива gamedata.db9. Тот, что касается непосредственно вооружения, содержится в файле string_table_enc_weapons.xml. Устроен он следующим образом. Каждой надписи соответствует небольшой раздел вида:

<string id="X">

<text>Y</text>

</string>

X здесь — кодовое наименование объекта (в данном случае — оружия, приспособлений к нему или боеприпасов), к которому относится надпись. Y — текст (как вариант — название объекта).

Найти нужный раздел несложно — в его заголовке (X) неизменно фигурирует краткое название ствола (то самое, что следует в имени соответствующего ltx-файла из папки \config\weapons после приставки w_).

Зададим новому оружию подходящие названия. Название ножа указано в файле string_table_general.xml (содержащем базовые игровые термины и понятия и имеющем ту же структуру, что и string_table_enc_weapons.xml). Оно располагается в блоке st_knife. Прописанное здесь слово Нож замените на Кинжал.

Следующие преобразования касаются исключительно файла string_table_enc_weapons.xml. Название модифицированной нами снайперки вы встретите в разделе wpn-svu, в котором сокращение СВУмк2 необходимо исправить на Лазерная винтовка. Что же касается ракетницы, то ей разработчики выделили блок wpn-rpg7, где аббревиатуру РПГ-7у надо заместить фразой Атомная пушка. Новое оружие называется теперь как положено, вот только описания пока остаются прежними — желательно подкорректировать и их.

Ножу отведен блок enc_weapons1_wpn-knife. Помещенное в него словосочетание Охотничий нож можно переделать, например, в Острый кинжал. Характеристики же СВУмк2 содержатся в разделе enc_weapons1_wpn-svu, а РПГ-7у — в enc_weapons1_wpn-rpg7. В первом случае на место Y можно вписать, скажем, такой текст: Новейшая разработка отечественных ученых. Стреляет лазером, во втором — такой: Мощнейшее оружие. Создано на территории Зоны специально для борьбы с мутантами. Использует атомную энергию. Несложно придумать и более изысканные описания — главное, теперь вы знаете, куда их ставить.

И последнее. Подредактированные файлы string_table_general.xml и string_table_enc_weapons.xml переместите в папку <Каталог игры>\gamedata\config\text\rus.

Визуализация

Вторая стадия разработки вооружения — графическая. На ней мы будем обновлять текстуры оружия. При этом понадобится набор инструментов DXT Tools (обращайтесь за ним на наш DVD, в раздел «Игрострой»). Что касается самих картинок, то они представлены файлами формата dds, лежат в архивах gamedata.db5, gamedata.db6,
gamedata.db7 и gamedata.db8. Именно последний, как уже было упомянуто, несет в себе оружейные скины, которые внутри архива размещаются в каталоге \textures\wpn. Ножу здесь соответствует файл wpn_knife.dds, СВУмк2 — wpn_svu-a.dds, РПГ-7у — wpn_rpg-7.dds. Перевести DDS-файлы в знакомый всем TGA-формат вам поможет как раз таки DXT Tools. Делается это по следующей схеме. Скопируйте выбранный dds-файл в директорию, куда вы установили пакет утилит. Находясь в папке, введите в командной строке: readdxt <имя dds-файла> (например, readdxt wpn_colt.dds). В результате этого в директории появится файл test.tga с интересующей вас картинкой.

Можете смело перерисовывать ее в графическом редакторе (например, в Photoshop). После завершения правки переведите измененный рисунок обратно в формат dds, набрав в командной строке (естественно, не покидая каталог DXT Tools) nvdxt test.tga. Вам останется только вернуть полученному в итоге файлу test.dds прежнее имя (в приведенном примере это wpn_colt.dds) и положить в соответствующую папку (в случае с оружием это <Каталог игры>\gamedata\textures\wpn).

Пора приступать непосредственно к перерисовке текстур, чтобы новые виды оружия обрели неповторимый облик. Например, почему бы вам не выгравировать на лезвии кинжала какую-нибудь надпись или несложный рисунок? Что касается лазерной винтовки, то на ее «шкурке» все еще красуется маркировка СВУ-АС 62x54 мм, которую желательно заменить хотя бы простейшей аббревиатурой ЛВ-1. Наконец, на корпусе атомной пушки пришелся бы к месту ваш аватар, логотип вашего клана, любимого журнала или какая-то еще картинка. И это только простейшие примеры того, как можно украсить новинки.

0

2

Кузница артефактов

В последнее время по Зоне только и ходят слухи о трех удивительных и невиданных ранее артефактах. Говорят, будто один сталкер обнаружил возле аномалии «Карусель» необычное мясо, даже мельчайшим кусочком которого можно досыта наесться. Другой рассказывал, что находил два защитных артефакта, которые, будучи сложенные вместе, надежно защищают его обладателя ото всех видов физического воздействия.

Откроем вам маленький секрет: эти артефакты действительно можно найти в Зоне при помощи нашей новой модификации. В позапрошлом «Вскрытии» мы делали для нашего сталкера предметы первой необходимости (настоятельно рекомендуем перечитать ту статью — так вам будет проще сориентироваться в текущей). Теперь настал черед артефактов.

Ресурсы

Все артефакты описаны в файле artefacts.ltx, который находится в директории \config\misc (архив gamedata.db0). Поскольку все содержимое этого архива мы уже извлекли на свет (в <Каталог игры>\temp) с помощью STALKER Data Unpacker, ищите artefacts.ltx в той же папке, что и items.ltx — <Каталог игры>\temp\config\misc .

Править «артефактный» файл, как и items.ltx, можно в «Блокноте». После комментария «Артефакты для аномалии «Комариная плешь» начинаются основные разделы файла, соответствующие отдельным артефактам. Каждому чудо-предмету посвящены два смежных блока: при этом второй называется точно так же, как первый, только в конец названия добавляется сочетание _absorbation (например: af_medusa и af_medusa_absorbation).

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

Изучим настройки первых двух блоков:

inv_name — название артефакта.

description — описание. Значения этого и предыдущего показателей задаются по аналогии с одноименными параметрами из файла items.ltx, только в данном случае ссылка идет на блок из файла string_table_enc_zone.xml. Таким образом, чтобы определить реальное название артефакта, загляните в тот раздел данного xml-файла, имя которого совпадает со значением атрибута inv_name — название артефакта;

inv_weight — вес артефакта;

cost — стоимость;

lights_enabled — световой эффект вокруг артефакта (true — присутствует, false — отсутствует);

trail_light_color — цвет света, излучаемого предметом. Задается по системе RGB (красный, зеленый, синий);

trail_light_range — расстояние, на которое распространяется свет от артефакта.

Следующие пять настроек определяют скорость различных процессов в организме героя после активации артефакта. При значении 0 никакого воздействия нет, при отрицательных значениях — эффект будет прямо противоположным.

health_restore_speed — восстановление здоровья;

radiation_restore_speed — вывод радиации из организма. Отрицательное значение в данном случае избавляет от радиации (чем ниже значение, тем быстрее будет выздоравливать сталкер);

satiety_restore_speed — насыщение;

power_restore_speed — восстановление сил (энергии);

bleeding_restore_speed — остановка кровотечения.

Второй из двух блоков, с постфиксом _absorbation, состоит из девяти однотипных характеристик. Каждая из них определяет степень защиты, которую дает артефакт от того или иного вида физического воздействия. Учтите, что чем выше число, тем слабее иммунитет. Стандартное значение равное 100% — 1.0. Числа ниже единицы обеспечивают дополнительную защиту, а выше единицы — наоборот, уязвимость.

burn_immunity — ожог;

strike_immunity — удар;

shock_immunity — электрошок;

wound_immunity — разрыв;

radiation_immunity — радиация;

telepatic_immunity — телепатия;

chemical_burn_immunity — химический ожог;

explosion_immunity — взрыв;

fire_wound_immunity — пулестойкость.

Необычные возможности

Теперь, когда вы знакомы с основными параметрами, самое время приступать к созданию артефактов. Здесь гораздо больше возможностей для творчества, чем в случае с обычными предметами. Множество разнообразных параметров помогут вам создать самые необычные артефакты.

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

Первый артефакт мы изготовим на основе «ломтя мяса». Все, что вам нужно для этого, — изменить в разделе af_mincer_meat значения показателей следующим образом: inv_weight — 2.0, cost — 6000, health_restore_speed — 0, satiety_restore_speed — 0.0006, radiation_restore_speed — 0.0002, fire_wound_immunity — 1.0. В итоге мы получили мясо, утоляющее голод практически мгновенно. Правда, оно делает вас чуть восприимчивее к ударам (в том числе холодным оружием), а кроме того, в небольших дозах излучает радиацию. Так что, если у вас нет артефакта, способного компенсировать этот урон, лучше запивать такую пищу водкой, она снизит поражающий эффект.
Этот артефакт пока самый дорогой в игре, да и весит он в четыре раза больше любой другой волшебной безделушки. Зато с этим чудо-продуктом вам больше не нужна обычная еда. Артефакт имеет смысл использовать, когда вашего героя мучает голод и при этом рядом нет врагов. Насытившись, лучше уберите его обратно в рюкзак, чтобы на вас не действовала его радиация.

Второй артефакт — «защитное поле» — ослабит ущерб здоровью героя сразу от нескольких видов атак. Его мы создадим на материале «лунного света», которому соответствует блок af_electra_moonlight. В нем необходимо провести следующие преобразования: inv_weight — 1.5, cost — 7000, trail_light_color — 0.1,0.2,0.8, trail_light_range — 5.0, health_restore_speed — -0.00015, burn_immunity — 0.75, radiation_immunity — 0.75, explosion_immunity — 0.75, chemical_burn_immunity — 0.75. «Защитное поле» смягчает урон от четырех типов повреждений (в том числе и от радиоактивного излучения), но потихонечку высасывает из главного героя жизнь, а кроме того, делает его чуть уязвимее к электрошоку. Эти два недостатка, однако, можно с лихвой побороть некоторыми другими артефактами.

Следующий наш артефакт — «молекулярная броня» — будет великолепно дополнять «защитное поле». Новинку мы поставим на место «ночной звезды», характеристики которой описаны в разделе af_night_star. Внесите в него следующие изменения: inv_weight — 1.2, cost — 7000, trail_light_color — 0.8,0.2,0.3, trail_light_range — 6.0, radiation_restore_speed — 0.0001, burn_immunity — 1.1, strike_immunity — 0.7, shock_immunity — 0.7, wound_immunity — 0.7, radiation_immunity — 1.1, telepatic_immunity — 0.9, explosion_immunity — 1.15, fire_wound_immunity — 0.75. Артефакт дает отличную защиту от одних видов атаки, но в то же время делает сталкера чувствительнее к другим, плюс он немного излучает.

После того как работа над файлом artefacts.ltx будет завершена, скопируйте его в <Каталог игры>\gamedata\config\misc.

Внешний вид

Мы наделили новые артефакты рядом полезных свойств, не забыв при этом и о побочных эффектах. Теперь наша задача — переименовать получившиеся вещички, чтобы их никто не спутал с оригинальными артефактами.

Названия и описания вы найдете в файле string_table_enc_zone.xml из папки <Каталог игры>\temp\config\text\rus. Файл имеет ту же структуру, что и string_table_enc_equipment.xml. Сначала исправим имена артефактов.

Отыщите раздел af-mincer-meat и в нем на место словосочетания «Ломоть мяса» поставьте, скажем, «Радиоактивное мясо» или просто «Мясо». В блоке af-electra-moonlight надпись «Лунный свет» исправьте на «Защитное поле». Наконец, в раздел af-night-star впишите «Молекулярная броня» (удалив прежнее — «Ночная звезда»).

Осталось подобрать новым артефактам подобающие описания. «Ломтю мяса» соответствует блок enc_zone_artifact_af-mincer-meat. Первое предложение внутри него можно оставить, а вместо последующих поставить, к примеру, такой текст: «Снимает чувство голода, но излучает радиацию». Описания двух других артефактов, в принципе, можно оставить без изменений, но для тех, кто хочет к ним что-то добавить: «лунный свет» описан в разделе enc_zone_artifact_af-electra-moonlight, «ночная звезда» — в
enc_zone_artifact_af-night-star. По окончании всех операций с текстом файл string_table_enc_zone.xml нужно скопировать в <Каталог игры>\gamedata\config\text\rus.

Помимо переписывания текстов, крайне желательно изменить внешний вид артефактов в инвентаре. Соответствующие картинки вы найдете в том же файле ui_icon_equipment.dds (папка <Каталог игры>\gamedata\textures\ui).

Переведите каждую картинку при помощи DXT Tools в формат tga и откройте в «Фотошопе». Изображения артефактов разбросаны по всей содержащейся в файле картинке, но большая их часть сосредоточена в правом верхнем углу. Полностью перерисовывать все эти значки, конечно, необязательно, достаточно добавить какие-либо детали.

0

3

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

0


Вы здесь » AVANTURE » S.T.A.L.K.E.R. Clear Sky » СОЗДАНИЕ КАРТ На основе стандартных объектов в редакторе