Перейти к содержимому
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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

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

    • Сделай. В чём проблема ?
    • Вы что вообще делаете, не понимаю, зачем просто текст дербанить и переводить, как вы сопоставите этот текст с реальным файлом локализации, там есть несколько идентификаторов, потом только текст, файл локализации распаковывается в определенном порядке, и парсить текст вместе c ID нужно в список, а потом этот список уже редактировать, чтобы программа переводила эти строки, потом в том же порядке, в котором разбирала и собрать обратно. В общем, у каждой строки есть ключ, и без ключа, это просто текст в вакууме. Толку от того что кто-то перевел текст, возможно игра обновилась и он взял файл локализации английской, и dat файлы уже будут другие, это нужно чтобы единовременно у всех были одни и те же dat файлы, перевод делается централизованно, и от одной версии файла локализации… У разных файлов локализации могут поменяться ID, и все, как их сопоставить старый с новым, чтобы перевод обновить, вот это уже задача.
      + текст извлекать из dat файлов нужно в строго порядке, я сейчас заметил несостыковки, потому как брал логику из скриптов выше, буду думать как правильно извлечь текст в строки…
    • Ну наверное и нейронку легко сделать? Не? ошибаюсь?
    • @DOG729 у тебя на гите файл “translation_ru.tsv” синхронится или ты сам его там редактируешь?
    • Есть официальный русский перевод: Silent Hill f (2025)
      (тема на форуме) *На форуме исправление официальной локализации.
    • это тоже можно в табличку загрузить в качестве первой версии
    • В игре уже созданы шаблоны для других языков, в том числе и русском. Скорее всего языки завезут в следующих обновах.
    • Обычно показывается справа от игр, которые раздают сейчас. Если игра в этом меню скрыта, то обычно для РФ она недоступна для раздачи на следующей неделе. Впрочем, бывали случаи, когда у эпиков передумывали, в иной раз возвращая такие игры даже в середине раздач в доступное. На данный же момент список раздач, которые будут на следующей неделе, для РФ пуст, показывается только одна нынешняя игра, если смотреть честно без трёх весёлых букв.  
    • О, спасибо большое!
      Посмотрел все скрины.
      Спасибо за сравнение, это помогло мне с выбором.
      Мне нравится от FFRTT. Живенько и легко читается, Зидан жжёт) 
      Впечатление только от перевода по скринам.

      На вкус и цвет. Кому-то Child of Terra, мне FFRTT, субъективные выборы.
      Хотя местами они переборщили немного, например, 5-й скрин с этой ссылки. Но это в отрыве от контекста, может, всё в целом гармонично.
      Спасибо большое всем за перевод, и Child of Terra, и FFRTT.
      Child of Terra действительно максимально близок к оригиналу, а FFRTT не боялись экспериментировать, и за это респект, получилось очень колоритно и живо. 
    • пока ещё не все строки от @liklaysh загрузил в таблицу принял
  • Изменения статусов

    • fevralski  »  SerGEAnt

      привет, есть что по хмурому?
      · 0 ответов
    • Netulogina  »  SerGEAnt

      Здравствуйте.
      Назрел такой вопрос. Существует ли архив/резервная копия переводов которые хранятся на данном сайте?
      · 5 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Добавились версии для Linux и MAC OS
       
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Прошу обновить файл в архиве на https://disk.yandex.ru/d/suqA593ocxIJTQ
      или https://boosty.to/jimmihopkins/posts/d1df8532-9ac5-4a23-a87c-df2610efaf26
      Финальный релиз.
      Значительные изменения
      · 0 ответов
    • ElikaStudio

      https://www.youtube.com/watch?v=Nqcr83D8xhw
      https://www.youtube.com/watch?v=yRh3i7FKwOQ
      https://vk.com/video-48153754_456239346
      https://vk.com/video-48153754_456239345?list=ln-xnLZUtIyCEc6eshGvW
      https://ibb.co/p6BtMqWQ
      Перед тем, как ступить на борт корабля капитана Синей Бороды, нужно скачать озвучку!

      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!

      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе [club76249462|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


      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_52801766
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #waylandteam #русскаяозвучка
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×