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

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

В общем начал я разбираться:
Мне вот интересно Python-скрипт WWM_Extractor_Files_and_Texts.py, который недавно кидали, он рабочий? Кто делал скрипты на запаковку распаковку? Можете откликнуться?
После метода pak_file в скрипте WWM_Extractor_Files_and_Texts.py файл запакованной локализации читается игрой, там все нормально? (После анализа, WWM_Extractor_Files_and_Texts.py реализует два разных формата архивов. Они не являются обратными операциями друг для друга. (Функции extract_file и pak_file.))
Вообще есть рабочий скрипт?
Просто от скрипта к скрипту разные реализации, есть кто может объяснить по заголовкам?

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

https://disk.yandex.ru/d/RSp32_D4Av940g

Скрипт на Python для распаковки/запаковки как файлов, так и текста готов.

Текст может быть любой длины (отличатся от оригинала), скрипт всё должен запаковать правильно

При запаковке файлов в конечный файл игры необходимо скопировать в папку с переведенными DAT нулевой файл, распакованный изначально (в нем нет текста, поэтому он не обрабатывается этой программой, но он необходим игре)

Те кто использует Excel файлы, для скрипта их необходимо сохранить как “CSV UTF-8”

 

Можешь пояснить по поводу запаковки распаковки? Точно все нормально сходится?

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

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


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

Этот скрипт мой. Я перевел пару строк и запаковал. Игра прочитала отлично. Сейчас скрин прикреплю

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


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

Этот скрипт мой. Я перевел пару строк и запаковал. Игра прочитала отлично. Сейчас скрин прикреплю

Да скрипт хорошо работает.
Кстати как ты вычислил ID? и разобрал таблицу. проводил реверс-инжиниринг? Распаковал mpk и посмотрел скрипты на lua ?)

f.seek(0)
                                count_full = struct.unpack('<I', f.read(4))[0]
                                f.read(4)
                                count_text = struct.unpack('<I', f.read(4))[0]
                                f.read(12)
                                code = f.read(count_full).hex()
                                f.read(17)
                                data_start = f.tell()

 

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

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


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

Если в hex редакторе открыть файл dat, то там

  1. первые 8 байт = кол-во всего блоков текста в файле
  2. следующие 8 байт = кол-во блоков с текстом
  3. следующие 8 байт = это я так понимаю тип файла, расширение
  4. Дальше идет блок длиной полученной из п. 1 + 17 байт. Так и не смог понять, но 1 байт соответсвует блоку, за исключением 17 байтов
  5. Дальше идет блок (кол-во п.1 * 16), состоящий по строчно из 16 байт, соответсвующий блоку с текстом.
  •  первые 8 байт = это ID
  • следующие 4 байта = это смещение от этой позиции на начало текста
  • следующие 4 байта = это длина текста
Изменено пользователем suncrash66
  • Лайк (+1) 1
  • Спасибо (+1) 1

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


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

Если в hex редакторе открыть файл dat, то там

  1. первые 8 байт = кол-во всего блоков текста в файле
  2. следующие 8 байт = кол-во блоков с текстом
  3. следующие 8 байт = это я так понимаю тип файла, расширение
  4. Дальше идет блок длиной полученной из п. 1 + 11 байт. Так и не смог понять, но 1 байт соответсвует блоку, за исключением 11 байтов
  5. Дальше идет блок (кол-во п.1 * 16), состоящий по строчно из 16 байт, соответсвующий блоку с текстом.
  •  первые 8 байт = это ID
  • следующие 4 байта = это смещение от этой позиции на начало текста
  • следующие 4 байта = это длина текста

Красавчик запарился) 

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


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

вот работа скрипта

Screenshot-2025-11-21-105031.png

Ты уже и перевод свой склепал, ток ui или больше?)

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

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


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

Это только для проверки скрипта не более

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


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

CN версии кстати 900к активных строк, а на global 365к :cold_sweat:

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

Совместил я тот перевод со своим, в приоритете взял свой. Ну и исключил все строки связанные с числами. Там атака, скорость и т.д, там не актуальные цифры были.
179bc76d-b67b-4d1f-a87c-9998aaae8368.png

 

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

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


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

CN версии кстати 900к активных строк, а на global 365к :cold_sweat:

  IMG (Показать содержимое)

Совместил я тот перевод со своим, в приоритете взял свой. Ну и исключил все строки связанные с числами. Там атака, скорость и т.д, там не актуальные цифры были.
179bc76d-b67b-4d1f-a87c-9998aaae8368.png

 

Сколько у тебя % готово?

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


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

Сколько у тебя % готово?

Если моего текста целых 2.5%
если же в объединённом варианте около 85%
__________________

https://github.com/DOG729/wwm_russian

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

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


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

Если в hex редакторе открыть файл dat, то там

  1. первые 8 байт = кол-во всего блоков текста в файле
  2. следующие 8 байт = кол-во блоков с текстом
  3. следующие 8 байт = это я так понимаю тип файла, расширение
  4. Дальше идет блок длиной полученной из п. 1 + 17 байт. Так и не смог понять, но 1 байт соответсвует блоку, за исключением 17 байтов
  5. Дальше идет блок (кол-во п.1 * 16), состоящий по строчно из 16 байт, соответсвующий блоку с текстом.
  •  первые 8 байт = это ID
  • следующие 4 байта = это смещение от этой позиции на начало текста
  • следующие 4 байта = это длина текста

Размеры полей разве не 4 байта, нет?

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


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

Утро. 
Вот все 731 файл https://disk.yandex.ru/d/X4gkcCA_K5THaA
И вот уже Собранный файл https://disk.yandex.ru/i/IZ8f2my2gws0Hg 
Сегодня его прогоню через ИИ что бы текс был более похож на нормальный 
Если у кого есть предложения по промту предлагайте пока вот такой накидал 

"""
ОБЯЗАТЕЛЬНЫЕ ПРАВИЛА (строго соблюдай, иначе — ошибка):
 
1. **Повелительное наклонение — ТОЛЬКО на '-ите' / '-ьте' / '-те'** (интерфейс и подсказки):
   - Recover → Восстановите
   - Discard → Выбросьте
   - Draw → Возьмите
   - Gain → Получите
   - Deal → Нанесите
   - Play → Сыграйте
   - Summon → Призовите
   - Destroy → Уничтожьте
   - Explore → Исследуйте
   - Craft → Создайте
   - Place → Разместите
   - Upgrade → Улучшите
 
2. **Официальные термины Wuxia-механик — ИСПОЛЬЗУЙ ТОЛЬКО ТАК** :
   - Martial Arts → Боевые искусства
   - Mystic Skills / Mystic Arts → Мистические искусства
   - Lightness Skills / Qinggong → Лёгкость (или Цинъгун)
   - Inner Ways → Внутренние пути
   - Sects / Schools → Секты (или Школы боевых искусств)
   - Qi / Chi → Ци
   - Stamina → Выносливость
   - Health → Здоровье
   - Armor → Броня
   - Attack → Атака
   - Parries / Dodges → Парирование / Уклонение
   - Parkour / Wall-running → Паркур / Бег по стенам
   - Telekinesis → Телепатия
   - Acupuncture strikes → Удары акупунктуры
   - Lion’s Roar → Рёв льва
   - Cloud Step → Шаг по облакам
   - Magic Hand / Chi Grip → Волшебная рука / Захват Ци
   - Touch of Death → Касание смерти
   - Drunken Poet → Пьяный поэт
   - Dragon Heat → Драконий жар
   - Blinding Mist → Ослепляющий туман
   - Serene Breeze → Спокойный ветер
 
3. **Числа и эффекты — точно и кратко**:
   - Gain 3 Armor → Получите 3 брони
   - Deal 5 damage → Нанесите 5 ед. урона
   - Restore 4 Health → Восстановите 4 ед. здоровья
   - Draw 2 cards → Возьмите 2 карты
   - Discard 1 card → Выбросьте 1 карту
   - +2 Attack → +2 к атаке
   - +3 Stamina → +3 к выносливости
   - +1 Parries → +1 к парированию
   - +1 Dodges → +1 к уклонению
 
4. **Стиль и нюансы**:
   - Поэтичный, эпический тон.
   - Диалоги — живые, культурные.
 
5. Цветовые теги #Y...#E, #G...#E, #R...#E, #e5ecf2... — оставляй полностью, внутри текста только первая буква заглавная.
   Пример: "Place #YGrinding Table#E" → "Разместите #YВерстак для заточки#E"
 
6. После {0}, {1}, #e5ecf2 и любых тегов — НИКАКИХ тире и двоеточий! Только пробел или ничего.
   Правильно: "#e5ecf2{0}'s Master""#e5ecf2{0} Мастер"
 
7. Сохраняй ВСЕ теги, %s, %d, %%, \n, \r, кавычки и пробелы точно как в оригинале.
"""
Изменено пользователем Claymore0098
  • +1 1

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


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

Размеры полей разве не 4 байта, нет?

Каких полей, какой пункт?

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Lowfriend

      HARVESTELLA
      Жанр: Японская ролевая игра. Платформы: PC, NINTENDO SWITCH Разработчик: Square Enix. Издатель: Square Enix. Дата выхода: 4 ноя. 2022 г. СКРИНЫ ПЕРЕВОДА:


      ТГ КАНАЛ С ПЕРЕВОДАМИ.
      https://t.me/lowfriendrustoshinori
      Если кому-то нужен перевод - могу сделать. Пишите в ТГ, договоримся о цене. Там же найдёте файл с переведённой строкой и текстурой для проверки в игре + нужно редачить шрифт.
      (Тестил на пиратке.)
       
    • Автор: SerGEAnt
      Sid Meier's Civilization VII

      Метки: Глобальная стратегия, Историческая, 4X, Дипломатия, Военные действия Платформы: PC XS PS5 SW2 SW Разработчик: Firaxis Games Издатель: 2K Серия: Sid Meier’s Civilization Дата выхода: 11.02.2025 Русский язык: Интерфейс, Озвучка, Субтитры Отзывы Steam: 31276 отзывов, 48% положительных


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

×