Universal ACDC и другие perl-скрипты - Страница 3 - Инструментарий - AMK Team
Перейти к контенту

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


KD87

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

Artos, ну да, так оно и работает. Надо самому добавлять расширение. Может, кто не ltx захочет, а что другое.

smeh, в батник, в конец добавь pause и потом скажи, какая там ошибка.

  • Нравится 1

smeh

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

Почитай реадми к ACDC и посмотри что у тебя прописано в батниках. Приведи их (пути/имена/...) к требуемому именно у тебя, а не со скачанного компа.

 

KD87

А может дефолтно именно принудительно давать заявленное расширение?

Ведь пользователю не сложно самому переименовать в нужное ... А для неопытных - не будет 'непонятного файла'.

Можно и парсить это имя и ... при указании расширения - задавать именно его, а по дефолту давать именно *.ltx .

 

================================

Добавлено через 13 мин.:

Вопрос(ы) из категории "другие perl-скрипты":

 

Учитывая, что порою при модификациях встает вопрос совместимости со старыми/прежними сэйвами игры на данном моде, модмейкерам приходится или вводить усложнения по адаптции или заставлять игроков начинать НИ (заново).

1. Возможна ли работа (распаковка-изменение-упаковка) с сохранениями игры и создание скриптов для такой работы?

2. Чем и как можно работать с ссхранениями игры, учитывая конечно версию ТЧ/ЧН/ЗП?

Изменено пользователем Artos
Artos, расширение сделаю. По сохранениям - на данный момент никак. В планах есть, но там специфические проблемы - сохранения пожаты. Решить можно, но это будет не в ближайшем будущем.
  • Нравится 1

Artos-У меня декомпилер пакетный файл мс-дос.

 

KD87- Когда запускаю декомпилер внутри раскрытого окна написано

c:\usr-при установке перла была названа так папка\bin\acdc-shoc>perl acdc-shoc.pl -d all spawn

unknown amk_zone_mincer_average at acdc-shoc.pl line 2256

 

c:\usr\bin\acdc-shoc>pause

для продолжения нажмите любую клавишу_ _

После нажатия окошко закрывается и ошибок ни каких не выдаетю

smeh, ты пытаешься распаковать амкашный спавн acdc для чистого ТЧ. Ничего не выйдет, естественно. Или бери универсальный acdc, или ищи acdc для амк.
Artos, расширение сделаю. По сохранениям - на данный момент никак. В планах есть, но там специфические проблемы - сохранения пожаты. Решить можно, но это будет не в ближайшем будущем.

Пожаты точно так же, как и архивы игры - можно написать консольную программку, которую ты будешь вызывать из перла. А дальше считай обычный алл.спавн

KD87-Пытался скачать твой универсальный acdc на народе но в итоге скачивает яндексбар вместо acdc. Что делать?

smeh,

там галочка чуток выше есть - ставить яндексбар или нет - убери ее

KD87

По последней на сегодня верcии универсального ACDC (18.09.2011):

 

Имеется критический недостаток при использовании формируемого ltx-конфига с индексами из алл.спавне.

Формируемый файл содержит достаточно много дублирующихся секций и его невозможно прочитать стандартным методом 'ini_file("spawn_ids.ltx")', т.к. движек вылетает по ошибке типа: "Duplicate section 'meshes\brkbl#0.ogf' found.".

 

Т.о. требуется секциям, имеющим дубли задавать отличительный признак ...

В качестве признака, например, (на вскидку) может быть суффикс или приставка индекса локации (Кордон - 1 и т.п.).

Пока в тестах использую самописный построчный парсер секций.

 

Также, предложение: присвоить дефолтное имя 'spawn_ids' (по аналогии с 'game_story_ids.ltx') этому ltx-конфигу и логу (вместо new_idx).

Т.е. дефолтно будет (если есть метки) формироваться 'spawn_ids.log', при указании только '-idx' - будет формироваться в корне 'spawn_ids.ltx', ну а при указании пути|имени - указанное.

 

Также, предложение: для единообразия в 'custom_data' помеченных объектов добавлять секцию [spawn_id] (или [spawn_section_id]) вместо [fix_index].

 

Примечание для модмейкеров:

Использование чтения секции с именем и индексом спавна из 'custom_data' помеченного объекта применимо в случае, если в процессе игры НЕ перекомпилировался 'all.spawn' с добавлением новых объектов. В противном случае для сэйвов требуется коррекция индексов спавна в 'custom_data' объектов под перекомпилированный 'all.spawn' или НИ (заново).

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

Artos,

[l01_escape_meshes\brkbl#0.ogf] - вот так устроит? у каждой секции будет префикс в виде имени локации согласно game.graph.

Имена логов переделаю.

KD87

Если ACDC вытягивает имена аналогичные игровым alife():level_name(idLocation) - оно же level.name() - то вполне подойдет (для большинства).

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

И не уверен, при парсинге из game.graph не может попасться типа 'L01_escape'? (upper_symbol)

 

ИМХО, проще, быстрее и однозначнее запрос к секции ltx-конфига делать по числовому индексу локации: idLocation..'_'..obj:name()

Уж численные 'idLocation' у всех едино получаются (для текущей: alife():level_id() или по гейм-вертексу для любой: game_graph():vertex(idGv) ).

Да и собственно имя локации - это производная от индекса, который первичен.

 

Я бы предпочел [1_meshes\brkbl#0.ogf], т.е. приставка соответствует 'alife():level_id()' (без начальных нолей конечно).

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

Что то я не понял как распаковывать, создал такой батник

universal_acdc.pl -d C:/Proshs/Universal ACDC/all.spawn -scan config\
pause

Вот так все сложил.. c10ffaf90bf5c5a4c505bb3d3145b972551ae899086034.jpg

Запустил батник, а он открывает файл universal_acdc.pl

FANAT Убери C:/Proshs/Universal ACDC/

---

У меня все работает. Вот мой:

universal_acdc.pl -d all.spawn -g ..\..\ -o spawn_amik -scan ..\..\config\

pause

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

FANAT

Что значит "открывает ... и все.."?

Открывает этот файл типа в блокноте иль в ворде?

Или открывается консоль (черное такое окошко с буковками)?

Если второе - напиши что написано в окне.

Если первое - читай в шапке: "Для работы необходим Active Perl. Брать тут ..."

FANAT,

Код

universal_acdc.pl -d C:/Proshs/Universal ACDC/all.spawn -scan config\

pause

 

Да и слеши в путях разве не такие: C:\Proshs\Universal ACDC\all.spawn, должны быть?

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

Привет всем я так понял acdc моды не распокововыет а как сделать чтоб распоковывал?

 

Универсальный - распаковывает. Как сделать - прочитать ридми. KD87

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

7.9, слеши обратные, да.

FANAT, батник тебе надо такой (судя по скрину): universal_acdc.pl -d all.spawn -o spavn_NS -scan config\. Но главное ActivePerl установи, без него работать ничего не будет. Ссылка в шапке темы.

Обновленная версия с учетом замечаний Artos: http://narod.ru/disk/25633099001/Universal%20ACDC.7z.html.

Отличия от предыдущей версии:

-и конфиг, и лог теперь называются 'spawn_ids'. Если конфигу не поставить расширение в батнике, оно добавится само.

-в конфиге всем секциям добавлен префикс - id уровня, на котором находится объект. Принадлежность определяется по вертексу.

-ключ idx можно использовать без указания пути - конфиг появится в папке с acdc.

-добавлены разделители между секциями в распакованном спавне.

Появилась особенность. При распаковке спавна появляется файл guids.ltx, содержащий перечень локаций с их начальными вертексами. Удалять файл нельзя, иначе потом не запакуете c ключом -idx. Если без ключа - файл не нужен.

 

Если интересно, пару слов из серии "Знаете ли вы...":

-если в распакованном спавне проставить секциям произвольные метки (например, [6546]:flag1), а потом запустить запаковку с ключом -f flag1,

то секция в спавн не пойдет. Полезно для всяких тестирований - не надо руками удалять/копировать секции. Эта фичу ввел еще бардак в первых версиях acdc.

 

 

Появился файл sections.ini с множеством строк, но распакованных файлов нету, появлялось черное окно..

 

amik правильно советует. Положи game.graph в папку с acdc или задай до него путь ключом -g. А еще полезно добавить в батник слово pause и смотреть, на чем стопорится скрипт. KD87

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

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

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

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

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

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

Войти

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

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

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

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