Перейти к контенту

Universal ACDC и другие perl-скрипты


KD87

Рекомендуемые сообщения

(изменено)

Доброго времени!

Проблема с декомпиляцией all.spawn, мод на SGM ЗП - Квестовое дополнение для SGM 2.2 CoP

Все требования из шапки темы выполнены, версия Universal acdc - 1.38, папка stkutils скопирована (не перенесена, присутствует и в папке spawn/acdc) в C:/Perl/Lib, версия ActivePerl-5.26.3 (ставил версии 5.10 и 5.28.1 - результат тот же).

Прошу помочь с проблемой.

Скрытый текст

P.S. Очень хотелось бы на будущее методику, как решать подобные проблемы. С простыми проблемами (типа не хватает секции конкретного оружия в acdc.pl разобрался, там просто, добавляешь по шаблону недостающее и всё).

С уважением...

Изменено пользователем mdm64

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@WolfHeart, сканирование конфигов включено было, а вот класс и идентификатор, естественно, прописаны не были, иначе не было бы и этой ошибки. Полагаю, это очевидно. Я ведь потому и попросил помощи не только по данному случаю, но и на будущее...

А как прописать правильно класс, из ссылки с яндекс-диска я не понял, конкретно по моему случаю . Поэтому в своём сообщении и попросил по-человечески объяснить мне на конкретном (хотя бы на моём примере), а не отправлять к общим статьям...

Но, очевидно, проще отправить человека с проблемой читать мануалы, написанные так, что после них всё равно придётся самому доходить до всего, чем просто доходчиво расписать конкретную проблему и дать необходимые рекомендации на будущее...Ладно, бестолку объяснять очевидные вещи, не в коня корм...

Да и нет у меня в файле clsids.ini вообще такого параметра "sgm_radioactive_field_weak". И что он из себя представляет, могу смутно судить лишь по переводу его названия на русский язык...

 

P.S.у меня батник отличается, по сути, только отсутствием лога - "perl universal_acdc.pl -d all.spawn -out unpack -scan ../configs/ -nofatal".

и батник для скана:

del sections.ini
perl universal_acdc.pl -d ../all.spawn -out ../unpack -scan ../../configs/
pause

Изменено пользователем mdm64

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@WolfHeart, так я же полностью мод выложил по ссылке,он небольшой , какие кроме этого конфиги нужны ?

Это к слову об "обиде"...

Да не понял я ничего в этом файле применительно к моему случаю, потому и написал...

P.S. Да и лог ничего нового не выдал.

Скрытый текст

Universal ACDC v.1.38
checking version of all.spawn...
    This is a spawn of S.T.A.L.K.E.R. Call Of Pripyat (any patch)
opening all.spawn...
reading header...
reading alife objects...

FATAL ERROR!
Function: stkutils::scan::get_class
Line: 1919
Description: cannot find clsid for class sgm_radioactive_field_weak

 

Изменено пользователем mdm64

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@WolfHeart, Как это где включен скан конфиг ? А в сообщении выше в разделе "P.S" это что ? Не скан ?

43 минуты назад, mdm64 сказал:

@WolfHeart,

P.S.у меня батник отличается, по сути, только отсутствием лога - "perl universal_acdc.pl -d all.spawn -out unpack -scan ../configs/ -nofatal".

и батник для скана:

del sections.ini
perl universal_acdc.pl -d ../all.spawn -out ../unpack -scan ../../configs/
pause

 

Как указано в шапке темы, с поправкой на место нахождения acdc в отдельной папке в папке spawns/^

universal_acdc.pl -d ../all.spawn -o ../unpack -g ../../ -scan ../../config/
Изменено пользователем mdm64

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
13 минут назад, WolfHeart сказал:

Но да-же имея у себя все файлы, я не стал бы переписывать конкретно под ваш случай.

Ну, а тогда зачем вообще было указывать мне на "отсутствие" конфигов?

Если только для красного словца да для пущей важности...

@nasar75, Благодарю за помощь и указание по сокращению батника!

А какие конкретно конфиги требуются? Вытащить их можно быстро.

Да мне хотя бы конкретное указание - как и что прописывать, я надеюсь, что прописать их все смогу сам, чтобы понапрасну не напрягать.

Изменено пользователем mdm64

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@nasar75, Есть основные конфиги. У меня и мод и основная "часть" есть.

@WolfHeart, Хорошо, скорректирую. Я делал по инструкции в шапке.

@nasar75, Это?

Скрытый текст

 

Изменено пользователем mdm64

Поделиться этим сообщением


Ссылка на сообщение

@WolfHeart, Скорректировал по вашему образцу - всё то же самое. Так что причина другая...

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@WolfHeart,Извини, думал это мне адресовано.

Изменено пользователем mdm64

Поделиться этим сообщением


Ссылка на сообщение

@WolfHeart, Я же написал в самом начале - у меня acdc в папке spawns, остальная структура gamedata сохранена, отсюда и различное от твоего написание батника с конфигом.
 

@nasar75, ща сделаю, несколько минут

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@UriZzz, Полностью согласен! Есть маленькая проблема - если бы авторы различных "мелкомодов" не склеивали бы основное дополнение к глобальному моду (например) с кучей мелких сомнительной востребованности дополнений, да ещё прописывая параметры оных в all.spawn, то и не было бы таких проблем.

Ведь, насколько я понимаю, можно прописать требуемое и не через all.spawn в большинстве случаев.

Конкретно в моём случае - делаю чисто для себя, для "домашнего употребления" (очень нравится сам по себе SGM), и если не решу данную проблему, то на "ручное" её решение уйдёт более недели, для меня это напряжно...

@WolfHeart, Сделал по твоей рекомендации - результат точно такой же, и лог такой же остался .

Скрытый текст

Universal ACDC v.1.38
checking version of all.spawn...
    This is a spawn of S.T.A.L.K.E.R. Call Of Pripyat (any patch)
opening all.spawn...
reading header...
reading alife objects...

FATAL ERROR!
Function: stkutils::scan::get_class
Line: 1919
Description: cannot find clsid for class sgm_radioactive_field_weak

 

 

Изменено пользователем mdm64
  • Сочувствую 1

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@WolfHeart, По твоему вопросу:

Скрытый текст

Квестовое дополнение к SGM-2.2

Ссылка на саму "приблуду" и в моём первом сегодня сообщении, говорил об этом уже пару раз аж...

Родной all.spawn SGM 2.2

acdc в spawn

acdc в spawn-запуск изначально из неё был

Проще говоря, сначала запускал acdc из своей одноимённой папки, потом скопировал её содержимое для проверки в папку spawns . По факту это ничего не изменило .

"Что ты делал и что вообще ты хочешь сделать? " - хочу объединить это дополнение с оружейным модом SGM 2.2 от Commodor (с оф.сайта SGM, по ссылке там он есть в готовых сборках) и с паком новых локаций для SGM 2.2, имеется там же.

Проблема в том, что придётся объединять all.spawn всех дополнений...

 

Weapons Return SGM2.2 от Commodor

New Location Pack SGM 2.2

 

@WolfHeart, "Здается мне, что ты накрутил не пойми чего, либо хочешь надурить законы модинга и нам голову морочишь. " - ничем не обоснованный упрёк...мне жаль...

1 час назад, nasar75 сказал:

@mdm64, Все неизвестные зоны я в sections.ini прописал .......

50a071684fadbe96560609c40a3f7f9f5abdcb36

Если я верно понял, то sections.ini можно использовать как своего рода "список исключений" - всё, что в нём будет прописано из неизвестного или ошибочного, при декомпиляции не станет причиной ошибки, а тупо распакуется "как есть". Так или нет?

Изменено пользователем mdm64

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@Купер, Да вот и у меня такое ощущение, потому и только попробовал этот вариант по рекомендации... Сам же делал изначально строго по статье в шапке темы.

Попробую такой вариант, может быть даст желаемый результат. Благодарю!

Изменено пользователем mdm64

Поделиться этим сообщением


Ссылка на сообщение

@WolfHeart, Благодарю!

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

Поделиться этим сообщением


Ссылка на сообщение

@WolfHeart, Ничего страшного, благодарю за уточнение.

@WolfHeart, Просьба - выложи свой батник для компиляции, для сравнения.

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Как я и предполагал, появились вопросы, как только попытался "для пробы" скомпилировать all.spawn .

Суть вопроса такова - при повторяющихся секциях в файлах разобранного all.spawn-а в процессе компиляции выдаётся критическая ошибка с указанием на повторяющиеся секции, это понятно. А может ли быть такое, что автор мода, например, внёс повторяющиеся одинаковые секции в файл с какой-то определённой целью их проявления в игре? Поскольку в файле они расположены таким образом и в таком количестве, что предполагать тривиальную ошибку автора мода как-то неразумно. Ниже под спойлером я проиллюстрировал расположение в файле all.spawn-а повторяющихся секций . Прошу по возможности проконсультировать по этому вопросу.

И подвопрос - возможно ли собрать all.spawn с подобной ошибкой, если это не ошибка в действительности?

Скрытый текст

файл из чистого СГМ              файл из СГМ с минимодом

                      (1-8 - номера секций в файлах)

1                                                             1

                                                               1

2                                                             2

                                                               2

3                                                             3

                                                               3

4                                                             4

                                                               4

5                                                             5

                                                               5

6                                                             6

                                                               6

7                                                             7

                                                               7

8                                                             8

                                                               8

Возможно, я ошибаюсь, но мне думается, что совершить 8 одинаковых ошибочных повторов автор мода не мог, да после этого и скомпиллировать такой all.spawn он не смог бы (выдаётся критическая ошибка, лог ниже). Если предположить, что совершено ошибочная общая вставка данных, то скорее всего был бы повтор такого вида - 1-2-3-4-5-6-7-8 - 1-2-3-4-5-6-7-8 .

Но в данном случае повтор каждой секции два раза ПОДРЯД - 1-1-2-2-3-3-4-4-5-5-6-6-7-7-8-8

 

А вот, собственно, часть лога с данной ошибкой:

FATAL ERROR!
Function: stkutils::ini_file::new
Line: 36
Description: duplicate section mil_anomal_zone_4_af_way_1 found while reading way_military.ltx


И так по каждой из восьми секций. Описанная выше структура повторов хорошо видна при сравнении двух файлов в Total Commander.

 

И вот ещё что заинтересовало - наткнулся на программу, аналогичную во многом программе Universal ACDC - аналог ACDC .

В ней в файле acdccop.pl прописываются (и можно прописать свои) различные предметы, аномальные зоны и тому подобное из игры. При работе со спавном неизвестные предметы и зоны можно дописать в этот файл, и при последующей декомпиляции уже не будет сообщения об ошибке,поскольку данные неизвестных параметров будут присутствовать в файле acdccop.pl.

Собственно вопрос - можно ли в Universal ACDC делать аналогичным образом, и если можно, то что и куда прописывать?

Посмотрел - структура основного файла .pl у обеих программ примерно одинакова.

Скрытый текст

banka_kraski_1                => 'cse_alife_object_physic',
    kanistra_01                => 'cse_alife_object_physic',
    kanistra_02                => 'cse_alife_object_physic',
    vedro_01                => 'cse_alife_object_physic',
    tiski                    => 'cse_alife_object_physic',

    bottle_3l                => 'cse_alife_object_physic',
    freezer                    => 'cse_alife_object_physic',
    bludo                    => 'cse_alife_object_physic',
    kastrula                => 'cse_alife_object_physic',
    kastrula_up                => 'cse_alife_object_physic',
    krujka                    => 'cse_alife_object_physic',
    lojka                    => 'cse_alife_object_physic',
    miska                    => 'cse_alife_object_physic',
    tarelka1                => 'cse_alife_object_physic',
    tarelka2                => 'cse_alife_object_physic',
    teapot_1                => 'cse_alife_object_physic',

 

banka_kraski_1                => 'cse_alife_object_physic',
    kanistra_01                => 'cse_alife_object_physic',
    kanistra_02                => 'cse_alife_object_physic',
    vedro_01                => 'cse_alife_object_physic',
    tiski                    => 'cse_alife_object_physic',

    bottle_3l                => 'cse_alife_object_physic',
    freezer                    => 'cse_alife_object_physic',
    bludo                    => 'cse_alife_object_physic',
    kastrula                => 'cse_alife_object_physic',
    kastrula_up                => 'cse_alife_object_physic',
    krujka                    => 'cse_alife_object_physic',
    lojka                    => 'cse_alife_object_physic',
    miska                    => 'cse_alife_object_physic',
    tarelka1                => 'cse_alife_object_physic',
    tarelka2                => 'cse_alife_object_physic',
    teapot_1                => 'cse_alife_object_physic',

 

Изменено пользователем mdm64

Поделиться этим сообщением


Ссылка на сообщение

@UriZzz, Насчёт некорректности декомпиляции я бы согласился, если бы не одно "но" - точно такой же результат был ещё как минимум у одного человека, а именно у @WolfHeart, который выложил вчера декомпилированные им версии спавна. Я повторил декомпиляцию в соответствии с его рекомендациями (изложены выше) и получил такой же результат...

@naxac, Меня, собственно, заинтересовала одна её особенность при использовании, которую я изложил выше. Интересно, а в универсальной версии это возможно?

Назрел очередной вопрос,вытекающий из моего первого сообщения здесь - требуется подключить новые локации из одного минимода СГМ 2.2 к другому минимоду СГМ 2.2, в котором также имеется новая локация (платформа одна и та же - ЗП и СГМ 2.2). Почитал темы на этом и других форумах, посмотрел инструкции (которые смог найти) и мало что понял, практически везде мануалы по слиянию локаций из ТЧ или ЧН с ЗП, с приличным количеством ненужным в моём случае ритуальных телодвижений (наверное, потому и не понял этих мануалов). В обоих моих минимодах, предназначенных для слияния их локаций, новые локации имеют двухсторонние переходы со стандартными локациями ЗП СГМ 2.2, между локациями самих модов переходов нет (начинаются эти переходы на новые локи на Кордоне в обоих модах).

На этом форуме увидел сообщение пользователя, что существует "стандартная инструкция для ЗП по подключению локаций буквально с пол-пинка и без проблем в отличие от других платформ" - сам её не нашёл, если у кого имеется, буду благодарен!

Прошу по возможности доходчиво объяснить подключение локаций на одной платформе (ЗП) , тем более уже рабочих и полностью настроенных. Ведь при этом многие параметры локаций изменять не нужно. Или дать ссылки на не сильно заумные инструкции, где расписано толково и доступно.

Для примера - переход в спавне одного минимода с Кордона на Свалку.

Скрытый текст

[5401]

; cse_abstract properties
section_name = level_changer
name = esc_level_changer_to_garbage
position = -161.493927001953, -4.37311172485352, 345.518188476563
direction = 0, 0, 0
id = 65535
version = 128
cse_abstract__unk1_u16 = 0x1
script_version = 12
spawn_id = 1632

; cse_alife_object properties
game_vertex_id = 2091
level_vertex_id = 89305
object_flags = 0xffffff3e

; cse_shape properties
shapes = 1
shape_0:type = box
shape_0:axis_x = 1.76299810409546,0,0
shape_0:axis_y = 0,2.06199789047241,0
shape_0:axis_z = 0,0,1.76299810409546
shape_0:offset = 0,0,0

; cse_alife_space_restrictor properties
restrictor_type = 3

; cse_alife_level_changer properties
dest_game_vertex_id = 2226
dest_level_vertex_id = 195050
dest_position = 35.4804000854492, 0.469121485948563, -309.028198242188
dest_level_name = garbage
silent_mode = 1

; se_level_changer properties

 

P.S. Увидел в одном из сообщений такую фразу - "Программа для подключения уровней к ЗП". Не подскажете, что это за зверюга и где найти, если она существует?

Поделиться этим сообщением


Ссылка на сообщение

@WolfHeart, И эту программу (Программа для подключения уровней от комманды АМК) почему-то тоже не могу найти...

Насчёт SDK - смотрел, версий и сборок предлагают много, но как в фильме "меня терзают смутные подозрения"... Если не трудно, можно скинуть нормальную рабочую сборку под ЗП, я читал на форуме, что есть такие ?

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
22 часа назад, WolfHeart сказал:

Но самая лучшая/правильная программа - это SDK.

С этим спорить не буду. Напрягло другое - посмотрел по ссылкам мануалы и видеоуроки по SDK .К слову, по большей части они в отвратительном качестве и рассчитаны, очевидно на самого автора этих уроков - например, здесь Видео уроки по программе X-Ray SDK 0.7 в пункте "Создание игровой локации за 2 часа" в уроке "экспорт в игру" ничего нет о том,какие файлы готовой локации требуются для вставки в игру и где они должны располагаться и как именно.

Да, автор этих уроков знает "что и как", это замечательно! НО... он видимо даже не предполагает, что во многих случаях людям не требуется вообще создавать новую локацию или импортировать её с другой платформы, что очень много случаев, когда требуется всего лишь в рамках одной платформы "перебросить" локацию из одного мода в другой с полным сохранением её содержания и даже без создания или редактирования точек переходов между локациями. Судя по указанному видеокурсу (а это ссылка с сайта, который рекомендовал @Купер,), для простого переноса локации между играми или модами в пределах одной платформы необходимо локацию полностью разобрать, перевести в SDK, после чего снова собрать и только после этого экспортировать в игру. Памятуя анекдот, в котором "наши" врачи вырезают гланды автогеном через задний проход, невольно прихожу к выводу, что в данном случае этот анекдот стал грустной реальностью...

Иными словами, чтобы выполнить фактически последнее действие с готовой локацией, необходимо полностью изучить весь курс работы с SDK и пройти по всем пунктам создания новой локации с нуля, что во многих случаях (в моём, в частности) попросту не требуется...

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

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

Искренне надеюсь, что никого ничем не обидел...

P.S. На случай вопросов - образование у меня потолочное техническое, радиоинженер по разработке особо сложной продукции (космос), так что в вопросах с незнакомым ПО достаточно быстро могу разобраться (всё-таки советское образование даёт знать). Но здесь... устойчивое ощущение, что для того, чтобы сложить 2+2 необходимо полностью изучить курс высшей математики... Что на мой непрофессиональный в этой области взгляд как минимум неразумно...

Изменено пользователем mdm64

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

  • Куратор(ы) темы:

AMK-Team.ru

×
×
  • Создать...