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

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

В 06.07.2024 в 13:13, Tericonio сказал:

Редактирование скомпилированных скриптов ACS

 

В 07.07.2024 в 19:10, Tericonio сказал:

Редактирование карты через HEX

написал скрипты для упрощения процесса (QuickBMS включён в архив):

перетащить wad файл карты или dat/acs файл скрипта на unpack.bat для распаковки

перетащить wad файл карты или dat/acs файл скрипта на pack.bat для запаковки

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

get Name basename
string Name + ".txt"
idstring "ACS\x00"
get FSize long
findloc StrOffset string "STRL"
goto StrOffset

get ID long //STRL
get StrSize long

get Zero long
get StrCount long
get Zero long

//offsets
for i = 0 < StrCount
get StringOffset long
next i
log MEMORY_FILE 0 0
append
//strings
for i = 0 < StrCount
get Text string
put Text string MEMORY_FILE
put 0x0d byte MEMORY_FILE
next i
append

get MFSize asize MEMORY_FILE
log Name 0 MFSize MEMORY_FILE

 

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

get Name basename
get Ext EXTENSION
string Name + ".txt"
idstring "ACS\x00"
get FSize long
findloc StrlOffset string "STRL"
log MEMORY_FILE2 0 StrlOffset //before STRL
goto StrlOffset

get ID long //STRL
get StrlSize long

get Zero long
get StrlCount long
get Zero long

open "" Name 1
open 1
get TxtSize asize 
//parse txt
for 	
	getCT Text string 0x0d
	strlen TextSize Text
	math TextSize + 1
	putarray 0 -1 Text //save to array 0
	putarray 1 -1 TextSize //save length to array 1
	savepos Pos
	if Pos = TxtSize
		break
	endif 
next

getarray StringCount 0 -0x80000000


log MEMORY_FILE 0 0 // MF for STRL entry
//make new STRL entry
open MEMORY_FILE
append

//offsets
xmath BaseOffset "StringCount * 4 + 12"
set StringOffset long BaseOffset
for i = 0 < StringCount
getarray TextSize 1 i
put StringOffset long
math StringOffset + TextSize
next i 

for i = 0 < StringCount
getarray Text 0 i
put Text string
next i 

get MFSize asize
set NewStrlSize long MFSize
math NewStrlSize + 12
math NewStrlSize x 4 //alignment 4 bytes

open MEMORY_FILE2
put ID long //STRL
put NewStrlSize long

put Zero long
put StringCount long
put Zero long
log MEMORY_FILE2 0 MFSize MEMORY_FILE //append new STRL entry

xmath Delta "NewStrlSize - MFSize - 12"
putDstring "" Delta //append padding

xmath Offset "StrlOffset + StrlSize + 8"
xmath Size "FSize - Offset + 8"

open 0
log MEMORY_FILE2 Offset Size //append part after STRL entry
get MF2Size asize MEMORY_FILE2
xmath NewFSize "MF2Size - 8"
putVarChr MEMORY_FILE2 4 NewFSize long //new size
append
string Name > 4
string Name P "%Name%.%Ext%"
log Name 0 MF2Size MEMORY_FILE2 //write new acs to file

 

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

idstring "PWAD"
get FName basename
get Segments long
get SegOffset long
goto SegOffset

for i = 0 < Segments
get Offset long
get Size long
getDstring SegName 8
if i < 1
elif SegName = "SCRIPTS" || SegName = "TEXTMAP" || SegName = "DIALOGUE"
	string Name P "%FName%\%SegName%.txt"
	log Name Offset Size
elif SegName = "BEHAVIOR"
	string Name P "%FName%\%SegName%.acs"
	log Name Offset Size
elif SegName = "ZNODES"
	string Name P "%FName%\%SegName%.XGL3"
	log Name Offset Size
endif
next i

 

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

get FName basename
get Ext EXTENSION
get FSize asize
idstring "PWAD"
goto 0
get PWAD long
get Segments long
get SegOffset long
goto SegOffset
log MEMORY_FILE 0 0 //new wad
log MEMORY_FILE2 0 0 //SegTable
log MEMORY_FILE3 0 0 //
put PWAD long MEMORY_FILE
put Segments long MEMORY_FILE
set NewOffset long 0x0c
put NewOffset long MEMORY_FILE

//read seg data
for i = 0 < Segments
get Offset long
get Size long
getDstring SegName 8
if SegName = "SCRIPTS" || SegName = "TEXTMAP" || SegName = "DIALOGUE"
	string SegName + ".txt"
	open FName SegName 1
	string SegName > 4
	get SegSize asize 1
	append
	log MEMORY_FILE 0 SegSize 1
	append	
	put NewOffset long MEMORY_FILE2
	put SegSize long MEMORY_FILE2
	putDstring SegName 8 MEMORY_FILE2
	math NewOffset + SegSize
elif SegName = "BEHAVIOR"
	string SegName + ".acs"
	open FName SegName 1
	string SegName > 4
	get SegSize asize 1
	append
	log MEMORY_FILE 0 SegSize 1
	append	
	put NewOffset long MEMORY_FILE2
	put SegSize long MEMORY_FILE2
	putDstring SegName 8 MEMORY_FILE2
	math NewOffset + SegSize
elif SegName = "ZNODES"
	string SegName + ".XGL3"
	open FName SegName 1
	string SegName > 5
	get SegSize asize 1
	append
	log MEMORY_FILE 0 SegSize 1
	append	
	put NewOffset long MEMORY_FILE2
	put SegSize long MEMORY_FILE2
	putDstring SegName 8 MEMORY_FILE2
	math NewOffset + SegSize	
else 
	append
	log MEMORY_FILE Offset Size 0
	append
	put NewOffset long MEMORY_FILE2
	put Size long MEMORY_FILE2
	putDstring SegName 8 MEMORY_FILE2
	math NewOffset + Size
endif

next i

get MFSize asize MEMORY_FILE
putVarChr MEMORY_FILE 8 MFSize long //write new SegTable offset

get MF2Size asize MEMORY_FILE2
append
log MEMORY_FILE 0 MF2Size MEMORY_FILE2 //append new SegTable 
append
get MFSize asize MEMORY_FILE
string Name P "%FName%.%Ext%"
log Name 0 MFSize MEMORY_FILE //write to file

 

 

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

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


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

@xoixa 

Для BEHAVIOR из *.wad ещё необходимо добавить смещения на 01 00 00 00 01 00 00 00 53 50 54 52 хоть они и не так критичны, можно и через HEX кусок вставить, всё равно сами смещения не меняются и размер файла тоже из-за внесения смещений тоже не поменяются.

Но даже без них уже намного меньше работы :beach:

Но может со временем, что-то на эти смещения будут вести какие-то другая часть переменных. 

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

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


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

Те кто будут проходить игру с моим русификатором, если появляются переменные, к примеру (DIALOG-01-76), то мне необходим номер этого диалога, поскольку для некоторого кода в скриптах при отображении этого текста возможно должен убираться знак $, в некоторых местах эта переменна нужна, а где-то нет.

Самому всё это протестировать — это будет очень долго и сложно.

Так же если касается и не переведённого текста, если есть скидывайте в эту ветку такие моменты.

Это касается всех будущих обновлений.

В новом обновлении: Добавлены будут все карты, где есть текст для планшетов и объектов или входа в локации, добавлены 3 шрифта (один из них точно работает, поскольку относится к тексту при открывании запертых дверей), так порядка 50 строк пришлось изменить, новых строк порядка 100.

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

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


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

Обновление 0.61

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

Поправлено около ~50 мест разного характера, как диалоги, объекты, действия.

Добавлено нового текста — около 30 строк включая, Станцию улучшения оружия, Перемещение между локациями, и некоторые объекты.

Поправлен код бутылки пива, делая текст прозрачным — но необходим тест, переменную текста поднял выше альфа-канала, но пока не понятно, для чего альфа канал существует, может для прозрачности стекла??

Добавлены 4 шрифта для разных переменных отображающих текст, — Закрытые двери, Автомат Гвин, и повышение здоровья.

Внесены в некоторые скрипты уменьшенный масштаб текста, чтобы вмещался в рамки контуров.

Текст о повышении здоровья ещё можно уменьшить, если он ещё большой.

Благодаря @xoixa , изменение карт стало намного легче редактировать и вносить изменения, что уменьшило время.

 

По поводу тестов:

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

Изменено пользователем Tericonio
  • Лайк (+1) 3
  • Спасибо (+1) 1

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


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

Обновление старых сохранений, для их последующей загрузки под новые русификаторы (Может не сработать)

Переходим в папку Save в корневой папке игры, находим последний файл сохранения или создаём новый файл сохранения через игру.

Распаковываем autosave*.zds или save_manual*.zds через 7-zip в той же директории.

Открываем файл карты se_*.map.json и находим

 "MAIN","modsize": 123456

 ”QCKDIS","modsize": 123456

 ”ENEMYVO","modsize": 123456

За место 123456 размер этого файла за минусом 8 — 16 байт при сохранении

Если игра оригинальная то смотрим какой размер в моём Моде, в Language.pk3/ACS/ — в этой папке будут расположены все *.dat файлы, из-за которых игра выкидывает в Главное меню, если файлы менялись

 "MAIN" в оригинале 43312 (уже отнято 8 байт), в Моде 43772 (уже отнято 8 байт)

 ”QCKDIS" в оригинале 3568 (уже отнято 8 байт), в Моде 3872 (уже отнято 8 байт)

 ”ENEMYVO" в оригинале 73628 (уже отнято 8 байт), в Моде 73504 (уже отнято 8 байт) (В версии 0.61 его пока ещё нет)

Замещаем эти байты se_*.map.json и перекидываем в архив сохранения наши json файлы.

И пробуем загрузить наше сохранение, если получилось загрузить значит можно дальше играть не с 0.

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

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


Ссылка на сообщение
В 12.07.2024 в 21:01, Tericonio сказал:

Обновление старых сохранений, для их последующей загрузки под новые русификаторы (Может не сработать)

Переходим в папку Save в корневой папке игры, находим последний файл сохранения или создаём новый файл сохранения через игру.

Распаковываем autosave*.zds или save_manual*.zds через 7-zip в той же директории.

Открываем файл карты se_*.map.json и находим

 "MAIN","modsize": 123456

 ”QCKDIS","modsize": 123456

 ”ENEMYVO","modsize": 123456

За место 123456 размер этого файла за минусом 8 — 16 байт при сохранении

Если игра оригинальная то смотрим какой размер в моём Моде, в Language.pk3/ACS/ — в этой папке будут расположены все *.dat файлы, из-за которых игра выкидывает в Главное меню, если файлы менялись

 "MAIN" в оригинале 43312 (уже отнято 8 байт), в Моде 43772 (уже отнято 8 байт)

 ”QCKDIS" в оригинале 3568 (уже отнято 8 байт), в Моде 3872 (уже отнято 8 байт)

 ”ENEMYVO" в оригинале 73628 (уже отнято 8 байт), в Моде 73504 (уже отнято 8 байт) (В версии 0.61 его пока ещё нет)

Замещаем эти байты se_*.map.json и перекидываем в архив сохранения наши json файлы.

И пробуем загрузить наше сохранение, если получилось загрузить значит можно дальше играть не с 0.

Добрый день! Я так понимаю, вы не продолжаете работу над русификатором?

  • Лайк (+1) 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас

  • Похожие публикации

    • Автор: MrBean2009

      Метки: Экшен, Шутер от третьего лица, Приключение, Будущее Платформы: PC XS PS5 Разработчик: Build A Rocket Boy Издатель: IO Interactive Partners A/S Дата выхода: 10 июня 2025 года  
    • Автор: 0wn3df1x
      Granny

      Метки: Хоррор, Хоррор на выживание, Для нескольких игроков, От первого лица, Для одного игрока Платформы: PC Разработчик: DVloper Издатель: DVloper Дата выхода: 20 ноября 2018 года Отзывы Steam: 5178 отзывов, 93% положительных

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

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

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

    • о, не волнуйся, я далеко от зеркала, а травмирует меня лишь твоя ограниченность, проявляющаяся каждый раз, как подаешь здесь голос. Но я уже не удивляюсь, давно заметил, в некоторых кругах глупостью гордятся, а не стыдятся.)
    • Магазин Steambuy опубликовал еженедельный список скидок и предзаказов на ожидаемые игры. A Plague Tale: Requiem — 1159 рублей [-59%] Ace Attorney Anthology — 2329 рублей [-57%] Aliens: Dark Descent — 1039 рублей [-53%] Anno 2205 — 349 рублей [-90%] Arma 3 — 349 рублей [-82%] Assassin's Creed Odyssey Standard — 639 рублей [-78%] Batman: Arkham Collection — 399 рублей [-89%] BioShock Infinite — 399 рублей [-76%] Black Book — 399 рублей [-60%] Blasphemous 2 — 769 рублей [-72%] Blood West — 539 рублей [-46%] DEAD OR ALIVE 6 Digital Deluxe — 929 рублей [-87%] Dead Rising Triple Pack — 1279 рублей [-72%] Deep Rock Galactic: Survivor — 429 рублей  DELTARUNE — 1159 рублей  Destiny 2: Year of Prophecy — 4399 рублей [-39%] Devil May Cry 5 — 519 рублей [-81%] Dragon's Dogma 2 [Россия] — 2119 рублей [-66%] Dungeons 4 — 2699 рублей [-25%] Dying Light 2: Reloaded — 1279 рублей [-76%] Fable Anniversary — 369 рублей [-88%] For Honor Year 8 Standard — 289 рублей [-89%] Forza Horizon 5 Standard — 1699 рублей [-69%] Grand Theft Auto IV: The Complete — 459 рублей [-74%] Griftlands — 199 рублей [-54%] Halo Infinite — 1569 рублей [-71%] HITMAN World of Assassination — 1279 рублей [-43%] Hogwarts Legacy — 999 рублей [-83%] Hotline Miami — 249 рублей [-35%] Just Cause 2 — 199 рублей [-67%] LEGO Marvel Super Heroes 2 Deluxe — 249 рублей [-91%] LEGO MARVEL's Avengers — 569 рублей [-68%] Lost Planet: Extreme Condition — 269 рублей [-80%] Mafia III: Definitive — 50 рублей [-96%] Marvel vs. Capcom: Infinite — 669 рублей [-81%] Mortal Kombat X — 249 рублей [-86%] Quantum Break — 239 рублей [-93%] Resident Evil Village — 679 рублей [-81%] ROBOBEAT — 479 рублей [-31%] SAMURAI WARRIORS 5 — 2159 рублей [-60%] Sekiro: Shadows Die Twice GOTY — 3059 рублей [-43%] The Settlers: Heritage of Kings History — 349 рублей [-68%] Sid Meier’s Civilization VI Anthology — 1299 рублей [-93%] Star Wars Outlaws Gold — 2759 рублей [-72%] Stronghold Crusader 2 — 249 рублей [-64%] Tales from the Borderlands — 1249 рублей [-31%] Tales of Graces f Remastered Deluxe — 3699 рублей [-14%] Tom Clancy’s Splinter Cell Blacklist — 299 рублей [-85%] Total War: THREE KINGDOMS COLLECTION — 3059 рублей [-62%] TrackMania² Stadium — 299 рублей [-50%] Trials Fusion — 249 рублей [-86%] Ultra Street Fighter IV — 289 рублей [-89%] Wasteland 3 Colorado Collection — 899 рублей [-84%] Watch Dogs: Legion Gold [STEAM] — 989 рублей [-89%] Wolfenstein: The Old Blood — 299 рублей [-83%] Лидеры продаж: Borderlands 3 — 189 рублей [-96%] Mortal Shell — 49 рублей [-92%] Mafia III: Definitive — 50 рублей [-96%] Resident Evil 7 & Village — 1259 рублей [-83%] Diablo IV + Vessel of Hatred — 5519 рублей [-12%] Sekiro: Shadows Die Twice GOTY — 3059 рублей [-43%] Mad Max — 199 рублей [-89%] Quantum Break — 239 рублей [-93%] Dying Light 2: Reloaded — 1279 рублей [-76%] Hitman Absolution — 99 рублей [-91%]
    • В моем случае слишком много жал на одни и те же кнопки
    • Это примерно, описывает моё состояние сейчас...)
    • Mind Over Magic
      Жанр: Arcade / Strategy ( Manage/Business / RTS ) / 3D Разработчик: Sparkypants Издатель: Klei Publishing Платформы: PC В официальной продаже с 12 фев. 2025 трейлер ВК / Trailer / STEAM / Все скриншоты @0wn3df1x русификаторы есть в сети, в том числе такой Русификатор для Mind Over Magic (Творческий режим от 09.05)
    • Всем привет!
      Пробую сделать машинную русификацию Infinity Nikki (UE 5.4). Извлёк Game.locres из Default_Loc_1176_P.pak, перевёл часть строк через UnrealLocresEditor, сохранил без ошибок. Дальше пытался обратно запаковать: через UnrealPak (из UE 5.4 и кастомные bat-файлы), пробовал и с новым именем (Default_Loc_1176_P_ru.pak), и пересобрать оригинальный .pak. Результат — игра игнорирует всё, что не оригинал, либо вообще не запускается. Также нашёл кучу PatchPak_XX_1176_P.pak, в некоторых тоже есть locres. Видимо, игра берет самый свежий.
      AES-ключ известен (0xF0F2BA714FE32FACC23CD332BF35E8A00F73937BA4BB6D26659276A31E714E84), всё распаковывается нормально. Вопрос:
      Кто сталкивался с таким? Как обойти проверку подписи или заставить игру увидеть модифицированный .pak? Заранее спасибо! Могу скинуть файлы, если нужно.
    • Всё верно, даже если понимать по субтитрам общую картину происходящего, — приходится напрягаться, если ты не носитель языка, а хочется же просто играть.
    • Боёвка крутая в игре, мне очень нравится, никакая Нир даже рядом не стояла.
    • ты вновь понял через призму — чего бы накинуть испанка, работает в отельном бизнесе англичанин, работает на ферме, в основном управление транспортом итальянец, работает менеджером (обычный офисный работник) узколобие так и прет. региональная цена не для МСК какой, а для все РФ. и там где для жителя крупного города 5 игр в месяц, это в целом не сложно, то вот для жителя “замкадья” 5 это уже как-то больно. но как мы знаем, тут у каждого второго 5080, а у каждого первого 5090 и все богаты и могут за всю РФ отвечать. жизнь не дешевая по нашим меркам, но соразмерная по их уровню дохода. конечно там есть и бедные слои населения, не утверждаю что их там нет. и еще раз, я не берусь судить за весь ЕС, я привел в пример 3 страны, о которых я могу судить. то что ты пытаешься натянуть сову на глобус, это лично твои проблемы, я тут совершенно не причем так отойди, не травмируй себя этим видом
    • Видео недоступно в связи с обращением правообладателя
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


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

×