Перейти к содержимому
Zone of Games Forum
moodshimon

Помощь в распаковке игр на Unreal

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

Привет всем! Я занимаюсь моддингом игр, а именно озвучкой. Но у меня возникли проблемы с технической стороной - распаковкой и упаковкой файлов. Если у кого-то есть желание помочь мне с этим или хотя бы подсказать, я буду очень благодарен!

Проекты которые интересуют
Nightingale
Pacific Drive тест трейлер - YouTube

 

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


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

@xoixa еще не проверял, т.к. в прошлую проверку оказалось, что я нашел не все шрифты. А сервера игры запущены только по выходным, так что завтра проверю. Накину какой-нибудь декоративный на латинице, чтобы не перепутать, если сменится. Спасибо.

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


Ссылка на сообщение
В 14.11.2024 в 22:03, xoixa сказал:

Импорт только в ANSI(1 байт на символ). UCS-2 не осилил:(

Со шрифтами разобрался, кириллица появилась в игре, это прекрасно.

Но вот с ucas файлами никак не могу разобраться. Ваши скрипты работают, текстовые файлы распаковал, запаковал в uasset обратно. Но при паковке в ucas игра их не видит. И Fmodel тоже показывает их красным и не открывает. Уточню, версия движка 5.3.2. Пробовал паковать через ReZen и через UnZen. Ставил компрессию и None и Zlib. Результат один и тот же — создаются три файла: pak, ucas, utoc. Из них Ucas по весу подходит под то, что в него запаковывают. Но ни игра, ни fmodel их не распознаёт. Не могу понять в чем дело. Думаю, что может быть надо указать mount point отличную от дефолтной.

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

G:\Games\AoC_translate\UnrealReZen_V01>UnrealReZen.exe —content-path G:\Games\AoC_translate\UnrealReZen_V01\AOC_ucas —compression-format None —engine-version GAME_UE5_3 —game-dir G:\Games\AoC\PROD\AOC\Content\Paks —output-path G:\Games\AoC\PROD\AOC\Content\Paks\pakchunk9900-WindowsClient-rus-localiz.utoc
Game Directory: G:\Games\AoC\PROD\AOC\Content\Paks
Content Path: G:\Games\AoC_translate\UnrealReZen_V01\AOC_ucas
Unreal Engine Version: GAME_UE5_3
Output Path: G:\Games\AoC\PROD\AOC\Content\Paks\pakchunk9900-WindowsClient-rus-localiz.utoc
[23:14:43 INF] Loading Game Archives...
[23:14:43 WRN] "pakchunk200_s3-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk100-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk1106-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk1000-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk303-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk1304-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] IoStore "pakchunk400_s2-WindowsClient.utoc": 559 files, version 5 in 00:00:00.0064537
[23:14:43 INF] Pak "pakchunk200_s3-WindowsClient.pak": 0 files, version 11 in 00:00:00.0068864
[23:14:43 INF] IoStore "pakchunk0optional-WindowsClient.utoc": 1 files, mount point: "Engine/Content/EngineSky/VolumetricClouds/", version 5 in 00:00:00.0054805
[23:14:43 INF] Pak "pakchunk100-WindowsClient.pak": 0 files, version 11 in 00:00:00.0083322
[23:14:43 INF] IoStore "pakchunk303_s1-WindowsClient.utoc": 1340 files, mount point: "AOC/Content/", version 5 in 00:00:00.0062677
[23:14:43 INF] IoStore "pakchunk100-WindowsClient.utoc": 1495 files, mount point: "AOC/Content/", version 5 in 00:00:00.0071252
[23:14:43 INF] IoStore "pakchunk1303-WindowsClient.utoc": 930 files, mount point: "AOC/Content/ENV/", version 5 in 00:00:00.0068467
[23:14:43 INF] IoStore "pakchunk1000-WindowsClient.utoc": 464 files, mount point: "AOC/Content/", version 5 in 00:00:00.0068214
[23:14:43 INF] Pak "pakchunk1106-WindowsClient.pak": 0 files, version 11 in 00:00:00.0085324
[23:14:43 INF] Pak "pakchunk1000-WindowsClient.pak": 0 files, version 11 in 00:00:00.0096182
[23:14:43 INF] Pak "pakchunk303-WindowsClient.pak": 0 files, version 11 in 00:00:00.0102298
[23:14:43 INF] Pak "pakchunk1304-WindowsClient.pak": 0 files, version 11 in 00:00:00.0100693
[23:14:43 WRN] "pakchunk1300-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] IoStore "pakchunk200_s5-WindowsClient.utoc": 2162 files, mount point: "AOC/Content/Levels/Verra_World_Master/Verra_World_Master/_Generated_/", version 5 in 00:00:00.0016822
[23:14:43 WRN] "pakchunk1303-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] Pak "pakchunk1303-WindowsClient.pak": 0 files, version 11 in 00:00:00.0202034
[23:14:43 INF] IoStore "pakchunk301-WindowsClient.utoc": 3993 files, mount point: "AOC/Content/", version 5 in 00:00:00.0055948
[23:14:43 WRN] "pakchunk1109-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk1302-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] IoStore "pakchunk300-WindowsClient.utoc": 6015 files, version 5 in 00:00:00.0198857
[23:14:43 WRN] "pakchunk200-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk1-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] Pak "pakchunk1300-WindowsClient.pak": 0 files, version 11 in 00:00:00.0325227
[23:14:43 INF] IoStore "pakchunk1104-WindowsClient.utoc": 16 files, mount point: "AOC/Content/", version 5 in 00:00:00.0001664
[23:14:43 INF] IoStore "pakchunk1109-WindowsClient.utoc": 4 files, mount point: "AOC/Content/ENV/Biomes/Water/LandscapeTextures/", version 5 in 00:00:00.0001780
[23:14:43 INF] Pak "pakchunk1109-WindowsClient.pak": 0 files, version 11 in 00:00:00.0071805
[23:14:43 INF] Pak "pakchunk1302-WindowsClient.pak": 0 files, version 11 in 00:00:00.0077278
[23:14:43 INF] Pak "pakchunk200-WindowsClient.pak": 0 files, version 11 in 00:00:00.0076206
[23:14:43 INF] Pak "pakchunk1-WindowsClient.pak": 0 files, version 11 in 00:00:00.0065121
[23:14:43 WRN] "pakchunk400_s2-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] IoStore "pakchunk1301-WindowsClient.utoc": 867 files, mount point: "AOC/Content/", version 5 in 00:00:00.0299748
[23:14:43 INF] IoStore "pakchunk1302-WindowsClient.utoc": 241 files, mount point: "AOC/Content/", version 5 in 00:00:00.0002856
[23:14:43 WRN] "pakchunk300-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] IoStore "pakchunk302_s1-WindowsClient.utoc": 4267 files, version 5 in 00:00:00.0094823
[23:14:43 INF] IoStore "pakchunk304-WindowsClient.utoc": 3045 files, mount point: "AOC/Content/", version 5 in 00:00:00.0179052
[23:14:43 WRN] "pakchunk304-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] Pak "pakchunk2-WindowsClient.pak": 15 files, mount point: "AOC/Content/", version 11 in 00:00:00.0005596
[23:14:43 WRN] "pakchunk200_s2-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk200_s1-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] IoStore "pakchunk1303_s1-WindowsClient.utoc": 245 files, version 5 in 00:00:00.0003826
[23:14:43 INF] Pak "pakchunk400_s2-WindowsClient.pak": 0 files, version 11 in 00:00:00.0112951
[23:14:43 WRN] "pakchunk200_s5-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk1301-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] Pak "pakchunk300-WindowsClient.pak": 0 files, version 11 in 00:00:00.0116922
[23:14:43 INF] IoStore "pakchunk303-WindowsClient.utoc": 7181 files, mount point: "AOC/Content/", version 5 in 00:00:00.0111429
[23:14:43 INF] Pak "pakchunk304-WindowsClient.pak": 0 files, version 11 in 00:00:00.0129621
[23:14:43 WRN] "pakchunk1102-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] Pak "pakchunk200_s2-WindowsClient.pak": 0 files, version 11 in 00:00:00.0126219
[23:14:43 INF] IoStore "pakchunk1102-WindowsClient.utoc": 3 files, mount point: "AOC/Content/", version 5 in 00:00:00.0001633
[23:14:43 WRN] "pakchunk305-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] Pak "pakchunk200_s1-WindowsClient.pak": 0 files, version 11 in 00:00:00.0126291
[23:14:43 WRN] "pakchunk400_s1-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk303_s1-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] Pak "pakchunk200_s5-WindowsClient.pak": 0 files, version 11 in 00:00:00.0075176
[23:14:43 INF] Pak "pakchunk1301-WindowsClient.pak": 0 files, version 11 in 00:00:00.0063805
[23:14:43 WRN] "pakchunk1104-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk1303_s1-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] Pak "pakchunk1102-WindowsClient.pak": 0 files, version 11 in 00:00:00.0139974
[23:14:43 INF] IoStore "pakchunk1300-WindowsClient.utoc": 259 files, mount point: "AOC/Content/", version 5 in 00:00:00.0003068
[23:14:43 INF] IoStore "pakchunk9000_s2-WindowsClient.utoc": 10 files, mount point: "AOC/Content/", version 5 in 00:00:00.0001207
[23:14:43 INF] Pak "pakchunk305-WindowsClient.pak": 0 files, version 11 in 00:00:00.0147448
[23:14:43 INF] Pak "pakchunk400_s1-WindowsClient.pak": 0 files, version 11 in 00:00:00.0150532
[23:14:43 INF] Pak "pakchunk303_s1-WindowsClient.pak": 0 files, version 11 in 00:00:00.0151415
[23:14:43 WRN] "pakchunk200_s4-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] Pak "pakchunk1104-WindowsClient.pak": 0 files, version 11 in 00:00:00.0295187
[23:14:43 INF] Pak "pakchunk1303_s1-WindowsClient.pak": 0 files, version 11 in 00:00:00.0209170
[23:14:43 INF] IoStore "pakchunk200-WindowsClient.utoc": 9332 files, mount point: "AOC/Content/", version 5 in 00:00:00.0265273
[23:14:43 WRN] "pakchunk0optional-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] IoStore "pakchunk305-WindowsClient.utoc": 3844 files, mount point: "AOC/Content/", version 5 in 00:00:00.0083848
[23:14:43 INF] IoStore "pakchunk1200-WindowsClient.utoc": 352 files, version 5 in 00:00:00.0007194
[23:14:43 INF] Pak "pakchunk302_s1-WindowsClient.pak": 9 files, mount point: "AOC/Content/UI/Fonts/", version 11 in 00:00:00.0000393
[23:14:43 INF] Pak "pakchunk200_s4-WindowsClient.pak": 0 files, version 11 in 00:00:00.0337762
[23:14:43 INF] IoStore "pakchunk1-WindowsClient.utoc": 16 files, mount point: "AOC/Content/", version 5 in 00:00:00.0001927
[23:14:43 INF] Pak "pakchunk0optional-WindowsClient.pak": 0 files, version 11 in 00:00:00.0200269
[23:14:43 INF] IoStore "pakchunk2-WindowsClient.utoc": 1862 files, version 5 in 00:00:00.0123703
[23:14:43 INF] IoStore "pakchunk200_s6-WindowsClient.utoc": 506 files, version 5 in 00:00:00.0007475
[23:14:43 WRN] "pakchunk200_s6-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk302-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 WRN] "pakchunk301-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] IoStore "pakchunk1106-WindowsClient.utoc": 151 files, mount point: "AOC/Content/", version 5 in 00:00:00.0003040
[23:14:43 INF] Pak "pakchunk200_s6-WindowsClient.pak": 0 files, version 11 in 00:00:00.0023767
[23:14:43 INF] Pak "pakchunk302-WindowsClient.pak": 0 files, version 11 in 00:00:00.0025398
[23:14:43 INF] Pak "pakchunk301-WindowsClient.pak": 0 files, version 11 in 00:00:00.0017611
[23:14:43 INF] IoStore "pakchunk0-WindowsClient.utoc": 10669 files, version 5 in 00:00:00.0585721
[23:14:43 INF] IoStore "pakchunk200_s4-WindowsClient.utoc": 2461 files, mount point: "AOC/Content/Levels/Verra_World_Master/Verra_World_Master/_Generated_/", version 5 in 00:00:00.0300580
[23:14:43 INF] IoStore "pakchunk200_s2-WindowsClient.utoc": 6290 files, mount point: "AOC/Content/ENV/Races/", version 5 in 00:00:00.0420653
[23:14:43 INF] IoStore "pakchunk1304-WindowsClient.utoc": 323 files, mount point: "AOC/Content/", version 5 in 00:00:00.0153822
[23:14:43 WRN] "pakchunk9000_s2-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] IoStore "pakchunk200_s1-WindowsClient.utoc": 4461 files, mount point: "AOC/Content/ENV/", version 5 in 00:00:00.0302140
[23:14:43 INF] IoStore "pakchunk400-WindowsClient.utoc": 6745 files, mount point: "AOC/Content/", version 5 in 00:00:00.0588834
[23:14:43 INF] IoStore "pakchunk200_s3-WindowsClient.utoc": 2948 files, mount point: "AOC/Content/", version 5 in 00:00:00.0163007
[23:14:43 WRN] "pakchunk1200-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] IoStore "pakchunk400_s1-WindowsClient.utoc": 10459 files, mount point: "AOC/Content/", version 5 in 00:00:00.0590226
[23:14:43 WRN] "pakchunk400-WindowsClient.pak" has strange mount point "/", mounting to root
[23:14:43 INF] Pak "pakchunk9000_s2-WindowsClient.pak": 0 files, version 11 in 00:00:00.0416654
[23:14:43 INF] IoStore "pakchunk302-WindowsClient.utoc": 10014 files, mount point: "AOC/Content/", version 5 in 00:00:00.0762578
[23:14:43 INF] Pak "pakchunk1200-WindowsClient.pak": 0 files, version 11 in 00:00:00.0219118
[23:14:43 INF] Pak "pakchunk400-WindowsClient.pak": 0 files, version 11 in 00:00:00.0096782
[23:14:43 INF] Pak "pakchunk0-WindowsClient.pak": 155566 files, version 11 in 00:00:00.2650768
[23:14:43 INF] Packing Contents...
[23:14:43 INF] Mounting UIStringTable.uasset
[23:14:43 INF] Packing files...
Done! 1 file(s) packed

UPD.

Покопался еще, поломал голову. Кажется понял, что для правильной запаковки в 5+ версиях движка нужна более хитрая система, использующая заранее экспортированные PackageStore.Manifest и ScriptObjects. Нашел на форуме модеров GUI версию упаковщика от Narknon’a. По отзывам работает отлично, но вот задача — ей для запаковки нужен uexp файл, который идет в паре с uasset. И достаётся он, судя по всему, только через ZenTools. Но те версии zentools что я нашел, работают только с UE 5.1/5.2.

И вопрос в том, есть ли способы достать этот uexp и так ли он необходим для создания ucas/utoc патча в версии 5.3.2

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

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


Ссылка на сообщение
В 14.11.2024 в 22:03, xoixa сказал:

Написал такое:

 

И еще вопрос. Не знаю насколько это критично, но заметил вот что. Если экспортировать из uasset текст через ваш скрипт через qbms, а потом не трогая его, импортировать обратно в uasset, то его размер становится меньше, чем у оригинального (44 кб против 46 кб у оригинала), и если его переименовать в оригинал, то он не экспортируется снова, выдавая такую ошибку:

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

G:\Games\AoC_translate\qbms>quickbms textexport.bms UIStringTable.uasset

QuickBMS generic files extractor and reimporter 0.12.0
by Luigi Auriemma
e-mail: me@aluigi.org
web:    aluigi.org
        (Aug 24 2022 - 10:55:28)

                          quickbms.com  Homepage
                            zenhax.com  ZenHAX Forum
                     @zenhax @quickbms  Twitter & Scripts

- open input file G:\Games\AoC_translate\qbms\UIStringTable.uasset
- open script textexport.bms
- set output folder .

  offset   filesize   filename
--------------------------------------

Error: incomplete input file 0: G:\Games\AoC_translate\qbms\UIStringTable.uasset
       Can't read 1698913393 bytes from offset 0000aec8.
       Anyway don't worry, it's possible that the BMS script has been written
       to exit in this way if it's reached the end of the archive so check it
       or contact its author or verify that all the files have been extracted.
       Please check the following coverage information to know if it's ok.

  coverage file 0    99%   44476      44744      . offset 0000aec8

Last script line before the error or that produced the error:
  33  getDString Str Len2
  coverage file 0    99%   44476      44744      . offset 0000aec8
  coverage file -1    0%   0          12         . offset 0000000c

G:\Games\AoC_translate\qbms>

Вот оригинальный uasset: https://drive.google.com/file/d/1_kq-e3Yw3tGyBHUEiHyaOcaLM3sODgG9/view?usp=sharing

Вот прогнанный через экспорт и импорт (без изменения txt): https://drive.google.com/file/d/1SNHVGn-5PpSDjghqapAFsJMTVQD6PgGs/view?usp=sharing

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


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

@xoixa прошу прощения за постоянно меняющиеся вводные))

Ситуация следующая. Оказывается, распаковка IOStore паков (ucas, utoc) через fmodel создаёт uasset одного типа (более современные, как я понял). К ним не создаётся пара uexp файла. Но для них не работают способы упаковки обратно в ucas. Во всяком случае, всё что я пробовал три дня — не работало.

Но. Есть ZenTools. Версия на гитхабе умеет распаковывать IOStore до версии UE5.2. Но в дискорде модеров я нашел новую версию, которая всё-таки взяла мой 5.3.2 пак, и распаковала его. В распаковке каждому uasset соответствует парный uexp файл. Причем в этом варианте uasset значительно меньше размером, а вся информация находится в uexp. И оно работает и запаковывается обратно в ucas и видится игрой. Я это проверил, отредактировав пару строк в uexp просто через HxD, запаковал через IOStorePak, и изменения текста отобразились в игре.

Соответственно, задачка теперь стоит в редактировании текстовых uexp, и, видимо, парных им uasset. Благо запаковка обратно в IOStore проверена и работает.

Вот обновленный архив с парами текстовых файлов локализации uasset/uexp с сохранением пути:

https://drive.google.com/file/d/16oSPbDfI3ZMChDoFuBB7waTAsNjf7TSO/view?usp=sharing

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


Ссылка на сообщение
21 час назад, WhiskeyRacoon сказал:

выдавая такую ошибку

Исправил скрипт импорта:

было

	math Len1 + 1
	//print "%ID% %Str%"

стало

	math Len1 + 1
	math Len2 + 1
	//print "%ID% %Str%"

 

17 часов назад, WhiskeyRacoon сказал:

В распаковке каждому uasset соответствует парный uexp файл

 

17 часов назад, WhiskeyRacoon сказал:

задачка теперь стоит в редактировании текстовых uexp

uexp это, по сути, часть ассета как и ubulk

мне лень переписывать скрипт.

 

Можете работать с целым ассетом, а для запаковки, отрезать от большого uasset хвост в uexp файл,

и в маленьком uasset изменить значение с размером uexp, если размер uexp изменился:

размер uexp(-4 в хекс) указан в последней секции маленького uasset(перед размером uasset)

на примере GameplayTagStringTable: по адресу 0х255 0х4825 (размер uexp 0x4829 — 4) размер uasset 0х02b1

17 часов назад, WhiskeyRacoon сказал:

Благо запаковка обратно в IOStore проверена и работает

Напишите, пожалуйста, подробную инструкцию, как это сделать

Запаковка в OIStore для UE 5+ у многих является проблемой

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

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


Ссылка на сообщение
5 часов назад, xoixa сказал:

Можете работать с целым ассетом, а для запаковки, отрезать от большого uasset хвост в uexp файл,

и в маленьком uasset изменить значение с размером uexp, если размер uexp изменился:

размер uexp(-4 в хекс) указан в последней секции маленького uasset(перед размером uasset)

на примере GameplayTagStringTable: по адресу 0х255 0х4825 (размер uexp 0x4829 — 4) размер uasset 0х02b1

Уф. Для меня это конечно не то, чтобы очевидные понятные вещи, но думаю с помощью чатгпт получится разобраться. Спасибо.

5 часов назад, xoixa сказал:

Напишите, пожалуйста, подробную инструкцию, как это сделать

Запаковка в OIStore для UE 5+ у многих является проблемой

Собственно, инструкция:

Взять отсюда zentools, который умеет работать с 5.3 версией: https://drive.google.com/file/d/1N2cmzUCUhEFRUbVwcN9C9c_lMKJ7qob5/view?usp=drive_link

Так же взять IOStorePackagev2 от многоуважаемого Narknon’a : https://drive.google.com/file/d/1RFaS9FAT1ktSGxgA98Ym1Ctzje3E5u8T/view?usp=sharing

Обе этих проги с дискорда UEmodding, от, собственно, их создателей. Можно взять их там, если есть сомнения в источнике.

  1. Скачать нужную версию UnrealEngine через Epic Store Launcher.
  2. С помощью zentools распаковать игру полностью.
  3. Взять из корня распаковки два файла ScriptObjects.bin и PackageStore.Manifest, сохранить их куда-нибудь.
  4. Подготовить измененные пары uasset/uexp с сохранением путей.
  5. Запустить IOStorePackagev2, заполнить все поля
  6. Отредактировать соответствующим образом текстовые файлы IoStoreCommands.txt и PakListIoStore_pakchunk99-Windows.txt из корня папки с IOStorePackagev2
  7. Запустить. В случае ошибок, ну, как всегда, спрашивать тут или в том дисе.
  8. После работы в папке paks игры создадутся два файла ucas и utoc. И в сообщениях в дискорде прочитал, что надо еще создать пустой .pak файл с тем же именем, чтобы получилась стандартная тройка файлов. Но я не до конца понял, пустой .pak это просто нулевой текстовый файл, который переименовали, или что-то в нём должно быть. Поэтому я в соей игре просто вставил “пустой” .pac из примера, который скинули в том дискорде, и всё заработало. Вот он. Ничем не отличается от остальных “пустых” паков в папке, те же 339 байт. Только переименуйте его соответственно названиям ваших ucas/utoc — https://drive.google.com/file/d/1yKlnqbR8DiCFrcOxP4nQjnxaMgYawf5e/view?usp=sharing

DirDJS0.png

Плюс, в качестве полезного источника — огромный список всех-всех тулзов, гайдов, источников касательно моддинга UE — https://github.com/Buckminsterfullerene02/UE-Modding-Tools

Изменено пользователем WhiskeyRacoon
  • Спасибо (+1) 1
  • +1 1

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


Ссылка на сообщение
В 14.11.2024 в 22:03, xoixa сказал:

Импорт только в ANSI(1 байт на символ). UCS-2 не осилил:(

 

Я только сейчас понял, что это означает, что, собственно, кириллицу, скрипт импортировать не будет, так?

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


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

Всем привет. Пытаюсь достать субтитры из stalker 2. Распаковал игру, субтитры похоже лежат в файле Stalker2\Content\_Stalker_2\Localization\LocalizationDB.ubulk вес 121мб.

Кто ни буть знает что это за формат? Чем его извлечь?

HQ7EqXV.png

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

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


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

Всем привет. Пытаюсь достать субтитры из stalker 2. Распаковал игру, субтитры похоже лежат в файле Stalker2\Content\_Stalker_2\Localization\LocalizationDB.ubulk вес 121мб.

Кто ни буть знает что это за формат? Чем его извлечь?

HQ7EqXV.png

Тоже интересно 

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


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

Чем его извлечь?

в начале, видимо число строк (59845). затем 4 байта — длина ID, потом сам ID (0x00 отсечь надо), затем длина строки текста 4 байта. так как отрицательное число FBFFFFFF (-5) — то значит что кодировка UTF16, далее сам текст длиной (-5*-2)=10байт. Два нуля (0х0000) в конце отсечь. получается, “Скiф”. И так далее

Изменено пользователем eaZy
  • Лайк (+1) 1

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


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

@selector В том файле только украинские субтитры, смотрел тоже вчера ) Куда засунули русские пока не нашел.

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

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


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

Куда засунули русские пока не нашел

Удалили, наверняка)

А, там есть русский. Не вникал

Изменено пользователем eaZy
  • Спасибо (+1) 1

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


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

@selector В том файле только украинские субтитры, смотрел тоже вчера ) Куда засунули русские пока не нашел.

в юбульке все субтитры всех языков (включая русский). вытащил еще 13го от туда все.

причем в юбульке 1.7М строк при распаковке...

Изменено пользователем nojqva
  • Спасибо (+1) 1

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


Ссылка на сообщение
1 час назад, eaZy сказал:

в начале, видимо число строк (59845). затем 4 байта — длина ID, потом сам ID (0x00 отсечь надо), затем длина строки текста 4 байта. так как отрицательное число FBFFFFFF (-5) — то значит что кодировка UTF16, далее сам текст длиной (-5*-2)=10байт. Два нуля (0х0000) в конце отсечь. получается, “Скiф”. И так далее

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

34 минуты назад, nojqva сказал:

в юбульке все субтитры всех языков (включая русский). вытащил еще 13го от туда все.

причем в юбульке 1.7М строк при распаковке...

Тогда может подскажешь как скорректировать логику что предложил eaZy?

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

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


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

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

Тогда может подскажешь как скорректировать логику что предложил eaZy?

у нас свой софт для этого.

з.ы. не дадим :) да и программиста давно нет в сети, который написал софт. так что...

iJKjXlK.jpeg

Изменено пользователем nojqva
  • -1 1

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


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

Создайте аккаунт или войдите в него для комментирования

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

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

Зарегистрируйтесь для получения аккаунта. Это просто!

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

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас популярно

  • Продвигаемые темы

  • Последние сообщения

    • Москвичи это ещ в 90 престали делать) 
    • Если выйдет везде ,куплю где дешевле(стим ,вк),если закроют” в регионе” вообще не буду брать.
    • @Tericonio  Чем закончился процесс работы над ошибками? И, есть ли шанс для других частей?
    • ну если недоступно в вашей стране то извиваться чтоб заплатить это все же тупое извращение, хорошие плохие без разницы
    • Негоже “русским оккупантам” в великие польские произведения играть 
    • “Однозначно” означает, что исключений нет, не выкручивайся. Уже указывал на то, что твои числа неверные. Даже кидал сами данные так-то .Откуда ты вообще эти 99 процентов берёшь? Мб хоть немного напряжёшься и соизволишь хотя бы загуглить данные? Ну хоть минимально-то постарайся, уж циферку-то хоть правильную дать-то можешь ж ведь!!! Откуда у тебя такое неуважение к другим, что ты подсовываешь заведомо неверные значения тем, кто уже проверил данные и давал их раньше? По  такой логике и твоё мнение ничтожно в общих масштабах, но ты всё равно упираешься, используя именно личное восприятие, игнорируя факты и числа  статистики в том числе. Эти примеры подтверждают то, что твои категоричные отзывы неверны в  корне. И нет, повторяю, что это далеко не единичные случаи. Могу дать список игр, сюжетная часть которых за время раннего доступа не менялась. То есть они были проходимы в раннем так же, как и позже на релизе. Только толку-то, ты ведь всё равно не читаешь то, что тебе пишут. Тем более, что про это уже говорил ранее. Ты вообще не пытаешься понять, что тебе говорят. Ты как зациклился на своих выдумках, так и отказываешься воспринимать реальность, которую другие видят на практике по факту. В т.ч. и данные воспринимаешь с тем же искажением. В игре уже должна быть основа, которую после уже нельзя менять, в игре уже должен быть геймплей, ядро которого опять-таки уже нельзя менять (можно дополнять, балансить, но кору трогать уже нельзя), игра должна быть играбельной, игра должна соответствовать своему ценнику по контенту и так далее. А огрызком, как уже писал ранее, лично я запросто, используя твою же логику, которую ты для игр в раннем доступе применяешь,  и релизные игры могу назвать без длс. То есть на релизе игра будет тем же, что ты называешь огрызком, относительно более полного издания годы спустя. Но ты сам же советуешь проходить на релизе эти неполные версии и не париться. Что дальше-то? Это личностное восприятие, не более. Занимательны такие вот двойные стандарты. Повторюсь, а разница-то в чём? Неполная игра в релизе — это норм, а неполная игра в раннем доступе — это огрызок? Занятненько. И нет,  я спрашиваю о практической части вопроса, а не о том, как должно быть по определению. В чём по факту разница-то между ними? Если кошка мяукает как кошка, то это кошка. Если игра незавершённая, то игра не завершённая, как её ни называй релизной ли или игрой в раннем доступе. Крохотную нишу с “всего лишь” третьей частью профита от новинок, ага. Совсем ерунда. А ведь значения только растут со временем. В магазине, в котором продаётся более половины всех игр вообще относительно всех игр в мире, включая игры для консолей. А также около 80-ти процентов всех продаж на пк. Ну вот прям совершенно “несущественные” значения, ага. У эпиков, к слову, соотношение игр в раннем доступе процентно не сильно меньше, чем в стиме. Касательно гог, ну там и не должно их быть много, т.к. магазин про старые добрые игры как бы изначально задумывался, чем он и заполнен в массе своей, а не про новинки. Итого, стим+ эпики — это около 90 процентов продаж всех игр на пк. Остаются пренебрежительно малые значения от еа, юбиков, интча и иже с ним, где хоть сколько-то существенным выделяются лишь майки и гог. Так что принижать стим в данном плане затея заведомо сомнительная.
    • Мысли у тебя путаются, не можешь отличить основное от допы/опции. Прошёл релиз - забыл. Вышла допа для релиза - имеет второстепенное значение во всех значениях. Сову на глобус пытаетесь натянуть вы, берёте малое и выдаёте за большое. Основной формат выхода игр - релизный. РД занимает крохотную нишу в одном магазе на одной из платформ.   Столько же раз отвечал, что ты путаешь полноценную и законченную игру с куском от игры. Никто не покупает РД для прохождения того что есть сейчас. В этом нет смысла. Покупают кусок и ждут общий пирог.   Потому что он ничтожно мелок в цифрах от общих сумм. Основной вид распространения игр - релиз. РД прижился только в одном магазе на одной из всех существующих платформ и занимает там крохотную нишу.   Да куда мне с Вальве до вас. На такие вершины, даже не претендую  .   Какие все? Опять натягиваешь. О каких всех может идти речь, если общий онлайн с каждым месяцем меньше, в том числе в моменты пиков? Люди уходят. Сами пики мельчают. И всё идёт на однозначную убыль, вне зависимости от обнов.   Очевидно же. Есть ряд пользователей  - "фанаты", они и цепляются за всё. На таких в первую очередь направлены будущие вливания контента в том числе релизных версий, какие-нибудь изменения, дополнения, аддоны и пр. У всего этого всегда или за редким исключением гораздо меньшие продажи/пики в сравнении с основной игрой, потому что "фанатов" меньшинство. Они не определяют, но на них можно подзаработать.   Где я поправился? Основа - релиз. РД - недоделка и долгострой для "избранных".
    • Перевод то может и сделают. А вот с озвучкой, да, больше надежд на нейронку.
  • Изменения статусов

    • Jimmi Hopkins  »  SerGEAnt

      Это не просто перевод, а полноценная авторская сценарная адаптация. Диалоги переписаны так, чтобы персонажи звучали живо, остро и в характере. Добавлен чёрный юмор там, где авторы постеснялись. Убраны лорные противоречия, докручены мотивации. В результате игра стала умнее, злее и смешнее оригинала.
      · 0 ответов
    • ElikaStudio

      Долгожданный релиз полного сезона состоялся!
      https://youtu.be/mwBk2stm2OQ?si=qpJojB_XDABaC0We
      https://vk.com/video-48153754_456239394?sh=4&list=c62797c2b7d0725d6e
      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Эпизод 3: "Ад пуст"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!
      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе Mechanics VoiceOver R.G. MVO , в частности их руководителю Дмитрию за неоценимую помощь в выпуске эпизода.
      Скачать для PC Classic (2018):
      GDrive: - https://drive.google.com/file/d/19CL_L80Mz0sIxcb54Ss64byAkeZmV22r/view?usp=sharing
      Скачать для PC Remastered (2022):
      GDrive: - https://drive.google.com/file/d/13q58Lpvw5_aYPYeZ7OGYZlAKOoS1gEbL/view?usp=sharing
      Скачать для Свитч(2022):
      GDrive: - https://drive.google.com/file/d/15e—T1LQiGQCYIHeNnj_C2qJA16Gvh1i/view?usp=sharing
      Ручная установка PC(оба издания):
      https://drive.google.com/drive/folders/1MJPd8965m4XxxAuOBt8enSHtv8_yy5xh?usp=sharing
      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_55571577
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #русскаяозвучка
      · 0 ответов
    • fox222  »  Siberian GRemlin

      Здравствуйте, хочу купить персональный доступ к переводам, сколько стоит?
      · 1 ответ
    • vitkach  »  eaZy

      Извините за беспокойство. Хотел спросить, а русификатор ещё когда-нибудь будет обновляться? Дело в том, что после его выхода выходили ещё обновления, в частности обновление 1.1, вышедшее летом 2023 года, где была добавлена целая сюжетная глава в конце если проходишь на лучшую концовку золотого пути, это где-то ещё полчаса диалогов. Также в игре присутсвуют иногда кракозябры вместо русского языка, это в основном связано с тем, что кое-где текст был изменён, в основном в обучающих сообщениях.
      · 0 ответов
    • TerryBogard  »  Siberian GRemlin

      C&C: RA: Retaliation (ПК) не работает.
      · 0 ответов
  • Лучшие авторы


×