• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

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

Gothic ½ Словники и словари для игр и их модов..

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
Есть некоторые мысли по переопределению конструктора zSTRING, примерно так:

Находим ключ условный var string str = "$string_01, а далее "дефолтный текст", где после $ проверяется имя инстанции из внешнего словаря, а если не находит, то используется текст по умолчанию.

То есть смысл в том, чтобы каждой текстовой инстанции присваивать еще внешнюю инстанцию. Для этого
нужно будет замутить парсер для автоматической конвертации строк под словарь при наличии исходного кода модов.
Далее, касаемо самого словаря, если делать его с возможностью записи в него сразу всех поддерживаемых языков, то можно автоматически выбирать язык исходя из настроек языка Винды для текущего юзера, либо из явного указания языка в ini-файле Юниона.
Фактически, штатный пользователь по умолчанию должен будет видеть свой язык в корректном виде, вместо "кракозябр" и проблем с настройками. Естественно, со шрифтами проблемы тоже порешаем.

Кто что думает по этому поводу, может у кого какие идеи и мысли будут на этот счет, а может и другие какие предложения для этого ?! ::)
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.638
Баллы
625
дополню:

например имеем в скрипте строку:
bau_lex_1006.d
HTML:
name = "$s_nameLex1006 Лекс";
после символа $ идет автоматическое считывание некоторого глобального кода "s_nameLex1006", который упорядочено хранится во внешней таблице. если символ не найден, то по умолчанию будет прочитана подстрока "Лекс".
-------
при этом сами словари могут быть помещены в vdf тома или даже разбиты на несколько файлов с текстами разных групп (диалоги, наименования, константы).
-------
формат словаря может быть разным. например хранение нескольких языков в одном файле с условным синтаксисом:
HTML:
[s_nameLex1006]
rus: Лекс
eng: Lex
Pol: Lęx
где исходная подстрока имеет юникод представление и при чтении движком преобразуется в родной ansi
-------
выбор языка определяется исходя из текущего системного. либо из того, что явно указывается в ini файле юниона:
Union.ini
HTML:
[GLOSSARY]
DefaultLang = Eng
-------
чтобы модер вручную не переводил все свои писульки в словарный формат, не проблема написать парсер, который сам вставит в текст необходимые маркеры и сгенерирует словарь.
 
Сверху Снизу