193 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

S.T.A.L.K.E.R.: Зов Припяти: Редактор (распаковки / упаковка all.spawn)

Работа с all.spawn

Материал из S.T.A.L.K.E.R. Inside Wiki

Расспаковка all.spawn

Для того, чтобы распаковать ол спавн, нам потребуется acdc. Для каждой версии игры нам понадобиться свой. Я описываю для ЗП ( во всех частях сталкера этот процесс идентичен), поэтому и пользуюсь acdc от ЗП. Для того, чтобы запустить acdc нам будет нужен ActivePerl (адрес откуда можно скачать последнюю версию, для работы подойдёт любая. http://www.activestate.com/activeperl/downloads (дС)) (нужная версия входит в архив)Качаем acdc для ЗП здесь.После того, как вы скачали acdc, установите эктивперл(если вы этого еще не сделали)(от «GE» — файлы ACDC должны лежать в папке «C:Perlbin» если вы не изменяли стандартного пути установки файлов программы Active Perl). Распакуйте acdc и скопируйте в эту папку свой all.spawn (от «GE» — если вы работаете с файлами ТЧ то не забудьте поместить туда-же и файл game.graph , если вы работаете с файлами модов на ТЧ то дополнительно перенести и папку config). Запустите .bat файл decompile(если его нет, то откройте блокнот, запишите в нем такие строки:

(от «GE» — при работе с утилитами от Бардака .bat файл выглядит так:

при работе с файлами модов надо включить в .bat сканирование конфигураций:

в ином случае не чего не получится. Описание подходит для де компиляции all.spawn ТЧ и модов , работоспособность .bat с ЧН и ЗП не проверял.)

И сохраните под именем «decompile.bat» Запускайте батник. Через некоторое время появятся .ltx файлы. Все, ол спавн распакован и ждет шаманства над собой 🙂 (от «GE» — при работе ACDC от бардака в папке C:Perlbin по мимо отсальной кучи файлов «pl и прочих» + наших файлов ACDC появятся файлы: sections.ini, папка all с .ltx всех локаций и guids.)

Структура файлов

Я прошу прощения у автора этой статьи, но так как он мало разбирается в модостроении или стесняется писать правильно, счёл возможным внести некоторые правки в его статью. Правки буду вносить в скобках с указанием «дС»(дядяСаша) Рассмотрим структуру файлов. Файлы типа alife_ — это основные файлы(не основных файлов нет! каждый файл выполняет свою функцию(дС)), в которых содержаться секции спавна(Название, координаты, характеристики, логика или указания на логику объектов которые спавнятся в игре с помощью all.spawn(дС)) . Файлы типа way_ — это и есть «вэй». Сквады, логика и прочая дребедень(=Категорически неверно, ни каких сквадов и логики здесь нет. Здесь находятся только координаты точек путей по которым движутся НПС, монстры, техника, координаты костров, и других точек и зон требующихся для симуляции жизни в игре(дС)). Трогать мы их не будем. Откроем любой alife_ файл и увидим там много секций спавна. Вот одна из них:

А теперь подробнее

Файл all.ltx — это список файлов, которые упакованы в ол спавн.

Создаем новую секцию спавна

Ну вот, самое интересное начинается ) Открываем любой файл. Я буду спавнить свои объекты, на новой локации.

Читать еще:  Грузовики для S.T.A.L.K.E.R.: Shadow of Chernobyl

Допустим, нам нужно заспавнить сталкера. Создаем секцию спавна. ( ВНИМАНИЕ! ПРЕЖДЕ ЧЕМ СПАВНИТЬ СТАЛКЕРА, ЕГО НУЖНО СОЗДАТЬ). Как описывать новых напсано здесь

Сохраняем. Запаковываем ол спавн, файлом comlite.bat.

В папке gamedata создаем папку spawns и копируем файл new.spawn(он будет называться именно так). Потом переименовываем в all.spawn.

Статья не закончена и будет пополняться время от времени. Для начала хватит.

All.spawn SoC — легко. — Форум

Итак… Начнем сначала.
Для распаковкиупаковки all.spawn-а нам потребуется ActivePerl и ACDC
ActivePerl можно взять здесь ActivePerl
ACDC можно взять здесь ACDC
Далее устанавливаем ActivPerl желательно туда, куда он сам «просится»(например у меня получилось C:Perl)
Далее распаковываем ACDC и все содержимое помещаем в папку bin по пути (мой пример) C:Perlbin
Должно получиться так:





Все, подготовка закончена, начинаем работать с all.spawn-ом:

1. Нажимаем ПУСК — Выполнить. Появляется командное окно.

2. Вводим команду cmd. Появляется черное окно командной строки

3. В нем вводим cd и нажимаем ввод (enter) Происходит переход на другую стрку. Этой командой мы задали путь к диску С для работы с ним.

4. Далее вводим cd C:»название папки, куда поместили acdc» (В моем случае получится: cd C:Perlbin) нажимаем ввод (enter). Происходит переход на другую стрку. Этой командой мы задали путь к папке с которой будем работать. Вот здесь и надо будет вводить команды для acdc.

6. Вводим acdc11oct.pl -d all.spawn Нажимаем enter.

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


8. Если асдс не подходит, то он выдаст ошибку. Тут же в этом черном окне. Надо будет внимательно прочитать о чем ошибка. Обычно для разных модов не хватает какого-нибудь описания чего-нибудь. Например, может ругаться что не может найти af_soul.
Тогда надо будет открыть файл acdc11oct.pl блокнотом. Там найти, где описываются артефакты и в конце строк с артефактами сделать запись для af_soul, на примере других артефактов. После сохранить файл и заново набрать команду по распаковке.
9. Для запаковки all.spawn-а используем команду acdc11oct.pl -c all.ltx

После запаковки ltx-файлов, в этой же папке у нас появится наш новый all.spawn new, переименовываем его в просто all.spawn и помещаем его в gamedataspawns
10. . В файлах alife только обьекты(НПС, монстры, тайники и т.д.) которые спаунятся. А в way только пути. Путь это и есть путь. По которому может двигаться живой обьект.
Вот мы и научились распаковывать и запаковывать all.spawn. Дальше мы рассмотрим как работать с файлами alife_локация.ltx

P.S. ACDC не подходит для распаковки НС, ТТ, Прибой. Все вопросы по распаковке данных модов — к их авторам.

Ню воть. Как ужО Франки и сказал выше, после декомпиляции файла all.spawn мы получили кучу файликов alife и way.
Теперь займемся их внимательным рассмотрением. Я понимаю, что ручонки шаловливые уже так и чешутся что-нить заспавнить и покурочить, но придется сначала разобраться в «каше», чтоб научиться размазывать ее по тарелке.
При распаковке аллспавна SoC получаем 17 файлов alife.ltx, 16 файлов way.ltx, плюс файлик all.ltx.
Все файлы alife.ltx и way.ltx имеют уникальные коды и названия локаций. Думаю с переводом не перепутаете — нет ничего трудного. А в файле all.ltx перечислены все декомпилированные файлы.
Теперь залезем в нутро файликов и рассмотрим, что там находится. Для примера возьмем небольшую по размеру локацию — подземелья Агропрома.

Читать еще:  Файлы S.T.A.L.K.E.R.: Clear Sky

[1969] —— номер секции
; cse_abstract properties
section_name = physic_object —— имя секции для данного объекта (физический объект)
name = agr_und_physic_object_0013 —— имя данного объекта на локации(можно писать что душе угодно)
position = -42.1375885009766,-6.4863862991333,4.79316711425781 —— координаты объекта на локации
direction = 0,-1.39798474311829,-0 —— расположение/разворот объекта на точке спавна

; cse_alife_object properties
game_vertex_id = 703 —— вертекс координат объекта
distance = 0
level_vertex_id = 172 —— вертекс координат объекта
object_flags = 0xffffff3a

; cse_visual properties
visual_name = physicsbalonbochka_open_3 —— ссылка на файл в папке meshes с моделью объекта

; cse_alife_object_physic properties
physic_type = 0x3
mass = 10

Далее: section_name может быть разным — всё зависит от того, что отспавнено.
section_name = climable_object — лестницы и всякая байда, по которой ГГ передвигается;
section_name = lights_hanging_lamp — работающие лампы освещения;
section_name = physic_object — физический объект, в лапы не берется, на локации находится для «мебели»;
section_name = m_bloodsucker_e — кровосос, может стоять любое другое название монстра, с соответствующим визуалом;
section_name = space_restrictor — рестриктор, при попадании в зону которого, выдается поршень на что-либо;
section_name = zone_radioactive_weak — аномалия, в данном случае радиоактивная зона;
section_name = smart_terrain — гулаг, в данном случае для неписей;
section_name = stalker — НПС, «ху есть ху» смотрим ниже в этой же секции;
section_name = physic_destroyable_object — какой-либо разрушаемый объект;
section_name = af_fireball — артефакт, в данном случае Огненый шар;
section_name = wpn_ak74u — автоматик;
section_name = bandit_outfit — куртка бандосов.
Думаю, с именами секций всё понятно. Стоит только еще мальца поюзать по файлику и окончательно ясно что есть что. В крайнем случае — открываем алайф другой локации и подсматриваем, что еще и там имеется.

Заглянем еще в нутро секции НПС:

[1993]
; cse_abstract properties
section_name = stalker
name = kat_soldier_0002
position = -87.8630905151367,-16.4608001708984,-75.1350021362305
direction = 0,-0,0

; cse_alife_trader_abstract properties
money = 5000
character_profile = agr_soldier_regular —— ссылка на профиль в файле character_desk_локация

; cse_alife_object properties
game_vertex_id = 746
distance = 4.19999980926514
level_vertex_id = 2289
object_flags = 0xffffffff
custom_data =

[yan_soldier_1_walk] —— солдатик, который бродит по подземелью
points = p0,p1,p2,p3 —— количество точек его пути
p0:name = name00 —— имя точки
p0:position = -100.809448242188,-16.4646854400635,-76.8598327636719 —— координата «старта» его хождений
p0:game_vertex_id = 753 —— вертекс координаты «старта» его хождений
p0:level_vertex_id = 1533 —— вертекс координаты «старта» его хождений
p0:links = p1(1),p2(1),p3(1) —— переход из точки «старта» на другие точки и возврат на «старт»

p1:name = name01
p1:position = -94.0325241088867,-16.3908939361572,-76.5094223022461
p1:game_vertex_id = 754
p1:level_vertex_id = 2039
p1:links = p2(1),p0(1),p3(1)

p2:name = name02
p2:position = -93.6516723632813,-16.4646854400635,-80.4154586791992
p2:game_vertex_id = 754
p2:level_vertex_id = 2033
p2:links = p3(1),p0(1),p1(1)

p3:name = name03
p3:position = -100.529541015625,-16.4646854400635,-80.7191467285156
p3:game_vertex_id = 753
p3:level_vertex_id = 1528
p3:links = p0(1),p1(1),p2(1)

S.T.A.L.K.E.R.: Зов Припяти: Редактор (распаковки / упаковка all.spawn)

Распаковщик + Упаковщик db архивов XrCompress от 11.02.2016 для ТЧ, ЧН, ЗП.

Упаковщики ресурсов игры S.T.A.L.K.E.R. в db-архивы:

Папку gamedata с ресурсами закинуть в папку с названием игры (номером билда) и запустить Pack.cmd. Получившийся файл переименовать в нужный формат. Распаковывать архивы только конвертером Бардака. Плагин к коммандеру распаковал с ошибками.

Читать еще:  S.T.A.L.K.E.R.: Clear Sky "Новогодний мод by RedBull"

Compress для ТЧ (ru):
Компрессионный упаковщик ресурсов РУССКОЙ версии S.T.A.L.K.E.R. — ТЧ от YURSHAT.
Большие объемы бьет автоматически архивами по 2 gb.

hex-правки от macron:
Не брал *.avi, *.txt и *.tga-файлы, хотя в datapack.ltx их убрали из списка исключений. Пришлось в самом xrCompress.exe хексом переименовать .txt в .txz и т.д.. Тогда стал брать.

Compress для ЧН, ЗП:
Компрессионный у ресурсов игры ЧН и ЗП от LostAlphaRUS.

ВНИМАНИЕ. Не работает с *.omf файлами Sigerous Mod в папках meshesdynamicsweapons:

wpn_svu / wpn_hand_svu_hud_animation.omf
wpn_gp100 / wpn_gp100_hud_animation.omf
wpn_gp100 / wpn_hand_gp100_hud_animation.omf

Pack Build:
— Для билдов доступна только запаковка.

ПОЯСНЕНИЯ:
Файл datapack.ltx:
Секция options: Параметр exclude_exts — это расширения файлов которые игнорируются при упаковке.

include_folders и exclude_folders — это перечень всех папок, которые будут включенны в состав архива, и проигнорированны соответственно.

Файлы, расположенные в папке gamedata (например particles.xr и др.) компрессор может проигнорировать, их надо дописать в секцию include_files.

Секция header содержит служебную инфомацию. Параметр entry_point желательно не изменять.

Параметр auto_load должен равняться true, иначе иначе архив не будет читаться движком — вылет при запуске с ошибкой folder&&folder->size(). Можно исправить по другому — создав самый первый архив (gamedata.db0 или другой) db-пакером от Бардака. Тогда и последующие станут нормально грузиться. В этот самый первый архив надо вложить ВСЕ пустые папки, что есть в игре: ai, anims, config, levels, meshes, scripts, shaders, sounds, spauns, textures и т.д..

Команда для Pack.cmd:
xrCompress.exe -ltx [options]

Опции:
-fast (быстрое сжатие).
-store (сохранять файлы без сжатия).

-max_size 128, -max_size 256, -max_size 512, -max_size 640, -max_size 768, -max_size 1024 для Compress_SOCru или -128, -256, -512, -640, -768, -1024 для Compress_CS_COP соотвествено (если 512, то архив пакуется до

512 Мб,после начинает паковать в другой архив). Если у нас ключ стоял 128, а запаковал он 150 — 160 Мб, то это значит он так разделил архивы (упаковать ровно он не может).

-delete (удаляет DB архив, при запуске).
-nodelete (не удаляет db архив при запуске).
— (имя каталога).
-ltx (конфиг с путями для пакуемых файлов).
-pack (обязательная опция для упаковки файлов для Compress_CS_COP).

Получение различий между ресурсами (создание патча) — оригинальные ресурсы поместить в папку gamedata, изменённые ресурсы — в папке gamedata_new и запустить файл patch.cmd.

Команда для patch.bat:
xrCompress.exe -diff

    -out [options]

должны быть именами каталогов.

Опции:
-diff /? (опция для получения информации о созданных различиях).
-nofileage (не выполнять проверку на дату изменения файлов).
-crc (не выолнять проверку CRC32).
-nobinary (не выполнять проверку бинарных файлов).
-nosize (не выполнять проверку размера файлов).

Версия 1.0 от 08.11.2015:
— Сжатие ресурсов (алгоритм LZO).
— Новый ключ — pack.
— Упаковка до 1 гб.

Версия 1.01:
— Текстовые правки.
— Убрано сжатие .ogm файлов, т.к. они идут в многопоточном потоке.

Версия 1.1 от 01.12.2015:
— Новые ключи паковки.
— Исправлен вылет, когда мы хотели снова паковать,но у нас был db архив.

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector