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

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

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

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

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.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

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

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

---

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

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

pause

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

Мой архив

Сталкером не занимаюсь.

Ссылка на комментарий
amik, Убрал, открывает файл universal_acdc.pl, и все..

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

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

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

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

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

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

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

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

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

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

Войти

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

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

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

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