Кто онлайн:

Сегодня посетили:
Статистика посетителей
Подписка на новости
День рождения


Последнее видео: Новости сайта » Конкурсы » Мод месяца
Активист месяца:
Новостной активист месяца: - Nestor

Форумный активист месяца: - Nestor


  • Страница 1 из 1
  • 1
Подключение новых локаций к игре S.T.A.L.K.E.R - Чистое Небо
NestorДата: Понедельник, 09.02.2015, 13:27 | Сообщение # 1

Титул:
Циничный персонаж

Группа: Администраторы
Сообщений: 190
Статус: Offline
В сегодняшнем уроке я расскажу вам, как подключить новые локации к игре, что нам для этого нужно:




Теперь немного описания к этим программам, какая за что отвечает:



  • ActivePerl - нужен для работы скриптовых приложения ACDС и ggTool от Bardak'a
  • ACDC CS - скрипт на основе Perl позволяющий декомпелировать и компелировать игровой ресурс all.spawn. (ЧН)
  • ACDC SoC - скрипт на основе Perl позволяющий декомпелировать и компелировать игровой ресурс all.spawn (ТЧ)
  • ggEditor v.0.1 - программа от АМК позволяющая работать с игровым ресурсом game.graph
  • ggTool - скриптовое дополнение на основе Perl выщитывающее vertex'ы уровней.


И так приступим. Для начала нам надо определится от куда мы будем брать локации, то есть, будем брать из модов для ТЧ, либо же, возьмём стандартные локации от (ТЧ). Лично я в этом уроке буду подключать из оригинального ТЧ, и в качестве примера остановлюсь на "Баре 100 - Рентген", принцип подключения с другими уровнями идентичен.


1-я часть:

Приступим. Для начала надо распаковать db архивы (ТЧ), для того чтобы мы могли взять от туда всё необходимое, для подключения. Ниже прикреплена ссылка к универсальному декомпелятору игровых ресурсов серии игры S.T.A.L.K.E.R.




2-я часть


Распаковываем в любое удобное для нас место ggEditor 01.

Далее заходим в папку с программой, и создаём две новые дополнительные папки CS и SoC. После в созданную папку CS распаковываем ACDC для Чистого Неба, тоже самое мы проделываем и с папкой SoC, только туда мы распаковываем ACDC для ТЧ, и в этой же папке (SoC) создаём ещё одну папку gamedata, в которой далее создаём папку levels и кладём из распакованных ресурсов ТЧ наш уровень, то есть (l05_bar). Далее из распакованных ресурсов ТЧ копируем файл game.graph в созданную папку gamedata ту что мы создали в папке (SoC). Теперь, в папку с acdc (CS) кладём all.spawn из распакованных ресурсов Чистого Неба, а в папку acdс (SoC) кидаем all.spawn из распакованных ресурсов ТЧ.


3-я часть


Декомпелируем оба файла all.spawn. После чего открываем ggEditor и видим там два окошка. В левом открываем game.graph от ТЧ, который мы скопировали в папку (SoC/gamedata), в правом окошке граф вшит в распакованном all.spawn от ЧН (CS/acdc) ищите его там, чтобы открыть граф нужно выбрать тип файлов, для ЧН это — graph.bin. Если вы всё правильно сделали, в левом и в правом окошке появится список графов уровней, выбираем в левом окошке наш уровень (l05_bar) и с помощью соответствующей стрелки переносим его в правое окно, после чего сохраняем (Правое окно). Всё, можете закрыть программу, она больше не нужна.


4-я часть


Если вы всё сделали правильно, то в папке с распаковочный acdc (CS) появится новый graph.bin.new, удаляем старый graph.bin а новый переименовываем. Теперь, идём в распаковочный acdc (SoC) и копируем alife файл нашего уровня (alife_l05_bar.ltx) в acds (CS). Далее в acdc (CS) распаковываем ранее скаченный ggTool и запускаем ggTool.bat, ждём окончания операции, после окончания ниже появится файл/список вертексов под каждый уровень (parse_lvids.ltx) - открываем его, у меня получилось вот:


Цитата
l05_bar => 1620


У вас может и по другому быть. С каждым добавленным новым уровнем вертекс увеличивается. Но не в этом суть. Открываем наш скопированный alife_l05_bar.ltx, оставляем только одну секцию, лучше чтобы это был какой нибудь объект - присваиваем ей номер не меньше [20000], а остальные секции удаляем. Меняем в нашей секции game_vertex на тот что мы получили от ggTool, у меня (1620), сохраняем и сворачиваем. Далее открываем alife_marsh.ltx (в распакованном acdc CS) и ищем в нём секцию


Цитата
section_name = actor


Это секция главного героя, изменяем в ней (position = , upd:position = , game_vertex_id = , level_vertex = ) на те что указаны в секции нашего объекта в alife_05_bar.ltx. (Важно: в upd:position = указываются те же координаты что и в position = ). Всё, сохраняем всё, и в самом acdc открываем папку stkutils, в ней находим файл level.pm, открываем его обычным блокнотом, и в функции


Цитата
use constant levels_info => (


Добавляем наш уровень:


Цитата
{ gvid0 => 1620, name => 'l05_bar' },


Код
gvid0 => 1620 - game_vertex нашего уровня (ggTool)
name => l05_bar - Название уровня


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


5-я часть


Так, в принципе всё готово, осталось уже не много. И так, создаём gamedata папку в корневой папке с игрой ЧН, туда копируем из папки (ggEditor_01/SoC/gamedata) наш уровень (levels/05_bar), после заходим в папку с нашем уровнем и удаляем старый файл level.ai, а новый level.ai10 переименовываем в (level.ai). После создаём папку spawns (gamedata/spawns) и копируем туда наш скомпилированный в acdc CS all.spawn.new и переименовываем его в all.spawn. Далее создаём папку configs в (gamedata) и копируем туда 3 файла (game_graphs.ltx, game_levels.ltx, game_maps_single.ltx)


6-я часть

Открываем game_graphs.ltx и добавляем наш уровень:


Код

[location_0]
    000          = "..."
    001          = "эскейп"
    002          = "свалка"
    003          = "агропром"
    004          = "агропром-подземка"
    005          = "темная долина"
    006          = "лаборатория X-18"
    007          = "даркскейп"
    008          = "Бар"
    009          = "Росток"
    010     = "Янтарь"
    011     = "лаборатория X-16"
    012     = "Милитари"
    013     = "Мертвый город"
    014     = "Радар"
    015     = "Радар бункер"
    016     = "Припять"
    017     = "станция АЭС"
    018     = "l05_bar"     ;Наш уровень
      

[location_1]
    000          = "..."
    001          = "ограниченный доступ"
    002     = "запрещенный доступ"
      
[location_2]
    000          = "..."
    001     = "не для игрока"

[location_3]
    000          = "..."
    001          = "l05_bar"        ;Наш уровень


Далее открываем game_levels.ltx и в самом конце функции [levels] добавляем:


Код
level183


Далее в самом конце ещё вот это добавляем:


Код

[level183]
name   = l05_bar
caption = "l05_bar"
offset  = 12000.0,     1000.0,    10000.0
weathers = [default]
id  = 183


И последнее, открываем game_maps_single.ltx и ищем функцию [level_maps_single], в конце неё добавляем наш уровень:


Цитата

l05_bar =


И в самом конце это:


Код
[l05_bar]
          global_rect                      = 101.0, 1572.0, 249.0, 1720.000000
          music_tracks                     = yantar_musics
          weathers                         = dynamic_default


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


 
Stelth1985Дата: Воскресенье, 27.09.2015, 10:45 | Сообщение # 2

Титул:

Группа: Непроверенный
Сообщений: 2
Статус: Offline
Привет. Я достаточно долго изучал вопросы модостроения, но пока что не занимался приклеиванием локаций к ТЧ. Прочитав инструкцию, попробовал сделать как написано. Дошел до 4й части инструкции и стопорнулся на alife_l05_bar.ltx и ggTool. По описанию все делаю так, но результат в parse_lvids.ltx оказался нулевой. Там пусто. Если можно, подскажите в чем дело или выложите более подробную инструкцию. Потому что я сам мог, что-то не так сделать. По незнанию. К примеру, alife_l05_bar - стоило написать, где он находится. Я об этом файле знал, так как распаковывал all.spawn раньше и наблюдал этот файл. Другие люди не поймут от куда он.

 
NestorДата: Понедельник, 28.09.2015, 10:20 | Сообщение # 3

Титул:
Циничный персонаж

Группа: Администраторы
Сообщений: 190
Статус: Offline
Stelth1985, данный способ работает только на на платформах игры ЗП и ЧН, на ТЧ совсем другой способ подключения локаций. По просьбе выкладываю инструкцию по подключению локаций в ТЧ: [[ Ссылка ] Будут вопросы пиши, постараюсь объяснить что к чему

 
  • Страница 1 из 1
  • 1
Поиск:
Посетители дня

Портал St-Atom.com является собственностью его владельца.
Авторское право на серию игр «S.T.A.L.K.E.R» и использованные в ней материалы принадлежат GSC Game World.
Для просмотра сайта рекомендуем использовать Mozilla Firefox или Opera.


Design by Nestor © 2013 - 2015 Year.




Войти на сайт