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

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


KD87

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

18 минут назад, Pavel_Blend сказал:

для меня загадка, как gsc смогли добавить эти граф поинты. Самих локаций нет, а граф поитны есть. Я надеюсь игра их не использует.

У ГСЦ локации были. Гейм.граф собирали с учетом этих локаций, спавн без них. Может даже эти локации можно найти в каком-нибудь сливе.

 

20 минут назад, Pavel_Blend сказал:

Вообще я пытаюсь взять оригинальный all.spawn и начать с ним работать через СДК.

Это не так уж и просто. Не уверен, что это вообще кому-нибудь удавалось :)

Как ты его преобразовывал в формат СДК?

Правильный тулчейн какой-то такой:

 - разбить асдс all.spawn на level.spawn

 - конвертером декомпилить все локации(level.spawn преобразуется в spawn.part)

 - открыть каждую локацию в СДК, сделать make game, ...

- пройтись по все локациям храи

- собрать храи гейм.граф, алл.спавн.

 

И при этом возможно потеряется один граф-поинт под ЧАЭС :)

Ссылка на комментарий
21 минуту назад, abramcumner сказал:

Правильный тулчейн какой-то такой

да, я именно так и делал. Использовал компиляторы skyloader'а.

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

Если уже разбираешь гейм.граф, то сам посмотри, есть связь между кордоном и свалкой.

Хочешь выложи, вроде были утилиты для просмотра связей между локациями.

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

@abramcumner я всю папку gamedata скинул: https://disk.yandex.ru/d/zWj-qcufXL1lwQ

Это для ТЧ 1.0006. Можешь зайти на свалку или бар и в консоли будет красный текст.

 

А какие программы есть для просмотра связей? ggtool? У меня он не работает, видимо Perl не той версии.

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

Такое ощущение, что у тебя кучи аи-связей не хватает:

0(l01_escape) <=> 415(l02_garbage)
1(l01_escape) <=> 252(l02_garbage)
254(l02_garbage) <=> 701(l03_agroprom)
255(l02_garbage) <=> 1168(l05_bar)
256(l02_garbage) <=> 816(l04_darkvalley)                   256(l02_garbage)  => 816(l04_darkvalley)
414(l02_garbage) <=> 1307(l05_bar)
654(l03_agroprom) <=> 718(l03u_agr_underground)            654(l03_agroprom)  => 718(l03u_agr_underground)
811(l04_darkvalley) <=> 1167(l04u_labx18)                  811(l04_darkvalley) <=  1167(l04u_labx18)
1246(l05_bar) <=> 1545(l07_military)
1248(l05_bar) <=> 1308(l06_rostok)
1409(l06_rostok) <=> 1460(l08_yantar)                      1409(l06_rostok)  => 1777(l08_yantar)
1461(l08_yantar) <=> 1540(l08u_brainlab)                   1778(l08_yantar) <=> 1857(l08u_brainlab)
1528(l08_yantar) <=> 2116(l10_radar)                       1845(l08_yantar) <=> 2116(l10_radar)
1547(l07_military) <=> 1867(l10_radar)                     1440(l07_military)  => 1867(l10_radar)
1865(l10_radar) <=> 2271(l11_pripyat)                      1865(l10_radar) <=  2402(l11_pripyat)
1977(l10_radar) <=> 2791(l10u_bunker)                      1977(l10_radar) <=> 2247(l10u_bunker)
2272(l11_pripyat) <=> 2400(l12_stancia)
2385(l12_stancia) <=  2466(l12u_sarcofag)
2465(l12u_sarcofag) <=> 2468(l12u_control_monolith)        2595(l12u_sarcofag)  => 2598(l12u_control_monolith)
2470(l12u_control_monolith) <=> 2660(l12_stancia_2)        2600(l12u_control_monolith) <=  2790(l12_stancia_2)
2814(ai_test)  => 2873(ai_test2)
2829(ai_test) <=  2858(ai_test2)
3394(l03_agroprom_hw) <=> 3417(l03u_agr_underground_hw)

Слева из ТЧ, справа связи из твоего геймграфа. Многих не хватает. И похоже некоторые односторонние.

 

Утилит как-то не нашел. Добавил в конвертер. Запускать: converter -links game.graph.

https://disk.yandex.ru/d/7wQHW3t7dQ3l5w

Изменено пользователем abramcumner
  • Нравится 1
  • Полезно 2
Ссылка на комментарий

@abramcumner что я мог не так сделать? Конфиги вроде бы правильно настроены. Как связи могли пропасть? Или это может баг компиляторов от skyloader'а?

Кстати, в файле game_graphs.ltx в этой секции:

[location_0]
  000          = "..."
  001          = "эскейп"
  002          = "свалка"
  003          = "агропром"
  004          = "агропром-подземка"
  005          = "темная долина"
  006          = "лаборатория X-18"
  007          = "даркскейп"
  008          = "Бар"
  009          = "Росток"
  010		   = "Янтарь"
  011		   = "лаборатория X-16"
  012		   = "Милитари"
  013		   = "Мертвый город"
  014		   = "Радар"
  015		   = "Радар бункер"
  016		   = "Припять"
  017		   = "станция АЭС"

Числовые id слева должны совпадать с id локации из game_levels.ltx?

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

Возможно в СДК неправильныедругие конфиги. По крайней мере в твоем гейм.графе у всех локаций одно и тоже смещение. А в конфигах из архива разные.

Проверь в СДК на кордоне у двух верхних графпоинтов заполнено поле connection?

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

@abramcumner да, поле connection заполнено. Я нашёл один граф поинт с заполненным полем. Второй не вверху, а в туннеле возле атп.

Скрытый текст

NNZQTdc.jpeg

 

8 минут назад, abramcumner сказал:

у всех локаций одно и тоже смещение

это смещение задаётся в конфиге game_levels.ltx? в параметре offset?

[level_01]
    name        = l01_escape
    caption     = "l01_escape"
    offset      = 3000.0, 1000.0, 0.0
    id          = 01

 

Ссылка на комментарий
2 часа назад, Pavel_Blend сказал:

Числовые id слева должны совпадать с id локации из game_levels.ltx?

Числа должны соответствовать числам в параметрах terrain в конфигах.

Для ТЧ для удобства можно и чтобы совпадало с id локации.

 

2 часа назад, Pavel_Blend сказал:

@abramcumner да, поле connection заполнено. Я нашёл один граф поинт с заполненным полем. Второй не вверху, а в туннеле возле атп.

Вроде все норм. Тогда смотреть логи храи. Он туда должен выводить, если не сумел по connection`у сделать аи-связь.

 

2 часа назад, Pavel_Blend сказал:

это смещение задаётся в конфиге game_levels.ltx? в параметре offset?

Да, оно. В твоем гейм.графе оно почему-то для всех локаций 10000, 1000, 10000. Ни на что не влияет, просто странно.

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

Сделал заново компиляцию. На стадии New phase started: Adding interconnection points в лог пишется:

Скрытый текст
Cannot find level for connection point exit_garbage_01, which will not be generated!
Cannot find level for connection point gar_sim_exit, which will not be generated!
Cannot find level for connection point cheat_graph_to_garbage, which will not be generated!
Cannot find level for connection point exit_escape_01, which will not be generated!
Cannot find level for connection point exit_agroprom_02, which will not be generated!
Cannot find level for connection point exit_bar_01, which will not be generated!
Level l02_garbage with id 2 has VALID connection point exit_garbage_05,
which references to graph point exit_darkvalley_01 on the level l04_darkvalley with id 5

Cannot find level for connection point exit_escape_02, which will not be generated!
Cannot find level for connection point exit_garbage_03, which will not be generated!
Level l03_agroprom with id 3 has VALID connection point exit_agroprom_04,
which references to graph point exit_agr_underground_01 on the level l03u_agr_underground with id 4

Cannot find level for connection point exit_agroprom_04, which will not be generated!
Cannot find level for connection point exit_garbage_05, which will not be generated!
Cannot find level for connection point exit_labx18_01, which will not be generated!
Level l04u_labx18 with id 6 has VALID connection point exit_labx18_01,
which references to graph point exit_darkvalley_04 on the level l04_darkvalley with id 5

Cannot find level for connection point cheat_graph_to_bar, which will not be generated!
Cannot find level for connection point exit_garbage_04, which will not be generated!
Cannot find level for connection point exit_military_01, which will not be generated!
Cannot find level for connection point exit_rostok_01, which will not be generated!
Cannot find level for connection point exit_bar_03, which will not be generated!
Level l06_rostok with id 8 has VALID connection point exit_rostok_02,
which references to graph point exit_yantar_01 on the level l08_yantar with id 9

Level l08_yantar with id 9 has VALID connection point exit_radar_01,
which references to graph point exit_yantar_01 on the level l10_radar with id 12

Cannot find level for connection point exit_rostok_02, which will not be generated!
Level l08_yantar with id 9 has VALID connection point exit_yantar_02,
which references to graph point exit_brainlab_01 on the level l08u_brainlab with id 10

Level l08u_brainlab with id 10 has VALID connection point exit_brainlab_01,
which references to graph point exit_yantar_02 on the level l08_yantar with id 9

Cannot find level for connection point exit_bar_02, which will not be generated!
Level l07_military with id 11 has VALID connection point exit_military_02,
which references to graph point exit_radar_01 on the level l10_radar with id 12

Cannot find level for connection point exit_military_02, which will not be generated!
Cannot find level for connection point exit_pripyat_01, which will not be generated!
Level l10_radar with id 12 has VALID connection point exit_radar_03,
which references to graph point exit_bunker_01 on the level l10u_bunker with id 13

Level l10_radar with id 12 has VALID connection point exit_yantar_01,
which references to graph point exit_radar_01 on the level l08_yantar with id 9

Level l10u_bunker with id 13 has VALID connection point exit_bunker_01,
which references to graph point exit_radar_03 on the level l10_radar with id 12

Level l11_pripyat with id 14 has VALID connection point exit_pripyat_01,
which references to graph point exit_radar_02 on the level l10_radar with id 12

Cannot find level for connection point exit_stancia_01, which will not be generated!
Cannot find level for connection point exit_pripyat_02, which will not be generated!
Cannot find level for connection point exit_stancia_02, which will not be generated!
Level l12u_sarcofag with id 16 has VALID connection point exit_sarcofag_02,
which references to graph point exit_control_monolith_01 on the level l12u_control_monolith with id 17

Cannot find level for connection point exit_sarcofag_02, which will not be generated!
Cannot find level for connection point exit_stancia2_01, which will not be generated!
Level l12_stancia_2 with id 18 has VALID connection point exit_stancia2_01,
which references to graph point exit_control_monolith_02 on the level l12u_control_monolith with id 17

 

Почему он не может найти локации для connection point? В СДК локации прописаны.

Может ли эта ошибка зависеть от регистра символов у имени локации?

Скрытый текст

k20PXQS.jpeg

 

Изменено пользователем Pavel_Blend
Ссылка на комментарий
11 минут назад, Pavel_Blend сказал:

Может ли эта ошибка зависеть от регистра символов у имени локации?

Похоже, что имеет. У тебя создается связь свалка(exit_garbage_05)-ТД(exit_darkvalley_01). Посмотри, какой там регистр локации.

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

@abramcumner да, проверил, это оно. Указал имя локации из выпадающего списка (имя в нижнем регистре) и после компиляции стало больше точек связей.

Скомпилировал все локации и собрал спавн. Вот лог конвертера:

0(l01_escape) => 415(l02_garbage)
1(l01_escape) => 252(l02_garbage)
254(l02_garbage) => 701(l03_agroprom)
255(l02_garbage) => 1167(l05_bar)
256(l02_garbage) => 815(l04_darkvalley)
414(l02_garbage) => 1306(l05_bar)
654(l03_agroprom) => 718(l03u_agr_underground)
811(l04_darkvalley) => 1166(l04u_labx18)
1245(l05_bar) => 1543(l07_military)
1247(l05_bar) => 1307(l06_rostok)
1408(l06_rostok) => 1459(l08_yantar)
1460(l08_yantar) => 1538(l08u_brainlab)
1526(l08_yantar) => 2114(l10_radar)
1545(l07_military) => 1865(l10_radar)
1863(l10_radar) => 2400(l11_pripyat)
1975(l10_radar) => 2245(l10u_bunker)
2401(l11_pripyat) => 2528(l12_stancia)
2593(l12u_sarcofag) => 2596(l12u_control_monolith)
2594(l12u_sarcofag) => 2513(l12_stancia)
2598(l12u_control_monolith) => 2788(l12_stancia_2)

Это правильный лог или нужно чтобы стрелочки двойные < = > были? Я взял граф из 1.0006 и в нём то же одинарные.

Изменено пользователем Pavel_Blend
  • Нравится 1
Ссылка на комментарий

save unpacker0.4. Ошибка 

Can't locate stkutils/chunked.pm in @INC (you may need to install the stkutils::chunked module) .

Хотя ACDC работает.

 

И ещё: Хоть и пишет, что всё ок, сейв не распаковывается.

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

Осенний каламбур. Сентябрь - лето.

img.php?nick=Balavnik&sert=2&text=t6

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

Никак не смог распаковать спавн старого билда 3813 Зов Припяти  https://disk.yandex.ru/d/CUkgAsWExHo1qA

В логе пишет
Universal ACDC v.1.42
checking version of all.spawn...
    This is a spawn of S.T.A.L.K.E.R. unknown,  spawn ver. 127
и за тык на строке

Скрытый текст

 

WARNING!
Function: main::__ANON__
Line: 1394
Description: 
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 128
Description: state data left [20] in entity zat_b12_container(inventory_box) => cse_alife_inventory_box

handling error with , template C

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

 

 

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

Ребят, есть у кого рабочий ACDC для распаковки all.spawn от LADCE 1.4008? Пробовал распаковывать разными версиями с таким батником

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

и всегда вылетает такая ошибка

Universal ACDC v.1.38
checking version of all.spawn...
        This is a spawn of S.T.A.L.K.E.R. unknown,  spawn ver. 121
scanning configs...done!
opening all.spawn...
reading header...
reading alife objects...
handling error with breakable_object, template l

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

В sections.ini пробовал прописывать 'breakable_object' = O_BRKBL и в clsids.ini прописывал O_BRKBL = cse_alife_object_breakable и всё равно спотыкаюсь об эту ошибку. Помогите пожалуйста разобраться

Версия Perl 5.24, так же пробовал 5.20 и более ранние

Ссылка на комментарий
17 часов назад, NuclearOZ сказал:

Ребят, есть у кого рабочий ACDC для распаковки all.spawn от LADCE 1.4008

Попробуй версию от abramcumner Universal ACDC v.1.42 она может распаковать LADCE 1.4008

  • Спасибо 1
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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

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