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

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


KD87

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

Зачем все эти танцы с бубнами сложности? Не проще использовать xrAI?)

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

naxac.gif

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


Ссылка на сообщение
(изменено)

@Marked, ссылка

И еще вот:

х64: https://yadi.sk/d/NeOThjvxbgvde

x64 без pdb: https://yadi.sk/d/qrHM0AnlbhNH3

 

1. Собираешь граф уровня.

2. Собираешь game.graph. Если повалятся ошибки - пересобираешь граф для каждого уровня (как в п.1).

3. Собираешь спавн.

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

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

naxac.gif

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


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

Что-то никак не получается распаковать level.snd_static:

D:\ST\level_snd_static>lsscdc.pl -d level.snd_static -out level_snd.ltx


log inited: console
reading level.snd_static
exporting level_snd.ltx
Can't use an undefined value as an ARRAY reference at stkutils/ini_file.pm line
        146 (#1)
    (F) A value used as either a hard reference or a symbolic reference must
    be a defined value.  This helps to delurk some insidious errors.

Uncaught exception from user code:
        Can't use an undefined value as an ARRAY reference at stkutils/ini_file.
pm line 146.
        stkutils::ini_file::_export_vector('IO::File=GLOB(0x2926d94)', 'snd_stat
ic=HASH(0x291d8b4)', 'HASH(0x291a63c)') called at stkutils/ini_file.pm line 121
        stkutils::ini_file::export_properties('stkutils::ini_file=HASH(0x29f7c34
)', undef, 'snd_static=HASH(0x291d8b4)', 'HASH(0x291a5fc)', 'HASH(0x291a63c)', '
HASH(0x291a67c)', 'HASH(0x291a6bc)') called at stkutils/level/level_snd_static.p
m line 151
        snd_static::export('snd_static=HASH(0x291d8b4)', 'stkutils::ini_file=HAS
H(0x29f7c34)', 0) called at stkutils/level/level_snd_static.pm line 94
        stkutils::level::level_snd_static::export('stkutils::level::level_snd_st
atic=HASH(0x897c24)', 'level_snd.ltx') called at D:\ST\level_snd_static\lsscdc.p
l line 68
        main::decompile() called at D:\ST\level_snd_static\lsscdc.pl line 46

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

Пробовал разные версии перла - без толку... Win7 SP1 Максимальная x64.

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

naxac.gif

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


Ссылка на сообщение
(изменено)

@UriZzz, 5.16.3, отсюда: https://www.gameru.net/forum/index.php?showtopic=66052

Но можно было, видимо, и постарше ставить, потому что было в логе что-то про "may be defined array...".

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

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

naxac.gif

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


Ссылка на сообщение
(изменено)

@kalabay, spawn_id это и есть номер секции, и они постоянно обновляются при пересборке спавна, если были добавлены или удалены объекты. Если тебе в процессе игры нужно будет получить spawn_id объекта, то ему можно задать spawn_story_id. Получить можно так:

local spawn_id = alife():spawn_id(<spawn_story_id>)

 

Вообще spawn_id используется для спавна ранее удалённых объектов, больше его и приспособить некуда... Как у тебя могла не появиться эта флешка, непонятно.

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

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

naxac.gif

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


Ссылка на сообщение
(изменено)
3 часа назад, mdm64 сказал:

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

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

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

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

naxac.gif

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


Ссылка на сообщение
(изменено)

@mdm64, тут дело вернее всего в версии перла. У меня стоит эта версия, с ней все отлично работает. Пробовал до этого другие какие-то, не помню уже, какие, ничего тоже не получалось, постоянные ошибки.

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

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

naxac.gif

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


Ссылка на сообщение
38 минут назад, mdm64 сказал:

забыл, что лучшее враг хорошего...

Просто скрипты написаны давно, для старых версий перла, поэтому на новых они не всегда работают.

Попробуй stkutils обратно положить..

  • Нравится 1

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

naxac.gif

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


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

@mdm64, аи-переходы - это переходы между точками графа (вертексами) для перемещения нпс. Есть ещё левел-чейнджеры - они уже служат для перемещения актёра между уровнями. Добавлять нужно и те, и те. 

Левел-чейнджеры добавляются в спавн (section_name = level_changer), а аи-переходы - в граф (в section4.bin в твоём случае)

  • Согласен 1

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

naxac.gif

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


Ссылка на сообщение
(изменено)

@mdm64, это тебе нужно поменять все вертексы на новые. То есть, разобрать твой новый граф (section4.bin) и посмотреть новый начальный вертекс локации, а потом ко всем game_vertex_id в спавне на этом уровне (alife_локация.ltx) прибавить/отнять необходимое значение (разницу между старым и новым). То же сделать и с путями (если они тебе нужны) - way_локация.ltx. Я это делал луа-скриптом, полностью перезаписывая файлы. Есть вроде acdc с такой функцией, либо отдельный скрипт на перле.

А переходам с локации надо будет изменить dest_-координаты, то есть координаты, на которые переходит ГГ через этот переход. Это если они останутся на прежних местах.

Изменено пользователем naxac
  • Полезно 1

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

naxac.gif

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


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

@Han Sola, возможно, для какого-то из level_changer'ов указан несуществующий dest_graph_point. Вылет связан с левел-чейнджером, судя по месту в скрипте, на которое ссылается лог.

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

naxac.gif

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


Ссылка на сообщение
(изменено)
06.10.2021 в 23:20, UriZzz сказал:

Это что? Билдовский мусор(надеюсь)???

Это пути или объекты с невалидным game_vertex_id - например, пути вертолётов. Утилита не может понять, на каком уровне они должны находиться, вот и пишет их в этот файл. По идее, чтобы такого не было, надо перед сплитом разобрать all.spawn, установить этим объектам/путям нужный гейм-вертекс вручную, а потом собрать обратно. ACDC такие объекты при разборке спавна тоже пишет в отдельный файл - alife_unknown.ltx или way_unknown.ltx, емнип.

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

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

naxac.gif

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


Ссылка на сообщение
(изменено)

 

10 часов назад, SloYka сказал:

актуальный работающий скрипт на распакову level.snd_statics

Ну в шапке темы же.

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

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

naxac.gif

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


Ссылка на сообщение
(изменено)

@SloYka , странно, у меня работает. Версию перла попробуй другую установить, постарше какую-нибудь.

9 часов назад, SloYka сказал:

Can't use an undefined value as an ARRAY reference at

Вот это указывает на то, что версия перла не подходит. У меня, например, стоит Strawberry Perl 5.12.3.0.

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

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

naxac.gif

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


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

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

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

AMK-Team.ru

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