Воскресенье, 22.09.2024, 20:20
Приветствую Вас Гость | RSS
F.R.O.N.T.
Главная | Статьи | Регистрация | Вход
Меню сайта
Все новые статьи находяться на форуме!!! Видеть их могут только рарегистрированые пользователи...
Категории каталога
Мои статьи [28] Сценарии [0]
Пишите сюда свои сцинарии
Модострой [152]
Статьи по созданию модов
КАК СНЯТЬ ФИЛЬМ??? [0]
Статьи о том как снять фильмы
Мини-чат
Наш опрос
Чего не хватает в сталкере
1. Возможностей
2. Группировок
3. Свободы
4. Квестов
5. Транспорта
6. Ничего, все есть
7. Мутантов
8. Оружия
9. Атмосферы
10. Блин, сталкер отстой
11. Брони
12. Графики
13. Аномалий
14. Артефактов
15. Предметов
Всего ответов: 155
Главная » Статьи » Модострой

Спавн
Мир Зоны. Часть 3

Продолжение. Начало в ВР №№6-7 2007.

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

Просматривая один мод за другим, невольно прихожу к мысли, что подавляющее большинство модификаций вполне доступно для создания любому геймеру. Плюсов превеликое множество. Во-первых, нет необходимости скачивать мегабайтные файлы, если все необходимое уже и так содержится на диске. Во- вторых, совершенно не важно, какая версия игры (пиратская копия или лицензия с очередным патчем) у вас на компьютере — вы работаете со своими файлами, а значит, проблема «запустится/не запустится» перед вами не стоит. В-третьих, вы выбираете именно то, что вам нужно, и в том количестве, в котором хотите. Если уже совсем лень создавать собственное творение с нуля, можно подправить «под себя» чужую работу, что-то добавив или, наоборот, убрав. Думаю, я вас убедил, осталось только взять и сделать. А в этом вам поможет данная статья.

1. Предварительные телодвижения

1.1 Итак, прежде чем мы приступим к созданию собственных модов, не помешает проверить, все ли необходимое у нас есть.
a) Собственно, сама игра, установленная на компьютер.
b) Распаковщик архивов игры STALKER_Data_Unpacker.
c) Текстовый редактор, подойдет практически любой, даже Блокнот. Если у вас есть редактор с подсветкой синтаксиса, это будет плюсом. d) Редактор файла all.spawn. Если вы корифей в HEX-редакторах, берите тот, который нравится. Тем же, кто даже толком не представляет, что такое НЕХ-редактор, крайне рекомендую xrSpawner 0.13.0 Beta от небезызвестного в сталкеровском комьюнити Zeed’а. Удивительно удобная штука, тем более что в дальнейшем речь пойдет именно о xrSpawner.
e) Ровные руки и мыслящая голова.

Если все это у вас есть, продолжим. В том случае, если вы уже распаковали архивы игры, переходите сразу ко второму пункту. Если же нет, то…

1.2 Допустим, игра у вас установлена в папку D:\Games\S.T.A.L.KE.R. Тогда при помощи Unpacker-а извлеките все содержимое файлов gamedata.dbX (где Х – буква или число) из корневого каталога игры в отдельную папку, например D:\Source\gamedata.

1.3 Теперь в папке D:\Source\gamedata\spawns найдите файл all.spawn и скопируйте его в папку D:\Games\S.T.A.L.KE.R.\gamedata\spawns. Если такой папки нет – создайте ее, в дальнейшем, если необходимо будет перенести какой-либо файл в каталог, которого нет, – создавайте, учитывая все промежуточные папки.

1.4 Запускаем xrSpawner 0.13.0 Beta, нажимаем «Файл - Открыть файл all.spawn» и указываем ему файл из папки
D:\Games\S.T.A.L.KE.R.\gamedata\spawns. Окошки редактора заполнились цифрами и буквами. Теперь у нас все готово, начинаем.

1. Окно редактора xrSpawner. 1 - Номер позиции, окно поиска и список объектов в игре. 2 – Идентификатор активного объекта, имя и
локация. 3 – координаты и углы поворота вокруг осей координат. 4 – меню «Добавить объект» и список возможных вариантов. 5 – окно
скрипта объекта.

2. Добавление транспорта.

2.1 Начнем, пожалуй, с самого легкого и в достаточной степени необходимого – с добавления транспорта. В правой части окна редактора раскрываем список «Добавить объект» и выбираем пункт Transport. В окне внизу выбираем вид транспорта, который вам необходим, пусть это будет, к примеру, Niva_Green (Нива армейского образца) и жмем кнопку «Добавить».

2.2 В левой части редактора мы видим окно со списком всех объектов, спаунящихся в игре. В самом конце этого списка появился объект m_car, на который указывает синий маркер. Это и есть наша Нива. Давайте обратим теперь внимание на центральную часть редактора и немного разберемся, что есть что. Итак, m_car – тип объекта (Entity), ven_niva_00 – название объекта (можете назвать его по-другому, например Moya_Niva), корд X/Y/Z и вектор X/Y/Z – координаты объекта и углы поворота относительно осей координат. Обратите внимание, что за вертикальную ось отвечает не привычная нам ось Z, а ось Y. Это не ошибка, Zeed сознательно ввел такое обозначение осей, чтобы те, кто работает с SDK для мультиплеера, не путались – там координаты поименованы подобным образом. Level_ID указывает, к какой локации относится тот или иной объект, окно Story_ID рекомендую не трогать, по умолчанию новому объекту добавляется значение -1. Если к объекту привязан какой-либо управляющий скрипт, его текст отражается в окне внизу.

2. Находим подходящее место, фиксируем координаты.

Таким образом, наша Нива должна респауниться на локации l01_escape (то есть, на Кордоне), в точке с координатами -239,8912/ -19,43/ -123,0998, с углом поворота относительно вертикальной оси -15 градусов. Это значения «по умолчанию», и они вполне корректны, то есть, оставив все как есть, вы не рискуете обнаружить потом свою машину, висящую где-нибудь на дереве или застрявшей в заборе. Не удивляйтесь отрицательному значению высоты, поскольку центр координат локации Кордон расположен на дороге, неподалеку от автобусной остановки, лагерь же новичков относительно этого места лежит в низине. При желании можете немного поэкспериментировать с числами в окнах «Корд. X/Y/Z», не забудьте подтвердить изменения (нажав «Принять изменения», сохраните строчку, иначе данные пропадут, если вы уберете маркер с редактируемого объекта). После этого сохраняете свой файл all.spawn (Файл - Сохранить). Все, можно запускать S.T.A.L.K.E.R. и начинать новую игру. На выходе из бункера Сидоровича вас будет встречать автомобиль, заспауненный лично вами. Поздравляю.

3. И в том же месте появляется Нива.

2.3 Известно, что «по умолчанию» новоявленные автомобили чрезвычайно хрупки и взрываются буквально от первого же столкновения с забором. Устраняется эта проблема моментально. В папке Source ищем файл veh_niva_u_01 и копируем его в папку D:\Games\S.T.A.L.KE.R.\gamedata\config\models\vehicles. Это файл конфигурации автомобиля. Открываем его блокнотом и ищем раздел [immunities], после чего выставляем все параметры (burn_immunity, strike_immunity и т.д.) равными нулю. Сохраняем и закрываем файл. Теперь ваша Нива неуничтожима в принципе. Небольшая ремарка, повреждения для дверей, капота и крышки багажника считаются отдельно и после парочки столкновений можно лишиться нескольких деталей корпуса, но, думаю, без дверей вы уж как-нибудь покатаетесь. Рекомендую сразу же в ту же папку перенести файлы остальных машин и проделать с ними те же операции. Все.

3. Поиск координат и расстановка объектов на других локациях.

Накатавшись вволю по Кордону, вы, несомненно, захотите попутешествовать по остальным локациям уже на своих четырех. Вот тут вы и столкнетесь с проблемой, поскольку точка перехода Кордон-Свалка находится в здании за шлагбаумом, куда машина, по понятным причинам, не пролазит. Это значит, что вам понадобится новый автомобиль, который встречал бы вас на Свалке. В общем случае речь может идти не только о машинах, но и о монстрах, артефактах, сталкерах, предметах и прочих объектах. Для спауна любого предмета необходимо, как мы уже убедились, задать координаты той точки, где он появится. Алгоритм следующий: спаунимся на локацию, куда вы хотите добавить объект, визуально выбираем наиболее подходящую для этого точку и фиксируем ее координаты, выходим из игры, создаем интересующий нас объект с заранее полученными координатами, вновь спаунимся и проверяем корректность добавления объекта. Теперь опишем все это более подробно на примере автомобиля.

3.1 Допустим, вы хотите поместить белую Ниву неподалеку от перехода Армейские склады – Бар. В окне списка объектов поставьте маркер на первый объект в списке (дабы поиск проходил с самого начала). В окне «Поиск» наберите level_changer. Уже в процессе набора маркер переместится на объект номер 284, который и будет нашим первым левел-ченджером. Level_cahnger это точка, где расположен триггер, который выдает на экран окошко «Вы хотите перейти на другую локацию?». Объект за номером 284 с именем exit_to_garbage_01 отвечает за переход Кордон-Свалка и нам он не нужен. Нажимайте кнопку «Следующий» до тех пор, пока маркер на остановится на нужной нам точке перехода. Определить, какой level_changer за что отвечает, достаточно просто, смотрите на имя объекта, он подскажет в какую локацию переносит вас триггер. Триггеры одной карты обычно группируются вместе. Объекты 5286 (exit_to_bar_01) и 5287 (exit_to_radar_01) явно принадлежат к одной локации, по совокупности того, куда ведут выходы, можно определить, что триггеры принадлежат Армейским складам, только с нее есть выходы на Бар и Радар. Отлично, значит нас интересует номер 5286 exit_to_bar_01 с координатами (-372,6236/ -21,69933/ -4,806515). Запомните эти числа, затем открывайте строчку 63 actor (это вы), меняйте в поле Level_ID l01_escape на l07_military, измените ваши текущие координаты на координаты точки перехода (-372,6236/ -21,69933/ -4,806515), сохраняйте строчку («принять изменения») и файл («Файл - Сохранить»). Обратите внимание, сразу после загрузки вы попадете в триггер выхода. Это не страшно, достаточно нажать «нет» - и вы появитесь на локации Армейские склады. Если же это обстоятельство вам неприятно, попросту измените горизонтальные координаты на 1-2 метра.

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

a) В консоли прописываем команду «rs_stats on» без кавычек и слева на экране появится статистическая информация. Нас интересует последняя строчка Camera position, которая отражает текущие координаты камеры. Почему я заостряю на этом внимание? Камера поднята над поверхностью на 1,5 метра (по этому параметру можно приблизительно определить рост Меченого – около 165 сантиметров), поэтому, когда будете вписывать данные для спауна, вычитайте из вертикальной координаты полтора метра. Кроме того, если вы делаете скриншот с видом от третьего лица, также учитывайте, что на экран выдаются координаты камеры, а не главного героя. Топаем ножками на понравившуюся площадку и записываем на листочке цифры с экрана.

b) Точно так же топаем ножками на понравившееся место и там сохраняемся с помощью quiksave(F6).

c) Принимая во внимание, что вы появляетесь на карте с болтами и биноклем в карманах, ваша персона может сильно заинтересовать недружественных товарищей и мутантов. Дабы обезопасить себя во время проведения топографических съемок, набирайте в консоли команду «demo_record 1», которая освобождает камеру, давая возможность «полетать» по уровню. Управлять камерой просто, нажимаете «огонь» и летите вперед («прицел» - назад), стрелки отвечают за поворот вокруг осей. Далее аналогично – прилетаем на место, запускаем «rs_stats on» и записываем текущие координаты.

3.3 Выходим из игры. Если вы сохранялись при помощи быстрого сохранения, ставьте маркер на объект 63 actor и нажимайте кнопку «Получить координаты из файла сохранения». В окошках должны появиться те же данные, что вы получили при помощи «rs_stats on». Единственное дополнительное преимущество состоит в том, что при загрузке данных с сейва вы получаете также данные об угле поворота вашего персонажа. Это вам поможет в том случае, если вы хотите определенным образом сориентировать вашу машину относительно, скажем, дороги или другой техники.

3.4 Добавить объект ( Транспорт ( Niva_White. В поле Level_ID выбираем l07_military (если оно уже не стоит там по умолчанию), в поля координат заносим данные, полученные в п.3.2. Сохраняем строчку и файл. Снова запускаем новую игру. Если вы ничего не изменяли в actor, то вы появитесь в том же месте, что и в прошлый раз, на дороге по пути к Бару, а пробежавшись немного вперед, обнаружите свежепоявившуюся Ниву белого цвета. Если кому-то интересно, автомобиль на скриншоте заспаунен в координаты (-305,38/-22,53/61,93), углы поворотов относительно осей (0/0/0). Это важно – когда будете вписывать числовые значения координат, дробная часть отделяется от целой с помощью запятой. Если вы поставите точку, при сохранении редактор выдаст ошибку.

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

4. Пара минут копания в файлах - и Шустрый готов поделиться с нами «Ночной звездой».

4. Добавление новых монстров

С чисто технической точки зрения заспаунить, скажем, бюрера, никаких трудностей не представляется. Выполняйте все те же операции, что и для автомобиля. То есть, выбираем Добавить объект ( Mutants ( Burer, корректируем координаты и локацию, если есть необходимость, сохраняемся, заходим и любуемся. НО!!! Каждый житель Зоны, от тушкана до сталкера, должен быть зафиксирован в куче файлов: статистика, описание, инвентарь (то, что вы видите, нажав «обыскать труп») и прочее. Поэтому, если просто «в лоб» заспаунить того же бюрера, первый же выстрел по нему (не важно, ваш или другого сталкера), приведет к крашу игры. Дабы этого не случилось, необходимо подправить кучу файлов. Давать описание того, что нужно сделать в каждом файле, это слишком долго и муторно, получится гора сухой писанины, причем, не факт, что ни я (при наборе), ни вы (при переписывании) не допустим какую-нибудь ошибку. А отсутствие простой запятой в одном файле может привести к вылету игры. Поэтому лучшим выходом из ситуации будет, если вы найдете любой мод, добавляющий монстров и найдете там необходимые файлы, которые нужно добавить/заменить в игре. Если же у вас на диске или у знакомых нет такого мода и не хочется качать несколько мегабайт ради парочки фалов, пишите мне yurser@mail.ru, постараюсь выслать все необходимое.

5. Водить вертолетом оказалось на удивление просто. А вот отцепить его от скриптов и сделать управляемым – значительно сложнее.

5. Добавление новых объектов

Осмотрев меню «добавить объект» в редакторе, вы, возможно, придете к грустным выводам, что спаунить можно только технику и новых монстров. Отнюдь, с помощью творения товарища Zeed-а спаунить можно все… что спаунится. Давайте попробуем это сделать.

5.1. В качестве примера попробуем увеличить количество противников, обитающих на АТП, где держат Шустрого (первый квест).

5.1.1 Для начала найдем в списке объектов искомых бандитов. В поле «Поиск» пишем Stalker и кликаем «следующий» до тех пор, пока в поле имени не появится esc_factory_bandit1 (объект 122). Это как раз то, что нужно. Не убирая маркер с этой позиции, выбираем в меню «Редактирование – Добавить объект в базу». В открывшемся окне пишем «Название группы - Stalkers», «Название объекта - Bandit». Обратите внимание, все названия должны быть написаны только латинским шрифтом. Нажимаем кнопку «Добавить». Все, теперь ваш объект сохранен в базе (файл spawn.base), которая располагается в той же папке, что и сам редактор.

6. А вот с «Москвичом», что нашелся в архивах, проблем не возникает.

5.1.2 Дальше все привычно – открываем список «Добавить объект», из появившегося списка выбираем новый тип объектов Stalkers и кликаем на единственный доступный объект этого типа Bandit. Исправьте горизонтальные координаты примерно на полметра (или путем, указанным выше, выберите точки спауна для новоприбывших). Если хотите, можете добавить еще с пяток уголовников. Сохраняйтесь и начинайте новую игру.

5.2 Кстати, вы наверняка обратили внимание на то, что к бандиту прикреплен небольшой скрипт [smart_terrains] esc_fabrika_bandit = true. Он «привязывает» объект к определенной местности (в данном случае – к АТП). Если сейчас вы, ничего не меняя, заспауниете еще одного бандита, скажем, на блокпосту при выходе на Свалку, ваш сталкер неспешно потопает к фабрике. Но, скорее всего, не дойдет :) . Собаки, военный, сталкеры- нейтралы не способствуют укреплению здоровья. Поэтому, прежде чем добавить новый живой объект (людей или монстров), обращайте внимание, к какой территории они привязаны и, при необходимости, меняйте привязку. Узнать названия областей привязки можно, просмотрев объекты smart_terrains на уровне, строчка type = как раз и указывает название той или иной зоны. Разобраться, что есть что, несложно, названия esc_lager (лагерь новичков), esc_fabrika_bandit (бандиты на АТП), esc_bridge (полуразрушенный мост) и прочие говорят сами за себя. Просто вспомните, где и кто кучковался…

5.3 Хорошо, представление о том, как добавить в игру сталкеров и «старых» монстров (добавляются аналогично пункту 5.1) имеем, теперь давайте разберемся с неодушевленными предметами. Мебель, банки, ведра и прочий мусор оставим в стороне, а попробуем добавить нечто более для нас значимое. Например, амуницию. Чтобы сделать это немного изящнее, поместим все необходимое в ящик. Делается это следующим образом.

5.3.1. Ищем в поиске тип объекта physic_destroyable_object. Первым по очереди нам попадается рупор на блокпосту, но он нам не нужен. Смотрим дальше. Стакан… стакан… водка… да что за ерунда… Ага, вот, то, что нужно, объект 663 esc_surprise_box_002. Это обычный деревянный ящик, в который можно класть… все, что хочешь, можно класть.

5.3.2. Добавляем его в базу. «Редактирование – добавить объект в базу», создаем новый тип объектов «Items», а в него добавим новый объект «Wood_box».

5.3.3 Дальше все точно так же. Добавить объект - Items-Wood_box, выбираем координаты. Готово. А теперь положим туда что-нибудь. В теле скрипта (который у нас сейчас пуст, поскольку никаких команд при уничтожении ящика не выполняется), пишем следующее: [drop_box] / community = def_box / items = stalker_outfit. Слеш считать символом переноса на следующую строку. Таким макаром у нас в ящике будет храниться сталкеровский костюм. При желании туда можно положить все, что угодно, важно лишь правильно писать названия артефактов, оружия патронов и прочего снаряжения.

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

Параметры персонажа. Есть в папке \gamedata\config\creatures замечательный файл под названием actor.ltx. А замечателен он тем, что описывает все параметры вашего персонажа. Прогуляемся по нему и выборочно подправим некоторые параметры. «Шура, сколько вам нужно денег для счастья?» (с). 6400? Больше? Набивайте нужную вам сумму в строке money и ни в чем себе не отказывайте. Устали от постоянного «потолка» в 60 кг переносимого веса? Подправьте строчку max_item_mass, и ваш герой станет заправским тяжеловесом. Но этот параметр отвечает только за тот вес, с которым вы сможете бегать, максимально переносимый же находится существенно ниже и называется max_walk_weight, ставьте его значение на 10-15 кг выше, чем max_item_mass. При изменении параметра jump_spee Меченый уделает по прыжкам даже кенгуру. Но только смотрите, не переусердствуйте, при значениях параметра около 25 при приземлении герой получает повреждение и небольшую кровопотерю. Не стоит также слишком мудрить и с параметрами ускорения – излишен резво срываясь с места, вы получите травму, и спринт при этом сбрасывается. Остальные параметры не столь интересны и оказывают значительно менее заметное влияние на геймплей.

Не знаю, как вы, а я считаю, что награда за отдельные квесты могла бы быть и побольше. Устраним эту несправедливость, тем более что это достаточно простой способ - не требует копания в редакторе и перезапуска игры, то есть, им можно воспользоваться прямо во время игры. Поясню, как обычно, на примере. Спасенный нами, Шустрый, дает нам квест на поиск усовершенствованной бандитской куртки, в качестве награды предлагая артефакт «кровь камня». Находим в папке Sourse файл task_manager и переносим его в папку D:\Game\S.T.A.L.K.E.R\gamedata\config\misc. Это файл описывает все квесты, которые есть в игре. Находим строчку tasks for shustriy, это в самом конце файла. Блок команд, идущий ниже, это и есть квест, точнее, условия его выдачи, выполнения и награды. Последнее нас интересует как раз больше всего. Строчка reward_item описывает то, что мы получим в качестве награды. А хотим мы, к примеру, не банальную «кровь камня», валяющуюся на Агропроме под каждым кустом, а редкую «Ночную звезду». Так и пишем reward_item = af_night_star. При желании строчек reward_item может быть сколько угодно, все зависит от того, что вы хотите получить – оружие, артефакты, снаряжение. Только не ошибитесь в написании названий.

Ну и напоследок. Несерьезно как-то каждый раз начинать игру с «макаровым» в кармане, да и тот надо выпрашивать у Волка. Не будем ждать милости от природы, у нас же есть редактор xrSpawner. Открываем его и находим объект 63 actor. В теле скрипта пишем [dont_spawn_character_supplies] /[spawn] («/» -переход на новую строку), а ниже – все, что душа пожелает. Например, так: wpn_fn2000, это FN2000, если кто не понял. Снабдим наше оружие боеприпасами ammo_5.56x45_ap = 20 / ammo_m209 = 10. При необходимости внесите в список аптечки и еду. Все, вы готовы к бою. Только ради всего святого, не затаривайтесь всякой экзотикой, вроде Гаусса, поскольку патронов к нему поблизости вы не найдете, возьмите лучше какой-нибудь хороший дробовик, типа «Чейзера».
В общем, это все. Основные моменты по созданию мода я изложил, дальше дело за вами. Удачи.

S.T.A.L.K.E.R.-овед Юрий Михайлов


Категория: Модострой | Добавил: front (03.06.2008)
Просмотров: 1147 | Комментарии: 1 | Рейтинг: 4.0/3 |
Всего комментариев: 1
1 Сергей  
0
Отличная статья!
Большое спасибо за информацию, она мне очень пригодилась (по поводу редактирования спавн-файлов). А в файлах конфигураций и характеристи к персонажа более-менее разобрался сам, ковыряясь в разных модах.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
счетчик посещенийсчетчик посещений
Друзья сайта
 
Фан сайт игры S.T.A.L.K.E.R.

Бар_У_границы_Зоны_бар_настоящего_сталкера!

Статистика

На портале: 1
Новичков: 1
Участников: 0

Copyright MyCorp © 2024