Это популярное сообщение. 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 Ссылка на комментарий
ur3icf 16 Опубликовано 30 Января 2017 Поделиться Опубликовано 30 Января 2017 насколько мне известно что acdc работает с 32битной perl Ничего подобного! Рerl должен быть той-же разрядности что и система. У меня Windows 10 x64 и perl той-же разрядности и все прекрасно работает. 1 AMD FX-8370 8 X 4.34GHz; RAM 16Gb; MSI GTX-1070X 8G; Windows10(х64) Ссылка на комментарий
gam 117 Опубликовано 30 Января 2017 Поделиться Опубликовано 30 Января 2017 Он у меня правленый с бессмертными квестовиками. Если еще нужно: https://yadi.sk/d/WE-t9y003BmjDB Ссылка на комментарий
ARayKo60 233 Опубликовано 30 Января 2017 Поделиться Опубликовано 30 Января 2017 Нужен ли мануал, по распаковке спавна мода История Прибоя? 1 Ссылка на комментарий
UnLoaded 313 Опубликовано 31 Января 2017 Поделиться Опубликовано 31 Января 2017 Нужен ли мануал, по распаковке спавна Эммм, если первый раз будешь делать - почитать мануал никогда не помешает... А для распаковки мода нужны(из распаковываемого мода) папка config, файлы game.graph и all.spawn + правильное содержимое батника распаковки. Ссылка на комментарий
ed_rez 16 109 Опубликовано 31 Января 2017 Поделиться Опубликовано 31 Января 2017 @UnLoaded, с этим модом несколько иначе. Он запаковывался xrSpawner-ом, поэтому, на сколько мне известно, то ACDC не удается распаковать. Ссылка на комментарий
ARayKo60 233 Опубликовано 1 Февраля 2017 Поделиться Опубликовано 1 Февраля 2017 Аллспавны всех версий Истории Прибоя мне удалось распаковать, в первые за 3 года. Ссылка на комментарий
nasar75 3 868 Опубликовано 1 Февраля 2017 Поделиться Опубликовано 1 Февраля 2017 @ARayKo60, мануал в студию . 1 AMD Athlon II X2 250, NVIDIA GTS 450, RAM 8.0 GB, WIN 7/64 правки Золотой Шар Ссылка на комментарий
BFG 7 582 Опубликовано 1 Февраля 2017 Поделиться Опубликовано 1 Февраля 2017 @ARayKo60, Здесь тема разве сменила название ? Теперь она видимо называется "Тянем кота за тестикулы". Да ? Или Вам хочется что ВАС, лично, ПОПРОСИЛИ ? Встали на колени ? Воспели осанну ? Есть что выкладывать - выкладывай. Нет - отправлю в бан за жесточайший флуд и оффтоп. 2010 года рега на форуме, не новичёк, все расклады уже знаешь, тем более в таких узкоспециализированных темах. 1 "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
Это популярное сообщение. ARayKo60 233 Опубликовано 1 Февраля 2017 Это популярное сообщение. Поделиться Опубликовано 1 Февраля 2017 (изменено) Урок по увеличению или уменьшению размеров (высоты) травы на уровне с помощью скрипта details height changer. Если вы хотите увеличить всю траву на уровне. Для редактирования требуется файл level.details, который находится например ..ваш путь к игре..\gamedata\levels\\l01_escape\level.details Увеличить всю траву и детейлы уровня(валяющиеся листья и еще что-то) в папку со скриптом обязательно ложим файл level.details от уровня, незабываем про stkutils должна тоже в папке со скриптом быть. -f level.details (нужный файл для вашего уровня) -all 100 (пишется что все виды детейлов будут изменены(увеличены) на 100 %) То пишем в батнике так. perl dhc.pl -f level.details -all 100 pause-all -100 (с минусом пишется что все виды детейлов будут изменены(уменьшены) на 100 %), меньше не получится. perl dhc.pl -f level.details -all -100 pause Изменяем траву по отдельности запускаем батник make_ini.bat он создаст файл details.ini со списком детейлов(трава и что то подобное). Пример списка то что дальше списка не трогаем, нули это проценты, 0 процентов это стандарт оригинальный размер детейлов. [detail_meshes] mesh_0 = 0 mesh_1 = 0 mesh_2 = 0 mesh_3 = 0 mesh_4 = 0 mesh_5 = 0 mesh_6 = 0 mesh_7 = 0 ...Пишем свои проценты заменяя нули. Типа так. [detail_meshes] mesh_0 = 20 mesh_1 = 50 mesh_2 = -90 mesh_3 = 10 mesh_4 = 14 mesh_5 = 0 mesh_6 = 9 mesh_7 = 1 ...Сохраняем и запускаем батник patch_ini.bat в нем код не трогаем, если не работает то добавляем в начало батника perl -f level.details (нужный файл для вашего уровня) -p (пропатчивает level.details с настройками из файла details.ini) perl dhc.pl -f level.details -p pause Уменьшеная на 100% Увеличенная на 100% Чуть не забыл распаковка производилась на windows 7 32x, для acdc использовалась activeperl 5.18.2. Тест-Попытка распаковать all.spawn мода ОП2 версия 2.09 Для распаковки нам потребуется как всегда правильно установленный Universal ACDC 1.38(незабываем про папку stkutil), файлы мода all.spawn и game.graph а также папка config, это все закидываем в acdc. Запускаем батник acdc_decompile_scan.bat с таким кодом. del sections.ini perl universal_acdc.pl -d all.spawn -out all -scan config/ -nofatal -log pauseДалее он создаст 2 файла sections.ini и universal_acdc.log но нераспакует. Открываем файл universal_acdc.log и видим причину ошибки: wpn_val wpn_ak74 Далее открываем sections.ini ищем строку 'wpn_val' = cse_alife_item_weapon_magazined_w_glменяем на 'wpn_val' = cse_alife_item_weapon_magazinedищем и эту строку 'wpn_ak74' = cse_alife_item_weapon_magazined_w_glменяем на 'wpn_ak74' = cse_alife_item_weapon_magazinedСохраняем и запускаем acdc_decompile.bat с таким кодом perl universal_acdc.pl -d all.spawn -out all -sort complex -nofatal -log pauseЗаметьте без строки del sections.ini и все распакуется, но есть одно но после сборки аллспавна размер его уменьшится так как протестировать собранный all.spawn вновь мне пока не удалось в связи отсутствия самого мода.Если сможет кто протестировать спавн, пожалуйста отпишитесь в этой теме. Урок по распаковке all.spawn мода Истории Прибоя для ТЧ Для начала нам нужны две программы: Universal ACDC 1.38 и xrSpawner v13.1Beta. Далее, нужны теперь сам all.spawn и папка конфигов от мода История Прибоя а также game.graph и папка всех конфигов от чистой Тень Чернобыля версии 1.0004. Закидываем в папку конфигов ТЧ, все из папки конфигов История Прибоя с заменой файлов, теперь все, папку нашу config мы приготовили, пусть она будет в папке нашего распаковщика Universal ACDC 1.38, туда также кидаем all.spawn и game.graph, на этом пока все. Правим all.spawn в xrSpawnere. Запускаем xrSpawner v13.1Beta (xrSpawner_10004.exe) и открываем в нем all.spawn от мода История Прибоя. Сначала выскочит окно настройки с Указанием файла сохранения при открытии спавна. Закройте это окошко нам оно не нужно, при загрузке в программу спавна выскочит ошибка "Необрабатываемое исключение в приложении". Нажмите продолжить. Когда загрузится спавн. Переходим к поиску, также отметить в боксе Показывать--Имя объекта. В поиске ищем rad_stalker_dead(находится на локации l10u_bunker), находим и переходим в верхней части программы Редактирование выбираем Удалить объект. Тоже самое проделываем с другими: dar_af_ameba_slug (Находится на уровне l12_stancia_2) и npp_crash2_doc (находится на локации l10u_bunker) только при поиске отметить в боксе Показывать--Entity Учтите что npp_crash2_doc в некоторых версия спавна может и не быть. Сохраняем спавн, и завершаем работу программы. Дальше работать будем с ACDC. Теперь будем распаковывать наш отредактированный all.spawn с помощью Universal ACDC 1.38. И так теперь самое интересное, у нас все приготовлено, правленый спавн(бэкапим оригинальный) бросаем в папку acdc. Создаем первый батник(unpack_scan.bat) для распаковки с таким кодом: del sections.ini perl universal_acdc.pl -d all.spawn -out all -scan config/ -nofatal -log pauseСоздаем второй батник(unpack.bat) для распаковки с таким кодом: perl universal_acdc.pl -d all.spawn -out all -sort complex -nofatal -log pauseНу и третий батник(pack.bat) для запаковки спавна, если будете упаковывать. perl universal_acdc.pl -compile all -out new.spawn -log pause Дописываем ко всем батникам -log чтобы создавался файл(universal_acdc.log) отчет об ошибках. Все готово, запускаем наш батник unpack_scan.bat, увы all.spawn так и не распаковался, но создал первый файлик sections.ini который нам и нужен, и второй файл отчета universal_acdc.log(навсякий случай создайте копию его та содержатся отчет об распаковке может пригодится) Запускаем второй батник unpack.bat, ждем, ждем, вот и распаковался наш спавн, ну дальше дело техники восстановить удаленные 3 секции. Вот и все, это был мой способ, если кто может проще сообщите мне в личку. Огромное спасибо пользователям Artos и KD87, за подсказки в теме без них никак и не получилось бы распаковать. Изменено 13 Февраля 2017 пользователем Kirgudu 2 2 5 Ссылка на комментарий
aka_sektor 1 476 Опубликовано 5 Февраля 2017 Поделиться Опубликовано 5 Февраля 2017 (изменено) Распаковщики level.* файловНе робит. Пробовал: S.T.A.L.K.E.R. Shadow of Chernobyl\gamedata\levels\l01_escape\level D:\Downloads\level_cdc>level_cdc.pl -d level -o level_dir Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at stkutils/level/level.pm line 687. Compilation failed in require at D:\Downloads\level_cdc\level_cdc.pl line 10. BEGIN failed--compilation aborted at D:\Downloads\level_cdc\level_cdc.pl line 10.Windows 10 Pro x64ActivePerl 5.24.1.2402 64-bit level_cdc - https://yadi.sk/d/rokoY1TaLqpYM папка stkutils - https://yadi.sk/d/nnjntzYZQv8sD UPD: Удалось оживить level_cdc. Пришлось откатится до более старой версии ActivePerl, а именно 5.20.2 Build 2001 (64-bit) Чтобы не искали, кому надо, вот вам зеркало: https://cloud.mail.ru/public/7Soy/G4Enw2EGi Изменено 5 Февраля 2017 пользователем aka_sektor 1 1 Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
ARayKo60 233 Опубликовано 6 Февраля 2017 Поделиться Опубликовано 6 Февраля 2017 Я заметил, что иногда ищут game.graph recompiler он же ggRC несколько версий, кому надо скачать тут 1 Ссылка на комментарий
ARayKo60 233 Опубликовано 10 Февраля 2017 Поделиться Опубликовано 10 Февраля 2017 Кто нибудь распаковывал all.spawn от мода Paradise Lost v4.00 beta http://yadi.sk/d/qv9_uMB33DoGbk у меня что-то не выходит. Ссылка на комментарий
aka_sektor 1 476 Опубликовано 10 Февраля 2017 Поделиться Опубликовано 10 Февраля 2017 (изменено) @ARayKo60, уже очень давно обсуждали ещё на ap-pro. Файл all.spawn результат работы с xrSpawner, т.е. он "убит" более чем полностью. Спросишь почему автор мода его использовал: все просто - что тогда было, то и использовал. Изменено 10 Февраля 2017 пользователем aka_sektor 1 Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
Это популярное сообщение. ARayKo60 233 Опубликовано 12 Февраля 2017 Это популярное сообщение. Поделиться Опубликовано 12 Февраля 2017 Оказалось all.spawn Paradise Lost v4.00 beta не был убит, как показалось на первый взгляд, несколько дней ломал голову как, и вот все получилось распаковать, ноо оказалось немного сложнее чем при распаковке all.spawn от Истории Прибоя И так урок по распаковке all.spawn Paradise Lost v4.00 beta и приведение его в рабочее состояние(возможность редактировать его.) Урок по распаковке all.spawn мода Paradise Lost v4.00 beta для ТЧ Для начала нам нужны две программы: Universal ACDC 1.38 и xrSpawner v13.1Beta и заранее установленный activeperl 5.18.2 Далее, нужны теперь сам all.spawn и папка конфигов от мода Paradise Lost v4.00 beta а также game.graph и папка всех конфигов от чистой Тень Чернобыля версии 1.0006. Кладем в папку конфигов ТЧ, все из папки конфигов Paradise Lost v4.00 beta с заменой файлов, теперь все, нашу папку config мы приготовили пусть она будет в папке нашего распаковщика Universal ACDC 1.38, туда также кладем all.spawn и game.graph, на этом пока все. Ищем причину, почему невозможно распаковать all.spawn с помощью утилиты ACDC. Так как у нас все приготовлено. Создаем батник(decompile_scan.bat) для распаковки с таким кодом: del sections.ini perl universal_acdc.pl -d all.spawn -out all -scan config/ -nofatal -log pause Дописываем батнику -log чтобы создавался файл(universal_acdc.log) отчет об ошибках. Запускаем наш батник decompile_scan.bat ждем. Распаковать не удалось в чем причина? Итак открываем созданный файл universal_acdc.log и там будет после aes2_zone_death_0014 FATAL ERROR!(ошибка) в самом конце лога: Universal ACDC v.1.38 checking 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... .....много разных warning их пропустим смотрим самый низ лога..... WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [1] in entity aes2_zone_death_0014 FATAL ERROR! Function: stkutils::data_packet::_unpack_shape Line: 273 Description: shape has undefined type (33) В логе мы увидели ошибку shape означает что в некоторых секциях объектов не прописаны настройки шейпа или во все отсутствуют. Ошибка привела к сбою в одной из функции у файла data_packet.pm строчка 273. Итак он находится в папке с ACDC по пути ACDC\stkutils\data_packet.pm, открываем его в блокноте и находим 273 строчку там будет это: fail("shape has undefined type ($shape{type})"); Перед началом редактирования, делаем копию оригинального файла data_packet.pm. Далее, за комментируйте ее так: # fail("shape has undefined type ($shape{type})"); И сохраните. Повторяем процедуру, запускаем батник decompile_scan.bat и ждем. Опять ничего не распаковалось в чем причина идем дальше. Что у нас получилось открываем файл universal_acdc.log, смотрим нашу ошибку после aes2_zone_death_0014: Universal ACDC v.1.38 checking 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... ...много разных warning их пропустим смотрим самый низ лога... WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [1] in entity aes2_zone_death_0014 WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [341] in entity news_valley_army_attack WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [9] in entity esc_dynamite handling error with dynamite, template C FATAL ERROR! Function: stkutils::data_packet::error_handler Line: 1548 Description: unhandled exception Вот найдены две ошибки после aes2_zone_death_0014, называются news_valley_army_attack и esc_dynamite запоминаем или записываем где нибудь. Внимание присмотритесь в логе есть подсказка это template C, запомните ее она может еще встретится нам. Ошибка привела к сбою в одной из функции того же в файла data_packet.pm, строчка 1548. Итак открываем этот файл в блокноте и находим 1548 строку там будет это: fail("unhandled exception\n"); За комментируйте ее так: # fail("unhandled exception\n"); И сохраните. Повторяем процедуру, запускаем батник decompile_scan.bat и ждем. Опять ничего не распаковалось идем дальше... Что у нас получилось, открываем файл universal_acdc.log, смотрим после aes2_zone_death_0014: Universal ACDC v.1.38 checking 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... ...много разных warning их пропустим смотрим самый низ лога... WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [1] in entity aes2_zone_death_0014 WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [341] in entity news_valley_army_attack WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [9] in entity esc_dynamite handling error with dynamite, template C FATAL ERROR! Function: stkutils::data_packet::unpack Line: 132 Description: data [0] is shorter than template [1] В логе ничего особенного не увидели кроме новой ошибки. Смотрим ошибка привела к сбою в одной из функции того же в файла data_packet.pm, строчка 132. Итак открываем этот файл в блокноте и находим 132 строку там будет это: fail ("data [$resid] is shorter than template [$_[2]]") if $_[2] > $resid; За комментируйте ее так: # fail ("data [$resid] is shorter than template [$_[2]]") if $_[2] > $resid; И сохраните. Повторяем процедуру, запускаем батник decompile_scan.bat и ждем, что у нас получилось, создалась папка all. Оказывается ACDC частично распаковал all.spawn(если несколько раз попробовать распаковать то содержимое папки all будет всегда разным) эта папка распаковка нам увы ненужна, переименовываем папку all и смотрим в файл universal_acdc.log в самый конец лога: Universal ACDC v.1.38 checking 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... .....много разных warning их пропустим смотрим самый низ лога..... WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [1] in entity aes2_zone_death_0014 ---Все ниже это нас интересующие ошибки--- WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [341] in entity news_valley_army_attack WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [9] in entity esc_dynamite handling error with dynamite, template C WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::error Line: 249 Description: stkutils::file::entity::read_m_update 129 $packet->resid() == 0 update data left [-1] in entity esc_dynamite WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [292] in entity pri_space_restrictor_0011 ----- ОШИБКУ с esc_zombie_2 мы пропусти она ненужна ------- ----------------------------------------------------------- WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [341] in entity val_news_attack WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [16] in entity esc_vodka handling error with vodka, template C WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::error Line: 249 Description: stkutils::file::entity::read_m_update 129 $packet->resid() == 0 update data left [-1] in entity esc_vodka WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [16] in entity esc_vodka handling error with vodka, template C WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::error Line: 249 Description: stkutils::file::entity::read_m_update 129 $packet->resid() == 0 update data left [-1] in entity esc_vodka WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [16] in entity esc_vodka handling error with vodka, template C WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::error Line: 249 Description: stkutils::file::entity::read_m_update 129 $packet->resid() == 0 update data left [-1] in entity esc_vodka WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [16] in entity esc_vodka handling error with vodka, template C WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::error Line: 249 Description: stkutils::file::entity::read_m_update 129 $packet->resid() == 0 update data left [-1] in entity esc_vodka ...много разных warning их пропустим они нам ненужны... reading artefact spawn places... reading way objects... reading game graph... reading header... reading levels... reading vertices... exporting alife objects... попытка распаковать тут может быть что угодно... FATAL ERROR! Function: stkutils::ini_file::_export_scalar Line: 126 Description: undefined field upd:num_items for entity esc_dynamite Для надежности повторяем распаковку несколько раз и смотрим ошибку в конце лога и запоминаем. В конце лога будет esc_dynamite то есть ней и прервался наш процесс распаковки. Теперь приглядимся, у нас в логе встречается ошибка шаблона объекта - template C, то есть имя физического объекта(Entity) не совпадает с внутренними параметрами, и так в логе мы заметили что у 5 объектов присутствует ошибка template C(esc_dynamite и esc_vodka 4 штуки) с неправильными параметрами (настройками). Пока на этом остановимся и незабываем восстановить оригинальный data_packet.pm далее перейдем к правке all.spawn в xrSpawnere Правим all.spawn в xrSpawnere. Запускаем xrSpawner v13.1Beta (xrSpawner_10004.exe) и открываем в нем all.spawn от мода Paradise Lost v4.00 beta. Сначала появится окно настройки с Указанием файла сохранения при открытии спавна. Закройте это окошко(нажмите Cancel) нам оно не нужно, при загрузке в программу спавна появится ошибка "Необрабатываемое исключение в приложении". Нажмите продолжить. Когда загрузится спавн. Переходим к поиску, также отметить в боксе Показывать--Имя объекта. В поиске ищем esc_dynamite(находится на локации l01_escape), находим и переходим в верхней части программы Параметры объекта--Entity, и меняем тип dynamite на physic_object и нажимаем принять изменения. Также находим esc_vodka(находится на локации l01_escape). Переходим в верхней части программы Параметры объекта--Entity, и меняем тип vodka на physic_object и нажимаем принять изменения. И проделываем тоже самое для остальных объектов esc_vodka на скриншоте показаны какие, при каждом изменении нажимайте кнопку Принять изменения. Переходим в верхнюю часть программы Файл и сохранить. Так же незабываем перед редактированием делать копию оригинального файла all.spawn) Сохраняем спавн и завершаем работу программы. Дальше работать будем с ACDC. Теперь будем пытаться распаковать наш отредактированный all.spawn с помощью Universal ACDC 1.38. И так теперь у нас все приготовлено, исправленный all.spawn(обязательно делаем копию оригинального файла all.spawn) кладем в папку acdc. Создаем первый батник(decompile_scan.bat) для распаковки с таким кодом: del sections.ini perl universal_acdc.pl -d all.spawn -out all -scan config/ -nofatal -log pause Если нужно для запаковки то создаем батник(compile.bat). perl universal_acdc.pl -compile all -out new.spawn -log pause Дописываем ко всем батникам -log чтобы создавался файл(universal_acdc.log) отчет об ошибках. Запускаем наш батник decompile_scan.bat ждем. Распаковать не удалось в чем причина? Итак открываем созданный файл universal_acdc.log и там будет после aes2_zone_death_0014 в самом конце лога: Вы наверное заметили такое же самое было в начале урока. Universal ACDC v.1.38 checking 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... ...много разных warning их пропустим смотрим самый низ лога... WARNING! Function: main::__ANON__ Line: 1380 Description: WARNING! Function: stkutils::file::entity::read_m_spawn Line: 122 Description: state data left [1] in entity aes2_zone_death_0014 FATAL ERROR! Function: stkutils::data_packet::_unpack_shape Line: 273 Description: shape has undefined type (33) В логе мы увидели ошибку shape означает что в некоторых секциях объектов не прописаны настройки шейпа или во все отсутствуют. Ошибка привела к сбою в одной из функции у файла data_packet.pm строчка 273 и так он находится в папке с ACDC по пути ACDC\stkutils\data_packet.pm, открываем его в блокноте и находим 273 строчку там будет это: fail("shape has undefined type ($shape{type})"); Перед началом редактирования, делаем копию оригинального файла data_packet.pm. Далее, за комментируйте ее так: # fail("shape has undefined type ($shape{type})"); И сохраните. Повторяем процедуру, запускаем батник decompile_scan.bat и ждем. Вот и все у нас распаковалось смотрим папку all. Не забудьте восстановить оригинальный файл data_packet.pm. Не радуйтесь раньше времени, распаковать мы распаковали он обратно в all.spawn вы не сможете собрать. Но есть выход. Мы знаем объекты с ошибками остальные мы исправили через xrSpawner. Список объектов с ошибками: - news_valley_army_attack - pri_space_restrictor_0011 - val_news_attack Запускаем файл (acdc_compile.bat) для компиляции спавна, ждем ничего не вышло кроме лога, ошибка в самом низу файла universal_acdc.log. Universal ACDC v.1.38 importing alife objects... importing alife objects from file alife_l10u_bunker.ltx... importing alife objects from file alife_l10_radar.ltx... importing alife objects from file alife_l01_escape.ltx... importing alife objects from file alife_l08_yantar.ltx... importing alife objects from file alife_l11_pripyat.ltx... FATAL ERROR! Function: stkutils::ini_file::_import_shape Line: 841 Description: no type in 3655 all.spawn не смог собраться из ошибки 3655. Нужен поисковик текста в файлах для этого подходит блокнот ++, ищем файлах текст 3655 в папке all распакованного all.spawn. У меня поиск нашел ее в файле alife_l11_pripyat.ltx, это оказался порядковый номер [3655] для pri_space_restrictor_0011. [3655] ; cse_abstract properties section_name = space_restrictor name = pri_space_restrictor_0011 position = 31.399169921875, 3.92531895637512, 355.80029296875 direction = 0, 0, 0 id = 65535 version = 118 script_version = 6 spawn_id = 8770 ; cse_alife_object properties game_vertex_id = 2117 level_vertex_id = 73868 object_flags = 0xffffff3e custom_data = <<END [logic] active = sr_idle@wait ;The cutscene is removed 'cuz after some changes of the smart terrains in this level you can be EATEN during this camera flight <:-( [sr_idle@wait] ;on_actor_inside = sr_cutscene %+pri_stadium_reached% on_actor_inside = nil %+pri_stadium_reached% ;No more teleportation to the level changer. ;After the cutscene we can enter the stadium and walk trough it without helping of annoying triggers! [sr_cutscene] point = pri_stadium_eff_point look = pri_stadium_eff_look cam_effector = pri_fly_to_aes on_signal = cameff_end | sr_idle@nil [sr_idle@nil] ;(C)Scavenger END story_id = 830 ; cse_shape properties shapes = 1 ; cse_alife_space_restrictor properties restrictor_type = 213 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Дополняем настройки ; cse_shape properties я выделил красным, настройки взял у pri_space_restrictor_0010. [3655] ; cse_abstract properties section_name = space_restrictor name = pri_space_restrictor_0011 position = 31.399169921875, 3.92531895637512, 355.80029296875 direction = 0, 0, 0 id = 65535 version = 118 script_version = 6 spawn_id = 8770 ; cse_alife_object properties game_vertex_id = 2117 level_vertex_id = 73868 object_flags = 0xffffff3e custom_data = <<END [logic] active = sr_idle@wait ;The cutscene is removed 'cuz after some changes of the smart terrains in this level you can be EATEN during this camera flight <:-( [sr_idle@wait] ;on_actor_inside = sr_cutscene %+pri_stadium_reached% on_actor_inside = nil %+pri_stadium_reached% ;No more teleportation to the level changer. ;After the cutscene we can enter the stadium and walk trough it without helping of annoying triggers! [sr_cutscene] point = pri_stadium_eff_point look = pri_stadium_eff_look cam_effector = pri_fly_to_aes on_signal = cameff_end | sr_idle@nil [sr_idle@nil] ;(C)Scavenger END story_id = 830 ; cse_shape properties shapes = 1 shape_0:type = box shape_0:axis_x = 1.7837952375412,0,0 shape_0:axis_y = 0,1.93420171737671,0 shape_0:axis_z = 0,0,1.7837952375412 shape_0:offset = 0,0,0 ; cse_alife_space_restrictor properties restrictor_type = 213 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Все настройки ввели, сохраняем файл. Запускаем файл (acdc_compile.bat) для компиляции спавна, ждем опять ничего не вышло кроме лога, ошибка в самом низу файла universal_acdc.log. Universal ACDC v.1.38 importing alife objects... importing alife objects from file alife_l10u_bunker.ltx... importing alife objects from file alife_l10_radar.ltx... importing alife objects from file alife_l01_escape.ltx... importing alife objects from file alife_l08_yantar.ltx... importing alife objects from file alife_l11_pripyat.ltx... importing alife objects from file alife_l03u_agr_underground.ltx... importing alife objects from file alife_l12_stancia.ltx... importing alife objects from file alife_l12u_control_monolith.ltx... importing alife objects from file alife_l05_bar.ltx... importing alife objects from file alife_l12_stancia_2.ltx... importing alife objects from file alife_l04_darkvalley.ltx... FATAL ERROR! Function: stkutils::ini_file::_import_shape Line: 841 Description: no type in 6137 all.spawn не смог с компилироваться уже из за новой ошибки 6137. Повторяем поиск. Ищем файлах текст 6137 в папке all распакованного all.spawn. У меня поиск нашел ее в файле alife_l04_darkvalley.ltx, это оказался порядковый номер [6137] для news_valley_army_attack. [6137] ; cse_abstract properties section_name = space_restrictor name = news_valley_army_attack position = 43.7599983215332, 5, -21.2199993133545 direction = 0, 0, 0 id = 65535 version = 118 script_version = 6 spawn_id = 8605 ; cse_alife_object properties game_vertex_id = 811 level_vertex_id = 316473 object_flags = 0xffffff3e custom_data = <<END ;[logic] ;cfg = scripts\news\news_valley_army_attack.ltx END ; cse_shape properties shapes = 1 ; cse_alife_space_restrictor properties restrictor_type = 210 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Дополняем настройки ; cse_shape properties я выделил красным, примерные настройки взял у val_lager_bandits_restrictor. [6137] ; cse_abstract properties section_name = space_restrictor name = news_valley_army_attack position = 43.7599983215332, 5, -21.2199993133545 direction = 0, 0, 0 id = 65535 version = 118 script_version = 6 spawn_id = 8605 ; cse_alife_object properties game_vertex_id = 811 level_vertex_id = 316473 object_flags = 0xffffff3e custom_data = <<END ;[logic] ;cfg = scripts\news\news_valley_army_attack.ltx END ; cse_shape properties shapes = 1 shape_0:type = box shape_0:axis_x = 3.12220025062561,0,0 shape_0:axis_y = 0,35,0 shape_0:axis_z = 0,0,8.76520156860352 shape_0:offset = 0,0,0 ; cse_alife_space_restrictor properties restrictor_type = 210 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Все настройки ввели сохраняем файла Запускаем файл (acdc_compile.bat) для компиляции спавна, ждем опять ничего не вышло кроме лога, ошибка в самом низу файла universal_acdc.log. Universal ACDC v.1.38 importing alife objects... importing alife objects from file alife_l10u_bunker.ltx... importing alife objects from file alife_l10_radar.ltx... importing alife objects from file alife_l01_escape.ltx... importing alife objects from file alife_l08_yantar.ltx... importing alife objects from file alife_l11_pripyat.ltx... importing alife objects from file alife_l03u_agr_underground.ltx... importing alife objects from file alife_l12_stancia.ltx... importing alife objects from file alife_l12u_control_monolith.ltx... importing alife objects from file alife_l05_bar.ltx... importing alife objects from file alife_l12_stancia_2.ltx... importing alife objects from file alife_l04_darkvalley.ltx... FATAL ERROR! Function: stkutils::ini_file::_import_shape Line: 841 Description: no type in 6142 all.spawn не смог собраться уже из за новой ошибки 6142. Повторяем поиск. Ищем файлах текст 6142 в папке all распакованного all.spawn. У меня поиск нашел ее в файле alife_l04_darkvalley.ltx, это оказался порядковый номер [6142] для val_news_attack. [6142] ; cse_abstract properties section_name = space_restrictor name = val_news_attack position = 43.7599983215332, 5, -21.2199993133545 direction = 0, 0, 0 id = 65535 version = 118 script_version = 6 spawn_id = 9053 ; cse_alife_object properties game_vertex_id = 811 level_vertex_id = 316473 object_flags = 0xffffff3e custom_data = <<END [logic] active = sr_idle@check1 [sr_idle@check1] on_actor_inside = sr_idle@wait [sr_idle@wait] on_info = {+val_actor_has_borov_key} sr_idle@check2 [sr_idle@check2] on_actor_outside = sr_tip@army [sr_tip@army] name = news_valley_army_attack cond = {-news_valley_army_attack} type = tips single = true timeout = 10 showtime = 16000 sender = stalker on_signal = tip_sended | nil %+news_valley_army_attack% ;THIS DOESN'T WORK! CAN'T COPE WITH IT... CYKA!!! END ; cse_shape properties shapes = 1 ; cse_alife_space_restrictor properties restrictor_type = 210 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Дополняем настройки ; cse_shape properties я выделил красным, примерные настройки взял у val_lager_bandits_restrictor. [6142] ; cse_abstract properties section_name = space_restrictor name = val_news_attack position = 43.7599983215332, 5, -21.2199993133545 direction = 0, 0, 0 id = 65535 version = 118 script_version = 6 spawn_id = 9053 ; cse_alife_object properties game_vertex_id = 811 level_vertex_id = 316473 object_flags = 0xffffff3e custom_data = <<END [logic] active = sr_idle@check1 [sr_idle@check1] on_actor_inside = sr_idle@wait [sr_idle@wait] on_info = {+val_actor_has_borov_key} sr_idle@check2 [sr_idle@check2] on_actor_outside = sr_tip@army [sr_tip@army] name = news_valley_army_attack cond = {-news_valley_army_attack} type = tips single = true timeout = 10 showtime = 16000 sender = stalker on_signal = tip_sended | nil %+news_valley_army_attack% ;THIS DOESN'T WORK! CAN'T COPE WITH IT... CYKA!!! END ; cse_shape properties shapes = 1 shape_0:type = box shape_0:axis_x = 3.12220025062561,0,0 shape_0:axis_y = 0,35,0 shape_0:axis_z = 0,0,8.76520156860352 shape_0:offset = 0,0,0 ; cse_alife_space_restrictor properties restrictor_type = 210 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Все настройки ввели сохраняем файла. Запускаем файл (acdc_compile.bat) для компиляции спавна, ждем наш all.spawn собрался. Теперь наш all.spawn вылечен и распаковывается нормально. Автор урока: ARayKo60 2 1 1 2 Ссылка на комментарий
aka_sektor 1 476 Опубликовано 12 Февраля 2017 Поделиться Опубликовано 12 Февраля 2017 @ARayKo60, лиха ты это само. А как насчет файлика? Скинь что ли. Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
ARayKo60 233 Опубликовано 12 Февраля 2017 Поделиться Опубликовано 12 Февраля 2017 Если мануал нужен то вот http://yadi.sk/d/GU059jgk3DxZbJ Если нужно по тренироваться в распаковке мода вот http://yadi.sk/d/JX5LnZ7n3DxZxX 1 Ссылка на комментарий
aka_sektor 1 476 Опубликовано 12 Февраля 2017 Поделиться Опубликовано 12 Февраля 2017 @ARayKo60, я имею ввиду исправленный all.spawn, а точнее папку с его файлами. Или исправленный собранный спавн. в распаковке мода вот http://yadi.sk/d/JX5LnZ7n3DxZxXТут есть такое? Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
ARayKo60 233 Опубликовано 12 Февраля 2017 Поделиться Опубликовано 12 Февраля 2017 папка all и созданый из нее new.spawn. В принципе можешь повторить по уроку, там ничего сложного. Прошу модераторов удалить с поста #1489 - Урок по распаковке all.spawn мода Истории Прибоя для ТЧ - Тест-Попытка распаковать all.spawn мода ОП2 версия 2.09 Так они неполные, требуют доработки и есть некоторые ошибки, дабы не вводить пользователей в заблуждения прошу удалить их. Доработанные уроки выложу вскоре после их удаления. Добавлено Kirgudu, 13 Февраля 2017 Убрал пока под спойлер с предупреждением. После доработки можно будет удалить совсем. Ссылка на комментарий
nasar75 3 868 Опубликовано 13 Февраля 2017 Поделиться Опубликовано 13 Февраля 2017 @ARayKo60, ОП-2 распаковывается без плясок с бубном. Просто в конфиге Вала меняешь класс с АК на VAL. Всё. AMD Athlon II X2 250, NVIDIA GTS 450, RAM 8.0 GB, WIN 7/64 правки Золотой Шар Ссылка на комментарий
ARayKo60 233 Опубликовано 13 Февраля 2017 Поделиться Опубликовано 13 Февраля 2017 ARayKo60, ОП-2 распаковывается без плясок с бубном. Просто в конфиге Вала меняешь класс с АК на VAL. Всё.Поэтому я попросил удалить урок с поста. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти