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

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


KD87

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

Всем доброго времени суток!

Мои действия: Работаю с утилитами ggrc.pl v.0.3 и ggrc.pl v.0.6. В первом случае объединяю локации чистой ТЧ 1.0004 с локацией hiding_road. Во втором случае случае объединяю локации чистой ТЧ 1.0004 с локацией jupiter_underground CoP. Все действия произвожу согласно readme утилит. В обоих случаях game.graph формируется без проблем. Распаковываю полученные game.graph утилитой gg_cdc для просмотра полученных вертексов и создания level_changer с Кордона на присоединённую локацию (в обоих случаях), пока без АИ-переходов. Составляю all.spawn и все необходимые записи в файлах game_graphs, game_levels, game_maps_single. Всё полученное вставляю в gamedata, запускаю игру.

Результат в обоих случаях: Всё работает нормально и осуществляется переход ГГ на новые локации, есть спавн аномалий (для теста) - вроде бы всё норм. Но! 

По показаниям утилиты Position вертексы новых локаций под ГГ не поменялись , а остались прежними в своем начальном виде. При любом сохранении на новых локациях и запуске этих сейвов, ГГ оказывается на других локациях ТЧ соответствующих вертексов новых локаций. В распакованных game.graph в файлах game.graph.levels_info наблюдается некоторая "каша" после [level_11], но исправление к положительному результату не приводит. 

Вывод: новый game.graph нормально работает только со спавн элементами, а с ГГ только до первого сохранения или его смерти.

Получается проблема где то в файлах level.ai и level.gct вновь сформированных локаций (именно присоединяемых) - то есть какой то из этих файлов не обработался.

Возможно я где то допустил ошибки!?

Вопрос: Как эту проблему исправить? Судя по сообщениям форума такой вопрос уже неоднократно задавался. Очень надеюсь на практическую помощь.

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

 

 

Вопрос: Как эту проблему исправить? Судя по сообщениям форума такой вопрос уже неоднократно задавался.

Скоро уже наверное дятлом обзовут, но опять-же: СДК + xrAI...

А все эти ggrc и gg_cdc, времен, когда нормальные инструменты не были доступны - если не в топку, то где-то рядом...

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

Всем доброго времени суток!

По рекомендации UnLoaded вернулся к работе с SDK (к сожалению эту программу только недавно начал изучать - поэтому и обратился к альтернативной ggrc.pl).

Завершил объединение локации hiding_road с локациями ТЧ 1.0004. Все вертексы встали на места - утилита Position показывает правильные вертексы соответствующие game.graph. Все сохранения срабатывают нормально - ГГ становиться на нужные вертексы при загрузке сейвов.

Мои действия: В SDK произвёл все необходимые этапы, вот только не сформировался all.spawn (выдал ошибку Microsoft), постепенно разберусь в причине сбоя. Разумеется лог игры выдал несоответствие game.graph и all.spawn. Обновлённую папку hiding_road(levels) после SDK опять вставил в ggrc.pl  - получил положительный результат. Да довольно странные манипуляции. Изучу туторы и необходимые видео по теме SDK, заменю AIwrapper (он не из шапки темы SDK) - возможно в нём причина не собравшегося all.spawn. По прежнему приму все практические советы.

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

 

 

В SDK произвёл все необходимые этапы, вот только не сформировался all.spawn (

Эмм, all.spawn формируется не в СДК, а xrAI -s. Этот этап отработал без ошибок ?

 

 

 

заменю AIwrapper
Опять-же, если есть xrAI, зачем AIwrapper ?
Ссылка на комментарий

Всем доброго времени суток. Пытаюсь распаковать all.spawn  ОП-2, 


C:\Users\Я\Desktop\zzzzz>universal_acdc.pl -d all.spawn -out All\all -scan confi
g\ -sort complex -nofatal
defined(@array) is deprecated at stkutils/ini_file.pm line 146.
(Maybe you should just omit the defined()?)
defined(@array) is deprecated at stkutils/data_packet.pm line 859.
(Maybe you should just omit the defined()?)
defined(@array) is deprecated at C:\Users\▀\Desktop\zzzzz\universal_acdc.pl line
537.
(Maybe you should just omit the defined()?)
defined(@array) is deprecated at C:\Users\▀\Desktop\zzzzz\universal_acdc.pl line
905.
(Maybe you should just omit the defined()?)
log inited: console
Universal ACDC v.1.32
checking version of all.spawn...
This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)

opening all.spawn...
reading header...
reading alife objects...
handling error with zone_ogon, template C
unpacking spawn of Narodnaya Solyanka, huh? OK...

WARNING!
Function: main::__ANON__
Line: 1300
Description:
WARNING!
Function: stkutils::file::entity::error
Line: 248
Description: stkutils::file::entity::read_m_update 128 $packet->resid() == 0 upd
ate data left [1] in entity kat_wpn_ak74_m1

handling error with zone_zvon, template C
unpacking spawn of Narodnaya Solyanka, huh? OK...
handling error with wpn_val, template f3

FATAL ERROR!
Function: stkutils::data_packet::error_handler
Line: 1548
Description: unhandled exception


C:\Users\Я\Desktop\zzzzz>pause
Для продолжения нажмите любую клавишу . . .

 

 

perl universal_acdc.pl -d all.spawn -out all -scan config/ -sort complex -nofatal
pause

 

 

Сделал всё правильно, конфиги положил - уже не первый all.spawn распаковываю... 

 

Вопрос снимаю - дело в классе, поправил в sections.ini  , и всё распаковалось )

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

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

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

@Romann, убери ключ sort, он не нужен.

 

Для декомпиляции надо в конфиге ВАЛа, config\weapons\w_val.ltx, поменять класс:

-- вместо
class = WP_AK74
-- сделать
class = W_VAL
  • Полезно 1
 

10.png

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

Наконец, версия 1.38 от 21.05.2014 справилась с распаковкой без ошибок. Спасыбо!

 

$ perl5 universal_acdc.pl -d all.spawn -out all_cs -sort complex -nofatal
log inited: console
Universal ACDC v.1.38
checking version of all.spawn...
This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)
opening all.spawn...
reading header...
reading alife objects...
reading artefact spawn places...
reading way objects...
reading game graph...
reading header...
reading levels...
reading vertices...
exporting alife objects...
exporting alife objects on level l07_military...
exporting alife objects on level l05_bar...
exporting alife objects on level l12u_control_monolith...
exporting alife objects on level l02_garbage...
exporting alife objects on level l01_escape...
exporting alife objects on level l12u_sarcofag...
exporting alife objects on level l10_radar...
exporting alife objects on level l04u_labx18...
exporting alife objects on level l03_agroprom...
exporting alife objects on level l08_yantar...
exporting alife objects on level l10u_bunker...
exporting alife objects on level l11_pripyat...
exporting alife objects on level l12_stancia...
exporting alife objects on level l06_rostok...
exporting alife objects on level l03u_agr_underground...
exporting alife objects on level l12_stancia_2...
exporting alife objects on level l08u_brainlab...
exporting alife objects on level l04_darkvalley...
exporting raw data...
exporting way objects on level l08_yantar...
exporting way objects on level l02_garbage...
exporting way objects on level l08u_brainlab...
exporting way objects on level l12u_sarcofag...
exporting way objects on level l12_stancia...
exporting way objects on level l12_stancia_2...
exporting way objects on level l10_radar...
exporting way objects on level l07_military...
exporting way objects on level l06_rostok...
exporting way objects on level l03_agroprom...
exporting way objects on level l04u_labx18...
exporting way objects on level l11_pripyat...
exporting way objects on level _level_unknown...
exporting way objects on level l01_escape...
exporting way objects on level l05_bar...
exporting way objects on level l03u_agr_underground...
exporting way objects on level l12u_control_monolith...
exporting way objects on level l04_darkvalley...
exporting way objects on level l10u_bunker...
done!

 

Нашел какой-то безымянный древний мод и решил поправить all.spawn. Пришлось немного повозиться. Нужно было добавить в section.ini:

 

'dolg_arhive_documents' = cse_alife_item
'war_final_door_key1' = cse_alife_item
'cit_deadcity_maps' = cse_alife_item
'cit_vp_pda' = cse_alife_item
'outfit_monolith_m1' = cse_alife_item_custom_outfit
'wpn_vintorez_coll' = cse_alife_item_weapon
'zombie_1_normal' = se_monster
'fracture_weak' = se_monster
'zombie_7_strong' = se_monster
'zombie_2_normal' = se_monster
'chimera_strong' = se_monster
'zombie_4_normal' = se_monster
'zombie_5_strong' = se_monster
'zombie_6_normal' = se_monster
'fracture_normal' = se_monster
'cat_normal' = se_monster
'zombie_1_ghost_strong' = se_monster
'zombie_immortal_2_weak' = se_monster
'fracture_strong' = se_monster
'cat_strong' = se_monster
'zombie_7_normal' = se_monster
'stalker_arena_savage' = se_stalker

 

Извините за оффтоп.

Изменено пользователем BFG
Добавлено BFG,

Предупреждение !

Красный - цвет Модераторов. Читаем Правила.

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

При распаковке all.spawn(ОП-2) в логе выводится следущее:

 

Universal ACDC v.1.38
checking version of all.spawn...
This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)
scanning configs...done!
opening all.spawn...
reading header...
reading alife objects...
handling error with zone_ogon, template C
unpacking spawn of Narodnaya Solyanka, huh? OK...

WARNING!
Function: main::__ANON__
Line: 1380
Description:
WARNING!
Function: stkutils::file::entity::error
Line: 249
Description: stkutils::file::entity::read_m_update 129 $packet->resid() == 0 update data left [1] in entity kat_wpn_ak74_m1

handling error with zone_zvon, template C
unpacking spawn of Narodnaya Solyanka, huh? OK...

WARNING!
Function: main::__ANON__
Line: 1380
Description:
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 122
Description: state data left [1] in entity sky_anomaly_apocalypse_zaton

reading artefact spawn places...
reading way objects...
reading game graph...
reading header...
reading levels...
reading vertices...
exporting alife objects...
exporting alife objects on level marsh...
exporting alife objects on level lost_village...
exporting alife objects on level l05_bar...
exporting alife objects on level av_peshera...
exporting alife objects on level l12u_control_monolith...
exporting alife objects on level l02_garbage...
exporting alife objects on level l01_escape...
exporting alife objects on level warlab...
exporting alife objects on level l12u_sarcofag...
exporting alife objects on level limansk...
exporting alife objects on level aver...
exporting alife objects on level hospital...
exporting alife objects on level l11_pripyat...
exporting alife objects on level l10u_bunker...
exporting alife objects on level puzir...
exporting alife objects on level l08u_brainlab...
exporting alife objects on level red_forest...
exporting alife objects on level zaton...
exporting alife objects on level l07_military...
exporting alife objects on level atp_for_test22...
exporting alife objects on level l10_radar...
exporting alife objects on level peshera...
exporting alife objects on level generators...
exporting alife objects on level l04u_labx18...
exporting alife objects on level labx8...
exporting alife objects on level l03_agroprom...
exporting alife objects on level jupiter...
exporting alife objects on level l08_yantar...
exporting alife objects on level l12_stancia...
exporting alife objects on level l06_rostok...
exporting alife objects on level jupiter_underground...
exporting alife objects on level l03u_agr_underground...
exporting alife objects on level dead_city...
exporting alife objects on level pripyat...
exporting alife objects on level l12_stancia_2...
exporting alife objects on level l04_darkvalley...
exporting raw data...
exporting way objects on level l02_garbage...
exporting way objects on level l08u_brainlab...
exporting way objects on level limansk...
exporting way objects on level l12_stancia_2...
exporting way objects on level jupiter...
exporting way objects on level atp_for_test22...
exporting way objects on level av_peshera...
exporting way objects on level l07_military...
exporting way objects on level dead_city...
exporting way objects on level lost_village...
exporting way objects on level l11_pripyat...
exporting way objects on level l01_escape...
exporting way objects on level l12u_control_monolith...
exporting way objects on level l05_bar...
exporting way objects on level l03u_agr_underground...
exporting way objects on level l04_darkvalley...
exporting way objects on level zaton...
exporting way objects on level peshera...
exporting way objects on level l08_yantar...
exporting way objects on level jupiter_underground...
exporting way objects on level l12u_sarcofag...
exporting way objects on level l12_stancia...
exporting way objects on level warlab...
exporting way objects on level hospital...
exporting way objects on level puzir...
exporting way objects on level l10_radar...
exporting way objects on level l06_rostok...
exporting way objects on level red_forest...
exporting way objects on level l03_agroprom...
exporting way objects on level l04u_labx18...
exporting way objects on level pripyat...
exporting way objects on level _level_unknown...
exporting way objects on level aver...
exporting way objects on level generators...
exporting way objects on level l10u_bunker...
exporting way objects on level labx8...
exporting way objects on level marsh...
done!

 

Как можно исправить?

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

Ребята помогите создать батник для распаковки спавна со сканированием конфига - в шапке вроде даны указания по этому поводу, но всё равно не выходит. Который день бьюсь над тем чтобы распаковать all.spawn от нлс6 "Начало" - но выходит одна только вот такая бяка:

 

FATAL ERROR!
Function: stkutils::scan::get_class
Line: 1919
Description: cannot find clsid for class inventory_sakbox_01

 

Изменено пользователем Alkseur
Добавлено BFG,

Батник то продемонстрируй.

То, что только можно выдумать, скорее всего уже где-то существует.

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

Прошу извинить - вот батник, конфиг в одноимённой папке.

 

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

 

П.С. Дело не в батнике - никто не подскажет как собственно прописать "clsid" - такой штуке как "inventory_sakbox_01"? С такой же проблемой люди уже обращались - но ответа так никто не дал, а услышать его очень хотелось бы.

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

То, что только можно выдумать, скорее всего уже где-то существует.

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

Делал по инструкции

 

4731bdcbce5ce79a9f2eb3ef9fbe6010.png

Добавлено BFG,

В батнике поправь команду.

Вместо буквы "о", напиши полностью "out".

Не соответствует правилам.

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

 

 

Подскажите пожалуйста. Как делать свои alife_**.ltx и way_**.ltx файлы?

Берёте uACDC, распаковываете(декомпилируете) all.spawn той версии игры\мода, на базе которого хотите\пытаетесь сделать что-то свое. В результате получите папку, в которой будут вышеозначенные файлы для всех локаций, включенных в игру\мод. Правите, изменяя\добавляя что-то свое, затем запаковываете(компилируете) all.spawn - и радуетесь жизни...

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

Уважаемые, не подскажете что не так при распаковке? Читал в этой теме похожее было со стволом в ОП2, но не уверен на какой класс нужно поменять БМ16 в этом случае...

 


all.spawn -out unpack -scan config/ -nofatal
log inited: console
Universal ACDC v.1.38
checking version of all.spawn...
This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)

opening all.spawn...
reading header...
reading alife objects...
handling error with wpn_bm16, template C/C

FATAL ERROR!
Function: stkutils::data_packet::error_handler
Line: 1548
Description: unhandled exception

 

 

P.S. all.spawn из Вариант Омега 4, финальный патч

Изменено пользователем kramer
Ссылка на комментарий

@kramer

В файле gamedata\scripts\class_registrator.script посмотри что прописано для БМ-16. В оригинале выглядит так:

cs_register(object_factory, "CWeaponBM16", "se_item.se_weapon_shotgun", "WP_BM16", "wpn_bm16_s")

Отпишись...

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

@UnLoaded,

 

Именно так все и прописано. Проверил запятые, пробелы - вроде сходится...
Я тут попытался другими версиями декомпилировать.

1.322 выдал вот такой лог, длиннее, но все про то же:

 

 

universal_acdc.pl -d all.spawn -out all -scan config/ -nofatal
log inited: console
Universal ACDC v.1.322
scanning configs...
problems occured while scanning configs. Try again...
done!
checking version of all.spawn...
This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)

opening all.spawn...
reading header...
reading alife objects...
handling error with wpn_bm16, template C/C
Uncaught exception from user code:

FATAL ERROR!
Function: stkutils::data_packet::error_handler
Line: 1548
Description: unhandled exception

at stkutils/debug.pm line 58
stkutils::debug::fail('unhandled exception\x{a}') called at stkutils/dat
a_packet.pm line 1548
stkutils::data_packet::error_handler('stkutils::data_packet=HASH(0x454a6
14)', 'cse_alife_item_weapon_shotgun=HASH(0x4548ad4)', 'C/C') called at stkutils
/data_packet.pm line 204
stkutils::data_packet::_unpack_vector('stkutils::data_packet=HASH(0x454a
614)', 'cse_alife_item_weapon_shotgun=HASH(0x4548ad4)', 'HASH(0x37d7d7c)') calle
d at stkutils/data_packet.pm line 177
stkutils::data_packet::unpack_properties('stkutils::data_packet=HASH(0x4
54a614)', 'cse_alife_item_weapon_shotgun=HASH(0x4548ad4)', 'HASH(0x37d7d7c)') ca
lled at stkutils/file/entity.pm line 5348
cse_alife_item_weapon_shotgun::update_read('cse_alife_item_weapon_shotgu
n=HASH(0x4548ad4)', 'stkutils::data_packet=HASH(0x454a614)') called at stkutils/
file/entity.pm line 127
stkutils::file::entity::read_m_update('stkutils::file::entity=HASH(0x454
8ac4)', 'stkutils::data_packet=HASH(0x454a614)') called at stkutils/file/entity.
pm line 84
stkutils::file::entity::read_new('stkutils::file::entity=HASH(0x4548ac4)
', 'stkutils::chunked=HASH(0x3da009c)') called at stkutils/file/entity.pm line 5
7

 

Не знаю поможет ли такая инфа?

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

По поводу распаковки  allspawn для Вариант Омега 4. Решился я таки и в section.ini обозвал БМ16 - cse_alife_item_weapon_magazined. Сработало. Правда еще warning'ов повылазило. Если кому не в тягость напомните пожалуйста, что это за 3 проблемки под спойлером и помешают ли они мне запаковать спавн назад. За два дня всю тему прочитал, помню видел такое, но где не помню, придется опять все просматривать...

 

all.spawn -out unpack -scan config/ -nofatal
log inited: console
Universal ACDC v.1.38
checking version of all.spawn...
This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)

opening all.spawn...
reading header...
reading alife objects...

WARNING!
Function: main::__ANON__
Line: 1380
Description:
WARNING!
Function: stkutils::file::entity::error
Line: 249
Description: stkutils::file::entity::read_m_update 129 $packet->resid() == 0 upd
ate data left [1] in entity aver_wpn_g36


WARNING!
Function: main::__ANON__
Line: 1380
Description:
WARNING!
Function: stkutils::file::entity::error
Line: 249
Description: stkutils::file::entity::read_m_update 129 $packet->resid() == 0 upd
ate data left [1] in entity mil_wpn_ak74u


WARNING!
Function: main::__ANON__
Line: 1380
Description:
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 122
Description: state data left [1] in entity bun_doc_5

 

 

 

 

P.S. Нашел пост КД87 от 2011 года, вроде бы эти вещи не должны влиять на запаковку...

Изменено пользователем kramer
Ссылка на комментарий

 

 

и помешают ли они мне запаковать спавн назад

Ну так проверь! Чего проще - запакуй и смотри, будет ли какая ругань при запаковке или нет. Если нет, то практически 100%, что все в норме.

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

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

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

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

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

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

Войти

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

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

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

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