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

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

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

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

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

Изменено пользователем mdm64
Ссылка на комментарий
1 час назад, mdm64 сказал:

Проще говоря,

У меня уже чет "крышу срывает", от этих проще. :biggrin:

Просто, берешь папку с ACDC  в нее кидаешь: папки stkutils, configs - CoP + SGM 2.2 + твоя приблуда, all.spawn от приблуды и мой батник.

И будет тебе счастье. :)

А на всякий... Держи:

all_SGM2_2

all_SGM2_2+квесты к СГМ-2.2

Пришлось SGM со всеми допами качать. :)

Изменено пользователем WolfHeart
  • Нравится 2

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Ссылка на комментарий

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

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

Ссылка на комментарий

P.S. Толко что заметил ошибку в том батнике что я тебе выкладывал:

del sections.ini

universal_acdc.pl -d all.spawn -out all_cop all -scan configs/ -sort complex -nofatal

pause

Лишняя all. Сори.

Изменено пользователем WolfHeart
  • Нравится 1

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Ссылка на комментарий

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

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

Ссылка на комментарий
3 часа назад, mdm64 сказал:

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

universal_acdc.pl -compile all_cop -out new.spawn
pause

 

  • Нравится 1

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Ссылка на комментарий

Как я и предполагал, появились вопросы, как только попытался "для пробы" скомпилировать 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
Ссылка на комментарий

@mdm64, ну ACDC это не позволил, СДК тоже не позволит, вывод - автор использовал какой-то другой софт для правки спавна.

Ну, или (мало вероятно конечно но) возможно all.spawn у тебя декомпилился не корректно, у меня подобное было, но в СДК.

  • Нравится 1

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

Ссылка на комментарий
3 часа назад, mdm64 сказал:

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

Это ACDC и есть, только старая версия, не универсальная, а заточенная исключительно под ЗП.

Изменено пользователем naxac
  • Нравится 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий

@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. Увидел в одном из сообщений такую фразу - "Программа для подключения уровней к ЗП". Не подскажете, что это за зверюга и где найти, если она существует?

Ссылка на комментарий
В 03.03.2020 в 12:57, mdm64 сказал:

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

Правильно думаешь.

В 03.03.2020 в 16:01, UriZzz сказал:

Ну, или (мало вероятно конечно но) возможно all.spawn у тебя декомпилился не корректно,

Почему мало вероятно? Очень да-же вероятно.

Нечто подобное у меня было, когда K.D. еще не покинул модинг. Не помню точно, как он это объяснил, но что-то с работой скрипта и посоветовал просто удалить эти дубликаты.

@mdm64 Просто с помощю того же Total Commander удали все красные строки. Кстати в файле way_labx8.ltx то же есть один дубликат.

В 03.03.2020 в 16:06, mdm64 сказал:

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

Не знаю что это за программа, но была где-то на форуме "Программа для подключения уровней от комманды АМК", вроде так называлась, поищи на форуме.

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

  • Спасибо 1
  • Нравится 1

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Ссылка на комментарий

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

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

Ссылка на комментарий

@mdm64, про "волшебную" программу можешь посмотреть здесь (Stalkerin). SDK есть, например, здесь (modfaq).

  • Нравится 3
Ссылка на комментарий
22 часа назад, WolfHeart сказал:

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

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

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

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

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

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

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

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

Изменено пользователем mdm64
Ссылка на комментарий

То ли я туплю, то ли одно из двух, вопрос - как узнать номер билда ЗП для ggRC (не удаляя и не переустанавливая игру заново, хотя я не припомню, чтобы в процессе установки высвечивался билд)?

И вопрос вдогонку - под спойлером часть инструкции по работе с ggRC:

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

2) Кладете в корень геймдаты (где лежит game.graph) нужные game.graph и/или section4.bin
(тоже геймграф, только от ЧН/ЗП. Запакован в all.spawn, ищите там).

Команда:
ggrc.pl [-g1 <имя_графа,номер_билда>] [-l1 <список уровней>] [-g2 <имя_графа,номер_билда>] [-l2 <список уровней>]

Оба графа требуется положить в одну папку. Если они с разных платформ, то проблем нет, а если с одной (в ЗП граф хранится в section4.bin), то как разместить два файла с одинаковым названием в одной папке?

Можно ли просто переименовать один из файлов section4.bin?

Или я что-то не понимаю?

@naxac, Да, судя по описанию это самое оно... Но сразу появилось пара вопросов, задал выше. Буду благодарен за помощь по ним.

Ссылка на комментарий
2 часа назад, mdm64 сказал:

как узнать номер билда ЗП

 

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

 

ТЧ ==> 2947

ЧН ==> 3456

ЗП ==> 3870

 

 

  • Полезно 1

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Ссылка на комментарий

При выполнении батника ggRC получаю такую ошибку:

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

D:\0\ggrc>perl ggrc.pl -g1 section4.bin,cop -l1 zaton,jupiter,pripyat,labx8,jupi
ter_underground,darkvalley,digger_stash,l04u_labx18,military,agroprom,agroprom_u
nderground,marsh,escape,red_forest,collector22 -g2 section4nl.bin,cop -l2 garbag
e,limansk,yantar
Can't locate stkutils/chunked_file.pm in @INC (you may need to install the stkut
ils::chunked_file module) (@INC contains: C:/Perl/site/lib C:/Perl/lib) at ggrc.
pl line 342.
BEGIN failed--compilation aborted at ggrc.pl line 342.

D:\0\ggrc>pause
Для продолжения нажмите любую клавишу . . .

 

Мой батник:

perl ggrc.pl -g1 section4.bin,cop -l1 zaton,jupiter,pripyat,labx8,jupiter_underground,darkvalley,digger_stash,l04u_labx18,military,agroprom,agroprom_underground,marsh,escape,red_forest,collector22 -g2 section4nl.bin,cop -l2 garbage,limansk,yantar
pause

 

Пробовал заменить папку stkutils аналогичной папкой из шапки темы - не помогает.

Пробовал в соответствии с 342 строкой (use stkutils::chunked;) переименовать chunked_file.pm в chunked.pm - не помогает, начинает ругаться на следующую строку 343:

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


D:\0\ggrc>perl ggrc.pl -g1 section4.bin,cop -l1 zaton,jupiter,pripyat,labx8,jupi
ter_underground,darkvalley,digger_stash,l04u_labx18,military,agroprom,agroprom_u
nderground,marsh,escape,red_forest,collector22 -g2 section4nl.bin,cop -l2 garbag
e,limansk,yantar
Can't locate stkutils/ogf.pm in @INC (you may need to install the stkutils::ogf
module) (@INC contains: C:/Perl/site/lib C:/Perl/lib) at ggrc.pl line 343.
BEGIN failed--compilation aborted at ggrc.pl line 343.

D:\0\ggrc>pause
Для продолжения нажмите любую клавишу . . .

Посмотрел файл ogf - имеется в наличии,имя совпадает с указанным в строке 343.

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

342 use stkutils::chunked;
343 use stkutils::ogf;

В C:\Perl\Lib также эти файлы есть, правда, там chunked.pm, а не chunked_file.pm, как в папке самой утилиты (но я выше писал, что переименование в строке 342 не дало результата).

Прошу помочь, возможно, я чего-то не замечаю.

Изменено пользователем mdm64
Ссылка на комментарий
26 минут назад, mdm64 сказал:

получаю такую ошибку:

 

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

Пробовал заменить папку stkutils аналогичной папкой из шапки темы - не помогает.

 

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

Пробовал в соответствии с 342 строкой () переименовать chunked_file.pm в chunked.pm

Не, это все не то. Попробуй папку stkutils из ggRC скопировать в C:\Perl\lib

В 16.09.2011 в 22:55, KD87 сказал:

Распакованную библиотеку модулей (папка stkutils) нужно положить в папку со скриптом или (советую) в C:\Perl\lib (или аналогичную папку, если вы установили ActivePerl в другую папку). Во втором случае stkutils будет работать для всех скриптов сразу независимо от расположения.

 

Еще возможен такой вариант, что для ggRC не подходит версия Perl. Я правда с ggRC не работал, но с подобным сталкивался при работе с другими скриптами на Perl.

Приходилось подбирать версии Perl. Версия которая у меня работает со всеми используемыми мной скритами это:

5.png

Но для нормальной работы ggRC может понадобится и другая.

Найти разные версии Perl можешь вот сдесь: ActivePerl-Old versions

Изменено пользователем WolfHeart
  • Согласен 2

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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

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

AMK-Team.ru

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