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

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


KD87

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

но теперь новая беда

Судя по отсутствию в логе строки

scanning configs...done!

скрипт не смог просканировать конфиги мода, отсюда и ошибки. Папку configs ложили в папку к uACDC ?

И поправьте сразу Ваш батник так:

del sections.ini

perl universal_acdc.pl -d all.spawn -out all_spawn_files all -scan config/ -nofatal

pause

плюс создайте папку с именем "all_spawn_files"(она указана в параметре -out) в папке с uACDC, в нее скрипт сложит распакованные файлы, а то он их свалит в саму папку uACDC и будет бардак вперемешку с батниками и всем остальным.

Изменено пользователем UnLoaded
  • Спасибо 1

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


Ссылка на сообщение
Как там будет лучше всего батник настроить?

Опять шпульку пущу: перечитать справку к uACDC.

Если папка с uACDC находится в папке gamedata\spawns, то можно прописать в батник упаковки(компилирования) следующее:

perl universal_acdc.pl -compile all_spawn_files all -out ..\new.spawn
pause
где "all_spawn_files" - папка для распакованного спавна, указанная ранее в батнике распаковки.
В этом случае, новый файл спавна с именем new.spawn будет создан в папке с исходным all.spawn'ом. Удобно - можно затем переименовать исходный(сделать бэкап), потом переименовать в all.spawn новый файл new.spawn.
Можно указать сразу перезапись старого файла новым:
-out ..\all.spawn
но так опасно поступать, вдруг проблемы - а вернуться к предыдущему варианту спавна уже проблематично.
Или сделать так: 
ren ..\all.spawn ..\old.spawn
perl universal_acdc.pl -compile all_spawn_files all -out ..\new.spawn
pause
тогда предыдущий спавн будет переименовываться.
Изменено пользователем UnLoaded
  • Спасибо 1

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


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

 

 

выдаёт ошибку при чтении конфига

Ну, допустим, ошибка при написании содержимого батника распаковки - неверно указан путь к папке config.

 

 

 

Что делать?

Правильно оформлять вопрос: где содержимое лога ошибки ? Содержимое батника распаковки то-же не помешает...

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


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

 

 

подскажите пожалуйста что я делаю не так

Ну, естественно, не так ты вопрос задаешь: сделай скрин с cmd-окна, или фрагмент из лога выложи. Иначе, просто не о чем разговаривать: "Fatal error..." - это 0 информации. А кашпировские в отпуске, или вымерли....

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


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

@AzovStalker

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

Должно быть что-то вроде:

del sections.ini
perl universal_acdc.pl -d all.spawn -out all_spawn_new_files all -scan config/ -nofatal
pause

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


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

 

 

прописал только полную строку здоровья и тоз34

Это как ? Конкретно, что за "полная строка здоровья" ?

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


Ссылка на сообщение
я искал секцию actor

Нашел ?

Искать надо по section_name = actor.

 

И пытался прописать ГГ здоровье и ТОЗ-34 ?

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

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


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

@AzovStalker

Почему только часть секции выкладываешь ? Лень мышкой больше протянуть ?

 

Нда, пишешь, что хотел актеру ТОЗ-34 выдать, а в приведенном тобой коде я ее не вижу. Набор upd: -параметров, приведенных тобой, очень прилично отличается от того, что у меня в спавне для актера(ГГ) прописано.

Я так понимаю, что ты скопировал эту часть(ну где upd:-параметры) из какого-то тутора и влепил скопированное в секцию актера ?

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


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

В секциях all.spawn'а просто так удалять и менять что-то не рекомендуется. Нужно точно знать что и как.

Сделай так: заново распакуй исходный(оригинальный) спавн, в который ты пытаешься правки вносить. Затем, к примеру, чтоб изменить здоровье актера(ГГ) до 100% и выдать ему ТОЗ-34 в раздел [spawn] допиши нужный ствол(в принципе у тебя правильно написано для Винтореза), а для изменения уровня здоровья измени в строке upd:health = ... значение что там есть на 1. Остальное трогать нельзя ! Особенно, если не понимаешь что оно означает.

Затем запакуй и начни НИ.

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

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


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

 

 

А вот в spawn_ids.log надо изменения вносить?

Файл с расширением log - это файл отчета о работе какой-то программы, обычно имеет только информационное назначение. Вносить в него какие-то изменения бессмысленно.

Описание вылета говорит о попытке создать объект с уже зарегистрированным ранее story_id(сюжетный идентификатор). Код секции, приведенный тобой - это секция спавна актера(ГГ), такая секция во всем all.spawn'е(и соответственно во всех alife...-файлах распакованного all.spawn'а) должна быть одна! Так, что проверяй поиском по всем alife...-файлам наличие дубликата секции.

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


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

 

 

ошибка не пропадает. Собсно, вопрос: почему?

А зачем в scan.pm лезть ? Есть же clsids.ini, в нем проверь и добавь. У меня присутствует строка:

ZS_ZHARK  = se_zone_anom

Это версия 1.35

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


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

 

 

Что делать?

Один из извечных вопросов на Руси...

Нормальными англицкими буковками вроде-ж написано, что присутствует две проблемы: одна - при сканировании папки конфигов, вторая в секции конфига wpn_bm16. Скорее всего, обе проблемы взаимосвязаны. Открыть файл с этим самым конфигом и глянуть чего там так наворотили, что ACDC об него спотыкается. Для сравнения открыть этот же конфиг из чистой игры...

 

P.S. Кстати, подумалось в виде вопроса к автору утилиты: а не пора ли уже сделать русскоязычный интерфейс программы, включая и описание ошибок ? Я конечно верю, что иностранцы все сплошь и поголовно увлечены модостроем для Сталкера, и еще верю, что чисто англицкий текст способствует улучшению знания славянскими модостроителями забугорного языка...

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


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

 

 

Как не странно, конфиги абсолютно одинаковые. А все равно не распакует

Тогда загляни еще в класс_регистратор.script, может там для дробовиков чет накрутили. Посмотри нет ли новых сетов, если есть - добавь соответственно.

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


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

@lex99913

Метку на карте(глобальной или мини) ставят движковые ф-ции level.map_add_object_spot_ser(...) или level.map_add_object_spot(...). В твоем вопросе "чтобы предметы или нпс отображались на карте" нет конкретики, что именно тебе нужно - отметить на карте произвольный объект ? Или ты имеешь в виду установку меток на объекты заданий, при их выдаче(активации) ? И о том и о другом можешь прочесть в "Справочнике по ф-циям и классам", да и в самих файлах игры примеров полно...

 

P.S. А к all.spawn'у это точно никак не относится...

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

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


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

 

 

никаких изменений не наблюдается.

НИ начинал ? После перепаковки all.spawn'а нужно начинать НИ, чтоб увидеть изменения.

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


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

@frfonl

1. Почитать шапку темы -  ты там, хоть что-то, про фрэймвоки или VC++ видел ? Нет. Зачем тогда об этом воду переливать, из пустого в порожнее?

2.

 

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

3.

 

пути с p0:game_vertex_id = 51048
Сильно сомневаюсь, что в игре есть гейм-вертексы с таким номером. Есть такой скрипт ggTool, он выдает максимальный гейм-вертекс около 3000. Насчет, откуда такие значения берутся - действительно хотелось бы услышать компетентный ответ.

 

 

а некоторых путей (не unknown) вообще не нашел, например: [mil_lager_kamp_1_task]

Где не нашел? В СДК? У меня такого пути то-же нет, ни на локации в СДК, ни в распакованном спавне. Скорее всего, при декомпиле локаций в формат СДК, некоторые пути бьются со всеми вытекающими... Просто добавь, если очень нужны.

4.

 

как в оригинале?
С учетом ответа на вопрос №2 - о каком оригинале идет речь? Не поленись, посмотри в доках на всякие скрипт-языки(эти же АктивПерл и Луа) описания ф-ций сортировки - там везде сказано, эмм... как-бы по-проще: "результат сортировки рандомен". Хотя тут могу быть и не прав.

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


Ссылка на сообщение
а неустойчивость алгоритма сортировки

Точно так(обозвал как смог).

 

Это как же понимать? Результат сортировки чисел от 0 до 12 в порядке возрастания неоднозначен?!

Ты опять забываешь, что в all.spawn'е нет никаких нумерованных по возрастанию секций - файл бинарного типа. Соответственно, uACDC его разбирает, получая валом объекты и пути, а затем, с использованием того самого "неустойчивого алгоритма сортировки", полученное сортируется по локациям и нумеруются секции и результат сливается в файлы.

 

Вывод: компилятор эти пути игнорирует (возможно преднамеренно). Вопрос: почему?

Я уже предположил: координаты точек этих путей не валидны - стоят не на AI-сетке. Проверь в СДК - там это прекрасно видно...

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

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


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

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

×
×
  • Создать...
⚠ ВНИМАНИЕ! НЕ РЕКОМЕНДУЕМ ПРОИЗВОДИТЬ РЕГИСТРАЦИЮ НА ФОРУМЕ.