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

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


KD87

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

KD87 и FANAT. У меня тоже такое было пока не показал путь до гейм.графа. тч(1.0004)

 

[6546]:flag1 Будем знать :good2: . Очень нужная особенность.

 

Меток может быть несколько, в принципе. В таком случае их нужно задавать через запятую, без пробелов: -f flag1,flag2.KD87

 

Кстати. Этот вариант батника

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

pause

Можно так, при этом не нужно нечего кидать в папку с Universal ACDC:

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

Самый удобный наверное. Просто поместите все что касается Universal ACDC в любую папку, и эту папку положите в папку spawns.

Все уже настроено :)

Сборка:

universal_acdc.pl -c all_spawn

pause

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

Мой архив

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

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

Перл установил, вот такой батник

universal_acdc.pl -d all.spawn -o spavn_NS -scan config\ -g C:\Proshs\Universal ACDC\game.graph
pause

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

 

Повторяю еще раз - все пути должны быть без пробелов и кириллицы. Если game.graph лежит в папке с acdc, ключ -g не нужен. KD87

 

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

Убрал -g и все, распаковал, супер, наконец то есть чем распаковать НС, а то столько уже ищю АСДС к нему, и вот свершилось..

KD87 Спасибо огромное!

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

FANAT.gif

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

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

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

Ссылка на комментарий
FANAT, спавн Народной Солянки веселый - помимо всего прочего в нем продублированы некоторые пути (way-объекты), а acdс при запаковке такие не пропускает. Так что перед запаковкой проверь все way_... файлы на дублирующиеся секции.
  • Нравится 1
Ссылка на комментарий

KD87-что-то у меня не выходит с правильным созданием батника. Мод на котором учусь AMK+NLC+WAWKA. Закинул папку конфиг создал батник по примеру как чуть выше написал FANAT,так при запуске батника в окошке пишет такой фатал эрор что я буду до утра его переписывать. Помогите плиз как правильно создать команду в батнике так как из редми мне некоторые слова не понятны.

 

Найди в скрипте строчку use diagnostics; и поставь перед ней значок #. Потом запускай и клади сюда скрин. KD87

 

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

Прошу прощения незнание чего-либо это не проявление глупости. А в каком простите скрипте искать эту строчку?

 

universal_acdc.pl. Это perl-скрипт. Там есть эта строчка, ближе к концу файла. KD87

Изменено пользователем KD87
smeh..gif
Ссылка на комментарий

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

 

Для того, чтобы 'скопипастить' все сообщение из консольного (DOS) окна нужно:

 

1. Не нажимая никаких клавишь на клавиатуре, кликнуть правой кнопкой мыши (ПКМ) по рамке DOS-окна.

2. В появившемся меню выбрать: Изменить -> Выделить все. В результате весь текст в окне подсветится ...

3. Нажать на клавиатуре клавишу: <Ввод> (Enter) или, опять же по ПКМ, в появившемся меню выбрать: Изменить -> Копировать.

В результате выделенный текст окажется в буфере обмена и может быть вставлен (Insert) в какой-либо редактор, например в "Блокнот" (Notepad), и сохранен как текстовый файл.

 

KD87, текущий (19.09.2011) вариант проверил. Работает как заявлено.

Появились некоторые мысли ... например по использованию того же 'guids.ltx'. Сформулирую немного познее, погоняв утилиту ...

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

KD87-Если я правильно понял, то я его сейчас кликал он появляется и сразу ичезает.

 

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

 

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

C:\usr\bin\Universal ACDC>universal acdc.pl -d all.spawn\ -o amk

"universal" не является внутренней или внешней

командой, исполняемой программой или пакетным файлом.

 

C:\usr\bin\Universal ACDC>pause

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

 

universal acdc - дак через нижнее подчеркивание должно быть же :) файл-то как называется? KD87

Изменено пользователем KD87
smeh..gif
Ссылка на комментарий

smeh

Если у тебя Windows7 - в батники перед 'universal_acdc' добавь 'perl' (прямой вызов интерпретатора языка).

 

Т.е.: perl universal acdc.pl -d all.spawn\ -o amk

 

 

KD87, про особенность батников для Windows7 вероятно стОит и в шапку вынести и в readme добавить. Вопросы такие постоянно идут и только будут расти повторы.

 

Эм, это необязательно. У меня семерка, никогда не ставлю perl. KD87

 

P.S.

ziStam, а ты попробуй оригинаьный спавн распаковать ... Тоже удивишься. :-)

ACDC сортирует пути по файлам локаций (way_ИМЯ_ЛОКАЦИИ.ltx) по гейм-вертексам прописанным в путях.

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

Т.о. секция пути и не теряется и не приводит к фатальным ошибкам игры/скриптов из-за ненахождения пути.

Условно, такие пути с некорректными вертексами - заглушки. Хотя ... в некоторых ситуациях могут и приводить к вылетам в схемах движения.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

KD87, здравия желаю! Наконец распаковал спавн Солянки, и как-то удивился что пути, которые должны находится на чаэс-2 находятся в файле labx8. Это асдс так пути путает, или же это в Соли намудрили?

 

ACDC разбирает пути по гейм-вертексам. Как было, так и разобрал. KD87

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

Legend of Stalker

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

Прошу прощения я понимаю, что я уже всех достал.(Ну не судите строго новичка) У меня XP, в общем подчеркнул и вот,что вышло

 

C:\usr\bin\Universal ACDC>universal_acdc.pl -d all. spawn\ -o amk

checking version of all....

 

FATAL ERROR!

Function: main

Line: 6946

Expression:

Description: cannot open all.

 

C:\usr\bin\Universal ACDC>pause

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

 

all. spawn\ - это что за файл такой? Пиши в батнике внимательней. KD87

Изменено пользователем KD87
smeh..gif
Ссылка на комментарий

Новая версия: http://narod.ru/disk/25690244001/Universal%20ACDC.7z.html.

Что нового:

[+] добавлена функция разбивки all.spawn на level.spawn и level.game (аналог split_spawns в аивраппере)

исправлена распаковка/запаковка level.spawn, поломанная в какой-то из версий.

  • Нравится 1
Ссылка на комментарий

KD87- Этот файл находится в игре сталкер гейм дата спавн-для спавна нпс и многого другого. Может мне не нужно закидывать ал спавн в acdc, а нужно просто указать путь где он находится в игре,или кроме ал спавна и папки куда распаковывать нужно указать еще что-то? Ребята выручайте,правку конфигов освоил практически,хочется сделать что-то серезней-заспавнить своего непися. Зараннее спасибо!

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

smeh

Краткая инструкция по установке универсального ACDC для работы 'на лету':

  Инструкция по установке: (Показать)
Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Вопрос-предложение.

Вчера хотел заспавнить новую секцию, не вышло пока не добавил ее в scan.pm.

Как происходит сканирование папки конфиг? Если там будет секция не прописанная в scan.pm то будет ли произведена распаковка алл спавна?

К чему я?

Если будет произведена распаковка алл спавна при неизвестных/непрописанных в scan.pm секций то можно ли добавить эту фишку и при сборке иного?

То есть 1. Распаковал с таким ключом -scan 2. Провел кучу изменений + добавил кучу новых секций

И собрал его без редактирования scan.pm, допустим с тем же ключом -scan.

Хотя, если что. и так не тяжело все добавить в scan.pm :)

---

Спасибо. Проверил, все работает.

Секция уже была в конфигах, просто запаковывал без ключа скан так как про него не написано в реадми в заголовке ===[Запаковка спавна]===.

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

Мой архив

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

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

amik, в целом логика такая. acdc распаковывает/запаковывает примерно по логике движка. Движок после прочтения section_name лезет в конфиги, смотрит, какое поле class у соответствующей секции, и по этому полю знает, какой нет-пакет у объекта. Распаковка мод-спавнов работает по такому же принципу: неизвестный section_name -> лезем в прочитанные конфиги (которые суть файл sections.ini) -> узнаем формат спавна для этой секции. Таблица section_to_class в модуле - исключительно для удобства (ну вдруг кому стандартный спавн распаковать, а конфигов нет).

Из вышесказанного ясно, что при добавлении неизвестной секции в спавн - ее же надо добавить и в конфиги (иначе и движок не поймет). Если же ты добавил секцию и в конфиги - надо просто обновить файл sections.ini. Это делается или вручную, или путем его удаления. При запуске компиляции с ключом -scan, сгенерится новый, обновленный файл. Править scan.pm нежелательно, можно потерять правки при очередном обновлении.

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

KD87

О некоторых неудобствах использования универсального ACDC:

 

1. Если в процессе запаковки или распаковки с использованием ключа -scan по какой-либо причине прерывается создание списка секций sections.ini' - этот файл создается нулевой доины и дальнейшее использование утилиты невозмодно без ручного удаленя пустого файла.

Возможные варианты решения:

- удалять пустой файл при прерванном процессе сканирования;

- при наличии этого файла в папке утилиты - проверять его длину и при 'нулевой' - пересканировать секции.

 

2. Наличие файла 'spawn_ids.ltx', а точнее любого ltx-файла, содержимое которого аналогично 'spawn_ids.ltx' приводит к прерыванию в процессе сканирования и созданию пустого файла секций 'sections.ini'.

  log (Показать)
Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Новая версия Universal ACDC: http://narod.ru/disk/26105366001/Universal...1-09-23.7z.html

Что нового:

-исправлено предупреждение при запаковке спавна без ключа -idx. Спавн собирался, как надо, просто предупреждение нервировало (нашел RedPython)

-теперь sections.ini нулевой длины (из-за прерывания процесса сканирования) удаляется при повторном сканировании (Artos)

-генерируемый файл с секциями теперь пропускается при сканировании (Artos)

-переделана data_packet::unpack, так что теперь чтение будет работать быстрей. В acdc наиболее заметно на стадии "reading vertices...".

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

 

Прошу проверить в игре спавны, запакованные этим acdc. Из-за реализации третьего пункта изменений пришлось шаманить со спавном. В теории все должно быть нормально, но кто его знает, этот x-ray :)

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

KD87, возможно ли реализовать показ строки дублирующейся секции? Очень удобно будет при работе со спавном Солянки например :) , т.к. там довольно много дублирующихся путей

KD87, спасибо!

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

Legend of Stalker

Ссылка на комментарий
ziStam, ты имеешь ввиду показ в консольном окошке или запись в лог? В любом случае, не думаю, что в этом есть необходимость. Обычно в спавнах нет повторяющихся секций. В спавне солянки много повторяющихся путей, да, но все они в одном файле. А тут все просто - открываешь в каком-нибудь Notepad++, выбираешь стиль MS INI, сворачиваешь все секции и удаляешь секцию одним нажатием Del.
Ссылка на комментарий

ziStam,

  Цитата
возможно ли реализовать показ строки дублирующейся секции?

В Notepad++ я для этой цели использую сортировку. Это меню TextFX -> TextFX Tools и там сверху группа команд "sorting". Одинаковые строки собираются в группы и сразу видно, что их не одна а больше.

 

Если надо сделать такое во множестве файлов, то сначала файлы склеиваю. Обычно делаю это в Total Commander в два приёма. Сначала копирую файлы в отдельный каталог, переименовываю, заменяя имена на автонумерацию. Затем собираю в один инструментом скливания файлов из частей. Ну а дальше работаю с получившимся большим файлом в Notepad++.

 

Может отдельные шаги можно сделать и проще, но думаю идею ты понял.

 

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

Изменено пользователем malandrinus
  Полезный утиль (Показать)
Ссылка на комментарий

KD87

Что-то в версии 2011-09-23 не так ...

1. При отсутствии файла 'sections.ini' утилита отказывается как распаковывать, так и запаковывать спавн.

При наличии этого файоа - распаковывает и запаковывает. Похоже отказывается сканировать конфиги.

  Логи: (Показать)
Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

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

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

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

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

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

Войти

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

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

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

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