Community Imperial: Имена в Medieval 2 Total War - Сообщество Империал




mezhelev

Имена в Medieval 2 Total War

Имена в Medieval 2 Total War
Theme created: 15 September 2013, 22:33 · Author: mezhelev
Views:
 53 905

  • 6 Pages
  • « First
  • 4
  • 5
  • 6
 2 
 mezhelev
  • Imp
Imperial
 

Date: 16 September 2013, 02:13

Имена персонажей


Перечень имен персонажей находится в файле descr_names.txt.
Для каждой фракции в этом файле отведены отдельные блоки, имена из которых используются для персонажей фракции.
characters-имена используются для персонажей-мужчин, women для женщин, surnames - "фамилии" или обозначения "из Смоленска" и т.п.

Перевод имен и "фамилий" дается в файле names.txt (Medieval II Total War\data\text)

Прозвища, получаемые персонажами, как-то "Завоеватель", "Рубака" связаны с его трейтами, о которых можно почитать в этой To view the link Register.


     AnlinTindilinmi
    • Imp
    Imperial
     

    Date: 27 September 2025, 18:19

    Master_TW_DAR 26 September 2025, 22:29

    Может быть вот что. Я ведь написал чисто предположение, т.к. представляю, как подобное должно работать, но у меня нет точной информации об устройстве движка.

    Например, рассмотрим ситуацию, когда в подобном случае используется распространенный прием "ключ-значение":

    {Agent Smith} Агент Смит

    Движок игры вполне способен обрабатывать эти данные следующим образом (ниже пример возможного алгоритма):

    1. Прочитать идентификатор имени персонажа (т.е. Agent Smith) из текстового файла и сохранить в строковую переменную, например person_name_key.
    2. Прочитать локализованное имя персонажа (т.е. Агент Смит) из текстового файла и сохранить в строковую переменную, например person_name_value.
    3. Сохранить обе переменные в какое-нибудь собственное хранилище, например словарь, где person_name_key - это ключ, а person_name_value - это значение.
    4. Когда нужно запросить во время игры это имя, то останется обратиться к этому хранилищу и просто извлечь значение по имени ключа.

    Вот и всё. И без разницы, есть пробелы в идентификаторе или нет.

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

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

    Я-то к тому это всё веду, что фиг знает, почему в одних случаях всё работает нормально, а в другом игра крякается. Я вот не понял, но логически должен работать первый способ, описанный Вами, уважаемый камрад, в сообщении выше. Однако выкрутасы ванильки мне не дают покоя, но да Бог с ними, главное делать так, чтобы работало :) Я вот настрочил целый список имён для эльфов и сделал одно имя с пробелом (по образцу ванили), а вместо имени у меня дырка получилось, потом пришлось бегать по names и думать, где напортачил. Особенно сложно искать ошибку, когда она одна, вот я и написал такой момент.

    Главное не дать любознательности сломать мод напрочь, хи-хи :)
       Master_TW_DAR
      • Imp
      Imperial
       

      Date: 27 September 2025, 23:06

      Quote

      Я вот не понял, но логически должен работать первый способ,


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

      Скорее всего на момент разработки мода для реализации первого способа надо было бы использовать текстовый файл формата XML.
      Это на тот момент был очень популярный формат (он и сейчас в силе, но в мире программирования сдал свои позиции в пользу формата JSON).
      XML позволяет описать точно структуру программного объекта, которую можно довольно просто реконструировать с помощью программы.
      Посмотрите, если интересно, в папке data есть XML файлы - будет понятно, почему этот формат для подобного идеален.

      Но здесь у нас всего есть идентификатор и значение. Видимо, разработчики из CA решили решить эту задачу с именами проще - взять текстовый файл, прочитать и извлечь два связанных значения.
      Зачем, как думаете, тут фигурные скобки? Чтобы разделять эти значения, когда движок читает построчно файл имен и затем обрабатывает строку по этим маркерам.
      Если бы свойств у имени персонажа было бы больше, то да, было бы разумнее применить XML для описания модифицируемых данных.

      Quote

      Главное не дать любознательности сломать мод напрочь


      Советую всегда делать бэкапы, всегда. Достаточно использовать любую программу-архиватор для подобных целей.
         AnlinTindilinmi
        • Imp
        Imperial
         

        Date: 28 September 2025, 14:43

        Master_TW_DAR 27 September 2025, 23:06

        Quote

        Я вот не понял, но логически должен работать первый способ,


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

        Скорее всего на момент разработки мода для реализации первого способа надо было бы использовать текстовый файл формата XML.
        Это на тот момент был очень популярный формат (он и сейчас в силе, но в мире программирования сдал свои позиции в пользу формата JSON).
        XML позволяет описать точно структуру программного объекта, которую можно довольно просто реконструировать с помощью программы.
        Посмотрите, если интересно, в папке data есть XML файлы - будет понятно, почему этот формат для подобного идеален.

        Но здесь у нас всего есть идентификатор и значение. Видимо, разработчики из CA решили решить эту задачу с именами проще - взять текстовый файл, прочитать и извлечь два связанных значения.
        Зачем, как думаете, тут фигурные скобки? Чтобы разделять эти значения, когда движок читает построчно файл имен и затем обрабатывает строку по этим маркерам.
        Если бы свойств у имени персонажа было бы больше, то да, было бы разумнее применить XML для описания модифицируемых данных.

        Quote

        Главное не дать любознательности сломать мод напрочь


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


        С бэкапами-то всё гут, ещё бы осталось понять, как фиксить ошибки, которые не хотят фикситься.
          • 6 Pages
          • « First
          • 4
          • 5
          • 6
           
          Translate a Page
          Conditions · Responsibility · Confid. · About · 02 Jul 2026, 23:14 · Mirrors: ImtwOrg, ImtwSite, ImtwRuImtwRu, ImtwOrg, ImtwSite