Это популярное сообщение. KD87 718 Опубликовано 16 Сентября 2011 Это популярное сообщение. Поделиться Опубликовано 16 Сентября 2011 Как некоторым, может быть, известно, на X-Ray Engine Toolset идет развитие утилит, доставшихся нам вместе с исходниками от выдающихся программистов коммьюнити (прежде всего, конечно, bardak'a). В силу своих скудных навыков по программированию я занимаюсь прежде всего perl-скриптами - ACDC, game.graph recompiler и т.д. В этой теме я прошу тех мододелов, кто часто работает с perl-скриптами, помочь с отловом багов. Прежде всего интересует Universal ACDC - спавны каких модов не распаковывает, какие фичи не работают, все, что найдете. Здравые мысли по развитию скриптов также приветствуются. Надеюсь на вашу помощь. ----------------------------------------------------------- --S.T.A.L.K.E.R. *.spawn compiler/decompiler-- ----------------------------------------------------------- Версия: 1.38 Дата последних правок: 21.05.2014 Данный acdc предназначен для распаковки и запаковки all.spawn/level.spawn от любого билда, начиная с 1265. Основные фичи: -распаковка оригинальных спавнов ТЧ, ЧН, ЗП и билдов ТЧ, начиная с xrCore build 1265. -распаковка спавнов от модов (требуется папка конфигов от мода) -конвертация спавна в любую другую версию. -массовая замена гейм-вертексов в распакованном спавне. -разбивка all.spawn на level.spawn'ы и level.game'ы -сравнение файлов распакованного спавна -обновление вертексов согласно координат объектов Что нужно для работы: -собственно, сам спавн (all.spawn, level.spawn) -game.graph (только если распаковываете all.spawn). Если all.spawn от билда 3120, ЧН или ЗП - game.graph не нужен (он вшит в спавн). -папка configs (если распаковываете мод и acdc жалуется на unknown section) Для корректной работы используйте с папкой stkutils строго последней версии. Использование: Кладете all.spawn (или level.spawn) и game.graph в папку с программой, делаете батник (команды ниже), запускаете батник, радуетесь жизни. Пояснение по дальнейшему тексту: в угловых скобочках (<>) указано значение опции. Это путь до спавна, папка для распаковки и т.п., то есть то, что нужно вписывать вам. В квадратных скобочках ([]) указаны необязательные опции. Опции без скобочек - обязательны. Режим предназначен для распаковки файлов all.spawn и level.spawn Команда: universal_acdc.pl -d <spawn_file> [common_options] -d <spawn_file> - путь до спавна. common_options - общие опции. Читайте про них ниже. При распаковке спавнов от модов может возникнуть ошибка "unknown section". Это означает, что в моде используются нестандартные секции предметов/мобов. Для распаковки такого спавна необходимо использовать ключ -scan, указав ему в качестве параметра путь до папки config/configs. Пример смотрите в батнике acdc_decompile_scan. Режим предназначен для запаковки распакованных текстовых файлов спавна в all.spawn или level.spawn Команда: universal_acdc.pl -compile <dir> [-idx <index_file>] [-f <flag1,flag2,...>] [common_options] -compile <dir> - папка, в которой лежит распакованный спавн. Если работаете в текущей папке, <dir> не нужно. common_options - общие опции. Читайте про них ниже. -idx <index_file> - с этим ключом скрипт сформирует ltx конфиг с секциями вида: [13_box_wood_01_0021] ;формат - "индекс_локации"_"имя_объекта" id = 2907 ;id объекта story_id = -1 ;story_id объекта Такие записи создадутся для ВСЕХ объектов из спавна. Если указать ключ -idx без пути до конфига, он появится в папке с acdc (spawn_ids). Зачем это нужно? В игре вы сможете открыть этот файл из скриптов и найти нужный вам объект. Если раньше для нахождения нужного id объекта по имени требовалось перебрать все объекты в игре, теперь это можно сделать, просто считав id из нужной секции конфига. Также есть кое-какие дополнительные фичи: - при компиляции для правильной работы необязательно проставлять всем секциям в спавне параметры version и script_version. Достаточно поставить их в секции актора, ацдц далее будет использовать их. Полезно, когда спавн "сборный". - при компиляции контролируется уникальность параметров story_id, чтобы не мучиться потом с вылетами игры. Режим позволяет конвертировать спавны ТЧ, ЧН, ЗП между собой. Команда: universal_acdc.pl -convert <file> -version <new_version> [common_options] -convert <file> - файл, который нужно сконвертировать. Можно указывать как запакованный (*.spawn) спавн, так и распакованный (alife_***.ltx). Внимание! Так как граф и кросс-таблицы в ЧН и ЗП вшиты в спавн, для конвертирования ЗАПАКОВАННЫХ спавнов ТЧ в эти форматы вам потребуется положить в папку с acdc папку levels из игры. Необязательно копировать все файлы, достаточно оставить в папке с каждой локацией файл level.gct. -version <new_version> - новая версия спавна. Подобрать версию вы сможете, посмотрев файл spawn_versions.txt common_options - общие опции. Читайте про них ниже. Также поддерживается тонкая настройка конвертации через файл convert.ini. В файле есть две секции: [exclude] и [change]. В секции exclude можно прописать те секции, которые надо удалить из спавна при конвертации. Пример: [exclude] sections = m_trader, m_car, flesh_weak В секции change прописываются имена тех секций, в которых нужно что-то поменять или дополнить. Пример: [change] sections = inventory_box Далее заполняете файл записями для тех секций, которые вы прописали в change. Пример: [inventory_box] //section_name нужной секции add:custom_data = PREVED //префикс add используется для тех параметров, в которые нужно добавить add:game_vertex_id = 10000 //необходимое значение (если число - складывается, если строка - добавляется в конец) rep:level_vertex_id = 0 //префикс rep используется для параметров, которые необходимо заменить на что-то Общий пример. Следующий конфиг приведет к тому, что у всех сталкеров прибавится 500 к гейм-вертексу и визуал сменится на визуал вояки в противогазе: [exclude] [change] sections = stalker [stalker] add:game_vertex_id = 500 rep:visual_name = actors/soldier/soldier_antigas.ogf При подключении новых локаций без перекомпиляции графа возникает необходимость одновременного сдвига всех гейм-вертексов спавна новых локаций на какое-то определенное значение. Это можно сделать в этом режиме. Команда: acdc -parse <file> -old <old_gvid0> -new <new_gvid0> [-way] [common_options] -parse <file> - имя ltx, в котором находится спавн. -old <old_gvid0> - старый начальный game_vertex_id локации. -new <new_gvid0> - новый начальный game_vertex_id локации. -way - обрабатывает также файл way_***.ltx для этой же локации. Пример: acdc -parse alife_l01_escape.ltx -old 0 -new 934 Разбивка all.spawn на level.spawn может быть полезна при одновременной правке спавна в СДК и с помощью ACDC. Команда: acdc -split <file> [-use_graph] [-way] [common_options] -split <file> - разбиваемый спавн. Для восстановления граф-поинтов необходимы level.spawn для всех локаций, находящихся в графе. Их следует поместить в папку levels согласно их положению в геймдате сталкера - по папкам, соответствующим локациям. Папка levels должна быть в папке с acdc (или путь до нее можно задать ключом - читайте далее). -use_graph - использование game.graph для восстановления граф-поинтов. Плюс - не нужны level.spawn, минус - не восстанавливаются имена граф-поинтов (за исключением граф-поинтов переходов). -way - также из спавна генерируются level.game В этом режиме сравниваются два текстовых файла спавна. Итоговый файл формируется на основе первого файла. Все секции, которых нет во втором файле, но есть в первом, удаляются, а те секции, которые есть во втором, но нет в первом, переносятся в итоговый файл. Параметры секций не меняются. Режим позволяет сэкономить время в случае, если надо совместить два файла, причем секции там идут вразнобой. Команда: acdc -compare <file1,file2> [common_options] -compare <file1,file2> - файлы для сравнения Зачем нужно: при изменении аи-сетки у объектов изменяются game_vertex_id и level_vertex_id. Это влечет за собой необходимость повторного снятия данных параметров в игре. Данный режим позволяет автоматически обновить вертексы у всех секций спавна. Команда: universal_acdc -update <spawn_name> [common_options] -update <spawn_name> - all.spawn, для которого надо обновить вертексы. Режим update требует дополнительной настройки. В папке с acdc есть файл fs_vertex.ltx В этот файл необходимо вписать путь до локаций с ОБНОВЛЕННОЙ аи-сеткой. Обязательно должны присутствовать файлы level.ai, level.gct для всех локаций из спавна. ВНИМАНИЕ! Для нормальной отработки режима геймграф должен быть СТАРЫЙ, использовавшийся до перекомпиляции. После нормальной отработки режима спавн можно распаковывать уже с НОВЫМ геймграфом. -out <file> - путь до файла/папки с результатом. Имеет разный смысл для разных опций: для decompile, parse - папка с результатом для compile, convert - результрующий файл. для split - папка levels, куда сохранять level.spawn. -scan <scan_dir> - путь до папки с конфигами. Используется в случае спавнов от модов. -g <graph_dir> - путь до папки с game.graph. Бесполезен для compile и parse, а также, если работаете со спавном ЧН, ЗП, build 3120. -level - обрабатывать спавн как level.spawn. -af - также распаковываются\запаковываются места спавна артефактов в аномалиях (section2.bin). -nofatal - отключает вылет при фатальной ошибке, заменяя ее предупреждением. Если acdc генерирует ошибку 'unknown clsid ... for section...', это означает, что в данном моде добавлены новые пары клиентский/серверный класс в class_registrator.script. Дабы не усложнять работу с acdc, такие пары не определяются автоматически. Лучше всего сообщить об этом мне, однако, если вы понимаете, что находится внутри class_registrator.script, можете добавить новые сеты в clsids.ini сами. Сеты добавляются в таком формате: clsid = соответствующий_серверный_класс Пример: ZS_ELECT = se_zone_anom ================================= Любые имена опций можно сокращать. К примеру, необязательно использовать именно -use_graph, скрипт поймет также и -use, и -u. Однако ряд опций при сокращении их имени могут конфликтовать друг с другом. -compile нельзя сократить до -c, поскольку в таком случае скрипту неясно, что имеется ввиду: -compile или -convert. В таком случае наиболее короткое имя для compile будет таким: -com 1.38: [!] добавлена поддержка релизного спавна Lost Alpha [!] исправлена конвертация и конвертация 1.37: [+] добавлена распаковка и запаковка спавна билда Lost Alpha [!] все не распознанные пути при сплите теперь сваливаются в unrecognized_ways.game 1.36: [!] исправлена разбивка спавна на level.spawn и level.game [!] исправлено сканирование конфигов 1.35: [!] исправлено автоназначение версии при отсутствии этого параметра в секции [!] убрано чтение game.graph при компиляции 1.34: [!] исправлено обновление вертексов [+] добавлено обновление параметра distance при обновлении вертексов [+] добавлен контроль уникальности story_id при компиляции 1.33: [!] исправлена распаковка спавнов некоторых билдов [+] добавлен режим обновления вертексов [+] добавлен "умный" разбор way-объектов по локациям для режима split 1.322: [+] добавлено сравнение распакованных файлов 1.321: [!] исправлена распаковка спавнов ЗП 1.32: [!] guids.ltx больше не нужен без ключа -idx [+] реализована сортировка way-объектов по алфавиту [+] реализовано определение принадлежности way-секции к локации по gvid и префиксу [+] реализована сортировка alife-объектов 1.31: [!] изменен алгоритм сканирования конфигов [!] изменен приоритет запросов из clsids.ini, теперь данные из него перекрывают внутренние таблицы [!] скрипт адаптирован под новую систему отладочных сообщений [f] поправлена логика работы с пакетом актора в ЧН [+] добавлена возможность вынесения лога в файл [+] добавлена возможность вынесения сетов в отдельный конфиг-файл 1.30: [f] теперь новая версия обработчика ошибок по-прежнему обрабатывает спавн Народной солянки [f] исправлены проблемы распаковки level.spawn некоторых билдов 1.29: [f] исправлена ошибка распаковки level.spawn билдов [f] исправлена ошибка распаковки спавна ЧН [f] всякие мелкие правки 1.28: [f] исправлено игнорирование парсером ключа -way в режиме split. [f] исправлена ошибка сканирования конфигов при компиляции. [f] исправлена ошибка чтения секций некоторых se-классов. [f] исправлена ошибка разбивки спавна, из-за которой генерировались левел спавны неправильного формата. [+] добавлен контроль дубликатов актора при компиляции. 1.27: [f] исправлена ошибка парсера, в некоторых случаях приводившая к порче логики. [f] исправлено создание папок при сохранении результата. [+] добавлена переинициализация параметров секции после смены класса при конвертации. Это расширяет диапазон версий, доступных для конвертирования. [+] добавлена поддержка масок при конвертации. [+] добавлен ключ -ini в режиме конвертации 1.26: [f] поправлена распаковка спавнов ЧН. [+] добавлено автоматическое заполнение версии спавна из первой секции (если актора в спавне нет). [+] что-то еще по мелочи, не помню. 1.25: [f] отключен вывод пустого параметра spawned_obj при распаковке. [+] реализовано автоматическое заполнение параметров version и script_version при запаковке спавнов с секциями из разных версий игры. Версия берется из конфига актора. 1.24: [f] исправлена распаковка/запаковка спавна билда 2571. [f] исправлена запись guids.ltx [f] мелкие правки 1.23b: [+] убрано предупреждение "state data left" при распаковке спавнов ЗП, запакованных ранее с помощью acdccop. [f] исправлены ошибки split, из-за которых могли получаться кривые level.spawn [f] переделана логика чтения/записи пакетов se_stalker/se_monster [f] мелкие изменения 1.22b: [+] добавлен ключ -nofatal 1.21b: [f] исправлены небольшие опечатки в коде. [f] парсер теперь корректно читает значения с комментариями. 1.2b: [f] небольшие правки по конвертации. [+] добавленные в модах соответствия clsid -> серверный класс теперь редактируются в отдельном конфиге (clsids.ini). [+] ошибка при встрече незнакомого clsid теперь выдается при распаковки секции спавна с таким clsid, а не при сканировании конфигов, как раньше. 1.1b: [+] проверена распаковка билд-спавнов, решена проблема декомпиляции спавнов билдов 25хх. [+] добавлен контроль наличия параметра version в секциях распакованного спавна. [f] исправлено исключение файла со spawn_id объектов при сканировании конфигов. 1.0b: [+] основательно переработан код, часть скрипта вынесена в отдельные модули. [f] исправлены все не работавшие функции. [+] увеличена скорость выполнения кода, уменьшены требования по памяти. ACDC для ТЧ - bardak, для ЗП - bardak, @Kolmogor. Все остальное - @KD87 Используйте/выкладывайте где и как хотите, с указанием авторов. Новичкам в редактировании спавна поможет краткая инструкция: Чтобы не плодить сторонних папок и все было под рукой для работы и игры - будем работать прямо в рабочей папке с игрой/модом. Устанавливаем и настраиваем комплект ACDC: 1. Открываем папку 'gamedata\spawns' и в ней создаем папку 'acdc'. 2. В эту папку (acdc) копируем (распаковываем) весь комплект файлов из архива 'Universal ACDC.7z', т.е. в папке должны лежать: - universal_acdc.pl - перл-скрипт утилиты; - acdc_decompile.bat - командный файл для распаковки; - acdc_compile.bat - командный файл для запаковки; - stkutils - папка со служебными библиотеками утилиты; ... - необязательные или технологические файлы (universal_acdc_readme.txt и т.п.). 4. Выходим опять в папку 'gamedata\spawns' и создаем в ней папку 'unpack' - в этой папке будут находиться файлы распакованного спавна. 5. Открываем командный файл (батник) 'acdc_decompile.bat' и изменяем в нем строку на эту: universal_acdc.pl -d ../all.spawn -o ../unpack -g ../../ -scan ../../config/ 6. Открываем командный файл (батник) 'acdc_compile.bat' и изменяем в нем строку на эту: universal_acdc.pl -c ../unpack -o ../all.spawn 7. Проверьте, есть ли в папке 'gamedata' файл 'game.graph'. Если его нет - распакуйте его из пак-файлов (gamedata.db*) оригинальной игры и скопируйте в папку 'gamedata' мода. 8. Важно! Для вашей безопасности скопируйте файл 'all.spawn' в удобное вам место (зарезервируйте) для возможности восстановления исходного файла спавна после возможных ваших ошибок при редактировании. Все, ваш комплект готов для работы с 'all/spawn'-ом на лету, т.е. вы можете запускать игру и играть, можете распаковывать, редактировать и запаковывать файл спавна. - Распаковка - запускаете 'acdc_decompile.bat' (см. по пути '\gamedata\spawns\acdc'); - Редактируете в папке 'unpack' (см. по пути '\gamedata\spawns\unpack'); - Запаковка - запускаете 'acdc_compile.bat' (см. по пути '\gamedata\spawns\acdc'); - ... проверяете в игре. Примечание: Если у вас стоит ОС Windows 7 - возможно потребуется в начало командных строк добавить вызов 'perl': perl universal_acdc.pl -d ../all.spawn -o ../unpack -g ../../ -scan ../../config/ perl universal_acdc.pl -c ../unpack -o ../all.spawn Успехов в модмейкерстве! :-) Для удобства выкладываю ссылку на ACDC отдельно (папка stkutils - ставить обязательно!) Версия 1.38 Для работы необходим Active Perl (брать с официального сайта) - LA (билд) - АМК v.1.4.1 - Z.E.N.O.B.I.A.N mod - NLC 2-6 - SIMBION - OGSM v.2.3.1 Final - Народная солянка 2010 от 19.04 (с ключом -nofatal) - R.M.A. v.1.1 - Oblivion_Lost - SRP - Тайные тропы 2 - Lost World - Requital - Lost World - Trops of Doom - OGSM v.1.7 (для распаковки исправьте в w_vintorez.ltx class = WP_VINT на class = WP_AK74 либо используйте ключ -nofatal) - Difficult Zone Mod v.1.0 (аналогично OGSM) - SolinX v.1.1.3 - SolinX v.2.0 (без сканирования) - Full Realism Mod v.1.0 - Shoker Mod v.1.2 (без сканирования) - SGM v.1.7 - SGM v.2.0 - Slayer mod beta 0.17 - ARS v.0.5.2 (без сканирования) - AMK ЗП v.0.4 Priboi Story не распаковывается из-за xrSpawner. Кому надо, вот распакованный спавн. Постите результаты распаковки спавнов, полученные вами. Внимание! Для повторного сканирования конфигов необходимо удалить файл sections.ini. Или воспользоваться батником acdc_decompile_scan (распаковка). Собрал большинство перл-скриптов в кучу и адаптировал их под единую библиотеку модулей stkutils. Написал пару новых скриптов. Итак: gamemtl.xr (поддерживается полная распаковка)lanims.xr (поддерживается полная распаковка)particles.xr (поддерживается только распаковка на бинарные файлы)shaders.xr (поддерживается полная распаковка)shaders_xrlc.xr (поддерживается полная распаковка)senvironment.xr (поддерживается полная распаковка) levellevel.snd_staticlevel.ps_static Распаковщик спавнов universal acdc 1.35 Распаковщик сохранений save unpacker 0.4 Сборщик/разборщик файлов RIFF-формата: chunk parser Скрипт для массовой замены строк файлах формата ini сталкера: data repclacement ini Скрипт для массовой замены строк в произвольных текстовых файлах: data repclacement text Скрипт для изменения высоты травы: details height changer Скрипт для копирования ресурсов разрабатываемой локации из СДК: resource copier Распакованную библиотеку модулей (папка stkutils) нужно положить в папку со скриптом или (советую) в C:\Perl\lib (или аналогичную папку, если вы установили ActivePerl в другую папку). Во втором случае stkutils будет работать для всех скриптов сразу независимо от расположения. Universal ACDC.exe от @PSI - версия утилиты, собранная в виде единого .exe файла и не требующая установки дополнительного софта.Репозиторий проектаСсылки на скачивание Universal ACDC v1.40 от @abramcumner - добавлено чтение секций из system.ltx - исправлены переносы строк при разбиении all.spawnРепозиторий проектаСcылки на скачивание 6 9 8 Ссылка на комментарий
Vlad808 14 Опубликовано 2 Мая 2015 Поделиться Опубликовано 2 Мая 2015 Всем доброго времени суток! Мои действия: Работаю с утилитами ggrc.pl v.0.3 и ggrc.pl v.0.6. В первом случае объединяю локации чистой ТЧ 1.0004 с локацией hiding_road. Во втором случае случае объединяю локации чистой ТЧ 1.0004 с локацией jupiter_underground CoP. Все действия произвожу согласно readme утилит. В обоих случаях game.graph формируется без проблем. Распаковываю полученные game.graph утилитой gg_cdc для просмотра полученных вертексов и создания level_changer с Кордона на присоединённую локацию (в обоих случаях), пока без АИ-переходов. Составляю all.spawn и все необходимые записи в файлах game_graphs, game_levels, game_maps_single. Всё полученное вставляю в gamedata, запускаю игру. Результат в обоих случаях: Всё работает нормально и осуществляется переход ГГ на новые локации, есть спавн аномалий (для теста) - вроде бы всё норм. Но! По показаниям утилиты Position вертексы новых локаций под ГГ не поменялись , а остались прежними в своем начальном виде. При любом сохранении на новых локациях и запуске этих сейвов, ГГ оказывается на других локациях ТЧ соответствующих вертексов новых локаций. В распакованных game.graph в файлах game.graph.levels_info наблюдается некоторая "каша" после [level_11], но исправление к положительному результату не приводит. Вывод: новый game.graph нормально работает только со спавн элементами, а с ГГ только до первого сохранения или его смерти. Получается проблема где то в файлах level.ai и level.gct вновь сформированных локаций (именно присоединяемых) - то есть какой то из этих файлов не обработался. Возможно я где то допустил ошибки!? Вопрос: Как эту проблему исправить? Судя по сообщениям форума такой вопрос уже неоднократно задавался. Очень надеюсь на практическую помощь. Ссылка на комментарий
UnLoaded 313 Опубликовано 2 Мая 2015 Поделиться Опубликовано 2 Мая 2015 Вопрос: Как эту проблему исправить? Судя по сообщениям форума такой вопрос уже неоднократно задавался. Скоро уже наверное дятлом обзовут, но опять-же: СДК + xrAI... А все эти ggrc и gg_cdc, времен, когда нормальные инструменты не были доступны - если не в топку, то где-то рядом... Ссылка на комментарий
Vlad808 14 Опубликовано 3 Мая 2015 Поделиться Опубликовано 3 Мая 2015 Всем доброго времени суток! По рекомендации UnLoaded вернулся к работе с SDK (к сожалению эту программу только недавно начал изучать - поэтому и обратился к альтернативной ggrc.pl). Завершил объединение локации hiding_road с локациями ТЧ 1.0004. Все вертексы встали на места - утилита Position показывает правильные вертексы соответствующие game.graph. Все сохранения срабатывают нормально - ГГ становиться на нужные вертексы при загрузке сейвов. Мои действия: В SDK произвёл все необходимые этапы, вот только не сформировался all.spawn (выдал ошибку Microsoft), постепенно разберусь в причине сбоя. Разумеется лог игры выдал несоответствие game.graph и all.spawn. Обновлённую папку hiding_road(levels) после SDK опять вставил в ggrc.pl - получил положительный результат. Да довольно странные манипуляции. Изучу туторы и необходимые видео по теме SDK, заменю AIwrapper (он не из шапки темы SDK) - возможно в нём причина не собравшегося all.spawn. По прежнему приму все практические советы. Ссылка на комментарий
UnLoaded 313 Опубликовано 3 Мая 2015 Поделиться Опубликовано 3 Мая 2015 В SDK произвёл все необходимые этапы, вот только не сформировался all.spawn ( Эмм, all.spawn формируется не в СДК, а xrAI -s. Этот этап отработал без ошибок ? заменю AIwrapper Опять-же, если есть xrAI, зачем AIwrapper ? Ссылка на комментарий
Romann 623 Опубликовано 6 Мая 2015 Поделиться Опубликовано 6 Мая 2015 (изменено) Всем доброго времени суток. Пытаюсь распаковать all.spawn ОП-2, C:\Users\Я\Desktop\zzzzz>universal_acdc.pl -d all.spawn -out All\all -scan config\ -sort complex -nofataldefined(@array) is deprecated at stkutils/ini_file.pm line 146.(Maybe you should just omit the defined()?)defined(@array) is deprecated at stkutils/data_packet.pm line 859.(Maybe you should just omit the defined()?)defined(@array) is deprecated at C:\Users\▀\Desktop\zzzzz\universal_acdc.pl line537.(Maybe you should just omit the defined()?)defined(@array) is deprecated at C:\Users\▀\Desktop\zzzzz\universal_acdc.pl line905.(Maybe you should just omit the defined()?)log inited: consoleUniversal ACDC v.1.32checking version of all.spawn...This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)opening all.spawn...reading header...reading alife objects...handling error with zone_ogon, template Cunpacking spawn of Narodnaya Solyanka, huh? OK...WARNING!Function: main::__ANON__Line: 1300Description:WARNING!Function: stkutils::file::entity::errorLine: 248Description: stkutils::file::entity::read_m_update 128 $packet->resid() == 0 update data left [1] in entity kat_wpn_ak74_m1handling error with zone_zvon, template Cunpacking spawn of Narodnaya Solyanka, huh? OK...handling error with wpn_val, template f3FATAL ERROR!Function: stkutils::data_packet::error_handlerLine: 1548Description: unhandled exceptionC:\Users\Я\Desktop\zzzzz>pauseДля продолжения нажмите любую клавишу . . . perl universal_acdc.pl -d all.spawn -out all -scan config/ -sort complex -nofatalpause Сделал всё правильно, конфиги положил - уже не первый all.spawn распаковываю... Вопрос снимаю - дело в классе, поправил в sections.ini , и всё распаковалось ) Изменено 6 Мая 2015 пользователем Romann Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
Eugen81 1 008 Опубликовано 6 Мая 2015 Поделиться Опубликовано 6 Мая 2015 @Romann, убери ключ sort, он не нужен. Для декомпиляции надо в конфиге ВАЛа, config\weapons\w_val.ltx, поменять класс: -- вместо class = WP_AK74 -- сделать class = W_VAL 1 Ссылка на комментарий
s-un*x 0 Опубликовано 6 Мая 2015 Поделиться Опубликовано 6 Мая 2015 (изменено) Наконец, версия 1.38 от 21.05.2014 справилась с распаковкой без ошибок. Спасыбо! $ perl5 universal_acdc.pl -d all.spawn -out all_cs -sort complex -nofatallog inited: consoleUniversal ACDC v.1.38checking version of all.spawn...This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)opening all.spawn...reading header...reading alife objects...reading artefact spawn places...reading way objects...reading game graph...reading header...reading levels...reading vertices...exporting alife objects...exporting alife objects on level l07_military...exporting alife objects on level l05_bar...exporting alife objects on level l12u_control_monolith...exporting alife objects on level l02_garbage...exporting alife objects on level l01_escape...exporting alife objects on level l12u_sarcofag...exporting alife objects on level l10_radar...exporting alife objects on level l04u_labx18...exporting alife objects on level l03_agroprom...exporting alife objects on level l08_yantar...exporting alife objects on level l10u_bunker...exporting alife objects on level l11_pripyat...exporting alife objects on level l12_stancia...exporting alife objects on level l06_rostok...exporting alife objects on level l03u_agr_underground...exporting alife objects on level l12_stancia_2...exporting alife objects on level l08u_brainlab...exporting alife objects on level l04_darkvalley...exporting raw data...exporting way objects on level l08_yantar...exporting way objects on level l02_garbage...exporting way objects on level l08u_brainlab...exporting way objects on level l12u_sarcofag...exporting way objects on level l12_stancia...exporting way objects on level l12_stancia_2...exporting way objects on level l10_radar...exporting way objects on level l07_military...exporting way objects on level l06_rostok...exporting way objects on level l03_agroprom...exporting way objects on level l04u_labx18...exporting way objects on level l11_pripyat...exporting way objects on level _level_unknown...exporting way objects on level l01_escape...exporting way objects on level l05_bar...exporting way objects on level l03u_agr_underground...exporting way objects on level l12u_control_monolith...exporting way objects on level l04_darkvalley...exporting way objects on level l10u_bunker...done! Нашел какой-то безымянный древний мод и решил поправить all.spawn. Пришлось немного повозиться. Нужно было добавить в section.ini: 'dolg_arhive_documents' = cse_alife_item'war_final_door_key1' = cse_alife_item'cit_deadcity_maps' = cse_alife_item'cit_vp_pda' = cse_alife_item'outfit_monolith_m1' = cse_alife_item_custom_outfit'wpn_vintorez_coll' = cse_alife_item_weapon'zombie_1_normal' = se_monster'fracture_weak' = se_monster'zombie_7_strong' = se_monster'zombie_2_normal' = se_monster'chimera_strong' = se_monster'zombie_4_normal' = se_monster'zombie_5_strong' = se_monster'zombie_6_normal' = se_monster'fracture_normal' = se_monster'cat_normal' = se_monster'zombie_1_ghost_strong' = se_monster'zombie_immortal_2_weak' = se_monster'fracture_strong' = se_monster'cat_strong' = se_monster'zombie_7_normal' = se_monster'stalker_arena_savage' = se_stalker Извините за оффтоп. Изменено 6 Мая 2015 пользователем BFG Добавлено BFG, 6 Мая 2015 Предупреждение ! Красный - цвет Модераторов. Читаем Правила. Ссылка на комментарий
tsap-tsap 0 Опубликовано 17 Мая 2015 Поделиться Опубликовано 17 Мая 2015 Romann, если не секрет, то что именно ты изменил/добавил в sections.ini? У меня практически подобная ошибка при распаковке all.spawn ОП-2. Ссылка на комментарий
Serega111 1 Опубликовано 21 Мая 2015 Поделиться Опубликовано 21 Мая 2015 При распаковке all.spawn(ОП-2) в логе выводится следущее: Universal ACDC v.1.38checking version of all.spawn...This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)scanning configs...done!opening all.spawn...reading header...reading alife objects...handling error with zone_ogon, template Cunpacking spawn of Narodnaya Solyanka, huh? OK...WARNING!Function: main::__ANON__Line: 1380Description:WARNING!Function: stkutils::file::entity::errorLine: 249Description: stkutils::file::entity::read_m_update 129 $packet->resid() == 0 update data left [1] in entity kat_wpn_ak74_m1handling error with zone_zvon, template Cunpacking spawn of Narodnaya Solyanka, huh? OK...WARNING!Function: main::__ANON__Line: 1380Description:WARNING!Function: stkutils::file::entity::read_m_spawnLine: 122Description: state data left [1] in entity sky_anomaly_apocalypse_zatonreading artefact spawn places...reading way objects...reading game graph...reading header...reading levels...reading vertices...exporting alife objects...exporting alife objects on level marsh...exporting alife objects on level lost_village...exporting alife objects on level l05_bar...exporting alife objects on level av_peshera...exporting alife objects on level l12u_control_monolith...exporting alife objects on level l02_garbage...exporting alife objects on level l01_escape...exporting alife objects on level warlab...exporting alife objects on level l12u_sarcofag...exporting alife objects on level limansk...exporting alife objects on level aver...exporting alife objects on level hospital...exporting alife objects on level l11_pripyat...exporting alife objects on level l10u_bunker...exporting alife objects on level puzir...exporting alife objects on level l08u_brainlab...exporting alife objects on level red_forest...exporting alife objects on level zaton...exporting alife objects on level l07_military...exporting alife objects on level atp_for_test22...exporting alife objects on level l10_radar...exporting alife objects on level peshera...exporting alife objects on level generators...exporting alife objects on level l04u_labx18...exporting alife objects on level labx8...exporting alife objects on level l03_agroprom...exporting alife objects on level jupiter...exporting alife objects on level l08_yantar...exporting alife objects on level l12_stancia...exporting alife objects on level l06_rostok...exporting alife objects on level jupiter_underground...exporting alife objects on level l03u_agr_underground...exporting alife objects on level dead_city...exporting alife objects on level pripyat...exporting alife objects on level l12_stancia_2...exporting alife objects on level l04_darkvalley...exporting raw data...exporting way objects on level l02_garbage...exporting way objects on level l08u_brainlab...exporting way objects on level limansk...exporting way objects on level l12_stancia_2...exporting way objects on level jupiter...exporting way objects on level atp_for_test22...exporting way objects on level av_peshera...exporting way objects on level l07_military...exporting way objects on level dead_city...exporting way objects on level lost_village...exporting way objects on level l11_pripyat...exporting way objects on level l01_escape...exporting way objects on level l12u_control_monolith...exporting way objects on level l05_bar...exporting way objects on level l03u_agr_underground...exporting way objects on level l04_darkvalley...exporting way objects on level zaton...exporting way objects on level peshera...exporting way objects on level l08_yantar...exporting way objects on level jupiter_underground...exporting way objects on level l12u_sarcofag...exporting way objects on level l12_stancia...exporting way objects on level warlab...exporting way objects on level hospital...exporting way objects on level puzir...exporting way objects on level l10_radar...exporting way objects on level l06_rostok...exporting way objects on level red_forest...exporting way objects on level l03_agroprom...exporting way objects on level l04u_labx18...exporting way objects on level pripyat...exporting way objects on level _level_unknown...exporting way objects on level aver...exporting way objects on level generators...exporting way objects on level l10u_bunker...exporting way objects on level labx8...exporting way objects on level marsh...done! Как можно исправить? Ссылка на комментарий
Alkseur 43 Опубликовано 3 Июня 2015 Поделиться Опубликовано 3 Июня 2015 (изменено) Ребята помогите создать батник для распаковки спавна со сканированием конфига - в шапке вроде даны указания по этому поводу, но всё равно не выходит. Который день бьюсь над тем чтобы распаковать all.spawn от нлс6 "Начало" - но выходит одна только вот такая бяка: FATAL ERROR!Function: stkutils::scan::get_classLine: 1919Description: cannot find clsid for class inventory_sakbox_01 Изменено 3 Июня 2015 пользователем Alkseur Добавлено BFG, 3 Июня 2015 Батник то продемонстрируй. То, что только можно выдумать, скорее всего уже где-то существует. Ссылка на комментарий
Alkseur 43 Опубликовано 4 Июня 2015 Поделиться Опубликовано 4 Июня 2015 (изменено) Прошу извинить - вот батник, конфиг в одноимённой папке. del sections.iniuniversal_acdc.pl -d all.spawn -out all -scan config/ -nofatalpausepause П.С. Дело не в батнике - никто не подскажет как собственно прописать "clsid" - такой штуке как "inventory_sakbox_01"? С такой же проблемой люди уже обращались - но ответа так никто не дал, а услышать его очень хотелось бы. Изменено 4 Июня 2015 пользователем Alkseur То, что только можно выдумать, скорее всего уже где-то существует. Ссылка на комментарий
mwesten1 1 Опубликовано 6 Июня 2015 Поделиться Опубликовано 6 Июня 2015 Делал по инструкции Добавлено BFG, 8 Июня 2015 В батнике поправь команду. Вместо буквы "о", напиши полностью "out". Не соответствует правилам. Ссылка на комментарий
Pro100The-Best 0 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 Подскажите пожалуйста. Как делать свои alife_**.ltx и way_**.ltx файлы? Ссылка на комментарий
UnLoaded 313 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 Подскажите пожалуйста. Как делать свои alife_**.ltx и way_**.ltx файлы? Берёте uACDC, распаковываете(декомпилируете) all.spawn той версии игры\мода, на базе которого хотите\пытаетесь сделать что-то свое. В результате получите папку, в которой будут вышеозначенные файлы для всех локаций, включенных в игру\мод. Правите, изменяя\добавляя что-то свое, затем запаковываете(компилируете) all.spawn - и радуетесь жизни... Ссылка на комментарий
kramer 62 Опубликовано 16 Июня 2015 Поделиться Опубликовано 16 Июня 2015 (изменено) Уважаемые, не подскажете что не так при распаковке? Читал в этой теме похожее было со стволом в ОП2, но не уверен на какой класс нужно поменять БМ16 в этом случае... all.spawn -out unpack -scan config/ -nofatallog inited: consoleUniversal ACDC v.1.38checking version of all.spawn...This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)opening all.spawn...reading header...reading alife objects...handling error with wpn_bm16, template C/CFATAL ERROR!Function: stkutils::data_packet::error_handlerLine: 1548Description: unhandled exception P.S. all.spawn из Вариант Омега 4, финальный патч Изменено 16 Июня 2015 пользователем kramer Ссылка на комментарий
UnLoaded 313 Опубликовано 16 Июня 2015 Поделиться Опубликовано 16 Июня 2015 @kramer В файле gamedata\scripts\class_registrator.script посмотри что прописано для БМ-16. В оригинале выглядит так: cs_register(object_factory, "CWeaponBM16", "se_item.se_weapon_shotgun", "WP_BM16", "wpn_bm16_s") Отпишись... Ссылка на комментарий
kramer 62 Опубликовано 16 Июня 2015 Поделиться Опубликовано 16 Июня 2015 @UnLoaded, Именно так все и прописано. Проверил запятые, пробелы - вроде сходится...Я тут попытался другими версиями декомпилировать. 1.322 выдал вот такой лог, длиннее, но все про то же: universal_acdc.pl -d all.spawn -out all -scan config/ -nofatallog inited: consoleUniversal ACDC v.1.322scanning configs...problems occured while scanning configs. Try again...done!checking version of all.spawn...This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)opening all.spawn...reading header...reading alife objects...handling error with wpn_bm16, template C/CUncaught exception from user code:FATAL ERROR!Function: stkutils::data_packet::error_handlerLine: 1548Description: unhandled exceptionat stkutils/debug.pm line 58stkutils::debug::fail('unhandled exception\x{a}') called at stkutils/data_packet.pm line 1548stkutils::data_packet::error_handler('stkutils::data_packet=HASH(0x454a614)', 'cse_alife_item_weapon_shotgun=HASH(0x4548ad4)', 'C/C') called at stkutils/data_packet.pm line 204stkutils::data_packet::_unpack_vector('stkutils::data_packet=HASH(0x454a614)', 'cse_alife_item_weapon_shotgun=HASH(0x4548ad4)', 'HASH(0x37d7d7c)') called at stkutils/data_packet.pm line 177stkutils::data_packet::unpack_properties('stkutils::data_packet=HASH(0x454a614)', 'cse_alife_item_weapon_shotgun=HASH(0x4548ad4)', 'HASH(0x37d7d7c)') called at stkutils/file/entity.pm line 5348cse_alife_item_weapon_shotgun::update_read('cse_alife_item_weapon_shotgun=HASH(0x4548ad4)', 'stkutils::data_packet=HASH(0x454a614)') called at stkutils/file/entity.pm line 127stkutils::file::entity::read_m_update('stkutils::file::entity=HASH(0x4548ac4)', 'stkutils::data_packet=HASH(0x454a614)') called at stkutils/file/entity.pm line 84stkutils::file::entity::read_new('stkutils::file::entity=HASH(0x4548ac4)', 'stkutils::chunked=HASH(0x3da009c)') called at stkutils/file/entity.pm line 57 Не знаю поможет ли такая инфа? Ссылка на комментарий
kramer 62 Опубликовано 18 Июня 2015 Поделиться Опубликовано 18 Июня 2015 (изменено) По поводу распаковки allspawn для Вариант Омега 4. Решился я таки и в section.ini обозвал БМ16 - cse_alife_item_weapon_magazined. Сработало. Правда еще warning'ов повылазило. Если кому не в тягость напомните пожалуйста, что это за 3 проблемки под спойлером и помешают ли они мне запаковать спавн назад. За два дня всю тему прочитал, помню видел такое, но где не помню, придется опять все просматривать... all.spawn -out unpack -scan config/ -nofatallog inited: consoleUniversal ACDC v.1.38checking version of all.spawn...This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)opening all.spawn...reading header...reading alife objects...WARNING!Function: main::__ANON__Line: 1380Description:WARNING!Function: stkutils::file::entity::errorLine: 249Description: stkutils::file::entity::read_m_update 129 $packet->resid() == 0 update data left [1] in entity aver_wpn_g36WARNING!Function: main::__ANON__Line: 1380Description:WARNING!Function: stkutils::file::entity::errorLine: 249Description: stkutils::file::entity::read_m_update 129 $packet->resid() == 0 update data left [1] in entity mil_wpn_ak74uWARNING!Function: main::__ANON__Line: 1380Description:WARNING!Function: stkutils::file::entity::read_m_spawnLine: 122Description: state data left [1] in entity bun_doc_5 P.S. Нашел пост КД87 от 2011 года, вроде бы эти вещи не должны влиять на запаковку... Изменено 18 Июня 2015 пользователем kramer Ссылка на комментарий
UnLoaded 313 Опубликовано 19 Июня 2015 Поделиться Опубликовано 19 Июня 2015 и помешают ли они мне запаковать спавн назад Ну так проверь! Чего проще - запакуй и смотри, будет ли какая ругань при запаковке или нет. Если нет, то практически 100%, что все в норме. Ссылка на комментарий
kramer 62 Опубликовано 19 Июня 2015 Поделиться Опубликовано 19 Июня 2015 @UnLoaded, Я уже в П.С. написал - нашел, где про это рассказывают. Протестировал, все отлично. Всем спасибо. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти