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 920

  • 6 Pages
  • « First
  • 3
  • 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.


     Seydlitz
    • Imp
    Imperial
     

    Date: 05 March 2020, 16:16

    В общем, помогло приведение всех трёх файлов в порядок:
    1. В оригинале Булатки в descr_names вместо табуляций часто стояли наборы пробелов, в т.ч. там где пустые строки (без имен). Не знаю, как сама она работала без вылетов.
    2. text/names тоже был не упорядочен
       Norinke
      • Imp
      Imperial
       

      Date: 05 March 2020, 19:29

      Seydlitz 05 March 2020, 16:16

      В общем, помогло приведение всех трёх файлов в порядок:
      1. В оригинале Булатки в descr_names вместо табуляций часто стояли наборы пробелов, в т.ч. там где пустые строки (без имен). Не знаю, как сама она работала без вылетов.
      2. text/names тоже был не упорядочен

      ну как бы табуляция и пробелы не играею роли(главное чтобы хоть что-то одно из этого было), пушто игра просто пропускает пробелы, пока не дойдет до латиницы
      пи.си.
      text/names и loop на сколько я знаю там все окей
         1_2490156
        • Imp
        Imperial
         

        Date: 05 January 2021, 20:55

        2 полководца с одним именем. Хочу прописать код на сброс хода или там дать анч, но выбирается полководец который появился первым. А можно выбрать 2 полководца? :020:
           syanmey
          • Imp
          Imperial
           

          Date: 08 May 2021, 15:38

          Vdovin 13 December 2018, 10:51

          Dart Kovu Nazgul 12 December 2018, 18:42

          Kosmos

          В общем, банальная расформировка списка имен и фамилий по алфавитно решила эту проблему. Может кому-то когда-то понадобится инфа.

          В смысле по алфавиту в английском внутренне игровом написании в descr_names.txt ??

          Во всех трёх файлах, а это: names.txt , descr_names.txt , descr_names_lookup.txt
          У всех должен быть алфавитный порядок. По крайней мере у меня так случилось, что до этого был не соблюден алфавитный порядок, тоесть всё было на куче, и из-за этого я заметил, что многие фамилии не отображались у персов, хотя при выставлении его на карту я проверял и было всё норм. Вот после расформировки сразу же все фамилии работают на 100процентов.

          А как именно найти эти файлы?
             Skywalker1976
            • Imp
            Imperial
             

            Date: 25 October 2021, 07:35

            Такой вопрос: как добавить свои(не оригинальные) фамилии в файлы: names.txt и descr_names.txt. Решил трех генералов переименовать, добавил в файлы "свои" имена и фамилии. После запуска игры имена отобразились, фамилии остались прежними. Подскажите плиз решение!
               Master_TW_DAR
              • Imp
              Imperial
               

              Date: 27 January 2024, 22:14

              Туториал по добавлению имен ...

              Сичевые Свитки - Статья - Редактирование имен


              Медивал является очень гибкой игрой - модифицировать в ней можно всё - но только пока что мы не знаем, как это "всё" делать. К счастью имена можно поменять легко и быстро.

              Все имена игры запрятаны в 3 основных файлах: в папке Medieval II Total War\data есть файлы

              descr_names.txt
              descr_names_lookup.txt

              в папке Medieval II Total War\data\text лежит файл names.txt

              Как же добавить новые имена в игру? Следуйте инструкции и всё у вас получится.

              1. Лезем в папку text и УДАЛЯЕМ файл names.txt.strings.bin.
              2. Открываем файл descr_names.txt. И находим там примерно следующее:

              ...
              faction: papal_states ---------название фракции
              characters--------------мужские имена
              Abbate-----------список имён
              surnames---------------фамилии
              Vinarius----------список фамилий
              women------------------женские имена
              Stefania---------список имён
              ...
              


              Пусть мы желаем добавить в игру новых персонажей - Ивана Сусанина и жену его Марью. Вносим в файл следующие изменения и сохраняем его.

              ...
              faction: papal_states
              characters
              Abbate
              Ivan
              surnames
              Vinarius
              Susanin
              women
              Stefania
              Marja
              ...
              


              3. Теперь открываем файл descr_names_lookup.txt и в любом месте его добавляем эти имена

              Ivan
              Susanin
              Marja

              Местоположение имён в этом файле значения не имеет - игра составляет одну общую базу имён и её безразлична их последовательность. Можно даже добавлять одно и то же имя в игру хоть 10 раз - в базе оно будет записано только однократно. Сохраняемся.

              4. Лезем в файл names.txt и в любом месте этого файла добавляем

              ...
              {Ivan} Ivan
              {Susanin} Susanin
              {Marja} Marja
              или же
              {Ivan} Иван
              {Susanin} Сусанин
              {Marja} Марья
              


              если у вас русская версия игры. Сохраняемся.

              1. Запускаем медивал. Начинаем игру, и, если вам повезёт, вы встретите у фракции папы римского генерала по имени Иван Сусанин, и если вам повезёт ещё больше, у него будет жена Марья. ГОТОВО.

              Теперь нажимаем alt+tab, лезем в папку Medieval II Total War\data\text и видим, что файл names.txt.strings.bin, который мы удалили 1-ым пунктом, снова появился. :buba: Это игра его автоматически сгенерировала из содержимого файла names.txt. Если же в папке уже есть names.txt.strings.bin - пусть даже размером в 0 байт - игра ничего делать не будет. Ну и напоследок 2 дополнения.

              2. В прикреплённом архиве лежит список почти всех файлов из папки text русской версии. Устанавливайте их себе и ковыряйте на здоровье.

              3. Почему "почти всех" а не "всех"? Потому что там не хватает файлов battle.txt, battle_ed.txt, shared.txt, strat.txt, tooltips.txt - редактирование этих файлов, в отличие от всех остальных требует применения совсем иных методов, о которых ,возможно, я когда-нить напишу.
              Надеюсь в мой ответ прояснил все вопросы с редактированием файлов.

              ---

              Оригинальное Авторство:

              К сожалению, автор неизвестен. Скорее всего автором является пользователь СиЧи.

              История Происхождения:

              Локальная копия оригинальной статьи, взятой мной из модоковальни M2TW на форуме СиЧь.
                 AnlinTindilinmi
                • Imp
                Imperial
                 

                Date: 25 September 2025, 23:08

                Не знаю, может, уже писали камрады, но заметил такую фишку, если вы хотите сделать имена из двух частей: если прописать в descr_names имя вида {Lae Long}, оно не будет считываться из-за пробела. Будет считываться, если только написать {Lae_Long}. А вот в names (которая в text) в виде "перевода" можно написать что угодно, тот же {Lae_Long}Lae Long. С прозвищами так же работает: the Conquer не считывает, только the_Conquer. И с фамилиями тоже: {von Kruger} нужно писать как {von_Kruger}, а вот в names можно оторваться.
                   Master_TW_DAR
                  • Imp
                  Imperial
                   

                  Date: 26 September 2025, 12:24

                  AnlinTindilinmi, имена персонажей (а также вообще любые имена различных вещей в контексте моддинга игры) - это идентификаторы переменных (т.е. своего рода кусочков данных для программного кода) для игрового движка. Идентификаторы, которые служат в качестве имен переменных, не могут содержать пробельные символы - это одно из правил практически для любой программы, независимо от языка программирования, на котором она написана. Почему? Это связано с лексическим анализом программы - когда программист преобразует исходный код программы с помощью программы-транслятора в машинный код (т.е. в нашем случае то, что является экзешником, который запускает игру). Одна из фаз трансляции - это разбиение исходного текста программы на так называемые лексемы - слова, которые транслятор языка программирования способен понимать, чтобы в дальнейшем выстраивать синтаксический разбор программы (т.е. составлять предложение из лексем, почти так же, как и в любом естественном языке - русском/английском и так далее). Что касается имен, которые указываются в качестве перевода (текстовики локализации text) - тут ситуация другая. Эти имена воспринимаются движком как строковые данные (или как набор текстовых символов), которые (скорее всего) соответствуют некоторой кодировке, например из семейства Юникод (которая поддерживает практически любые существующие языки). В данном случае пробельный символ - это всего лишь текстовый символ, поэтому он может спокойно использоваться.
                     AnlinTindilinmi
                    • Imp
                    Imperial
                     

                    Date: 26 September 2025, 18:20

                    Master_TW_DAR 26 September 2025, 12:24

                    AnlinTindilinmi, имена персонажей (а также вообще любые имена различных вещей в контексте моддинга игры) - это идентификаторы переменных (т.е. своего рода кусочков данных для программного кода) для игрового движка. Идентификаторы, которые служат в качестве имен переменных, не могут содержать пробельные символы - это одно из правил практически для любой программы, независимо от языка программирования, на котором она написана. Почему? Это связано с лексическим анализом программы - когда программист преобразует исходный код программы с помощью программы-транслятора в машинный код (т.е. в нашем случае то, что является экзешником, который запускает игру). Одна из фаз трансляции - это разбиение исходного текста программы на так называемые лексемы - слова, которые транслятор языка программирования способен понимать, чтобы в дальнейшем выстраивать синтаксический разбор программы (т.е. составлять предложение из лексем, почти так же, как и в любом естественном языке - русском/английском и так далее). Что касается имен, которые указываются в качестве перевода (текстовики локализации text) - тут ситуация другая. Эти имена воспринимаются движком как строковые данные (или как набор текстовых символов), которые (скорее всего) соответствуют некоторой кодировке, например из семейства Юникод (которая поддерживает практически любые существующие языки). В данном случае пробельный символ - это всего лишь текстовый символ, поэтому он может спокойно использоваться.

                    Сегодня, кстати, глянул в ванилу и обнаружил там пробелы (!).

                    Quote

                    de Avena
                    de Fabro
                    de Fondaco
                    de Sala
                    de Spino
                    Florentinus
                    de Spina
                    Arlocti
                    de Bangno

                    Что-то я запутался. Но у меня с пробелами не работает, когда я свои имена вношу. Вернее, не работают не только мои имена, а вообще образуется дырка в месте имени как в кастом битвах, так и в кампании.
                       Master_TW_DAR
                      • Imp
                      Imperial
                       

                      Date: 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
                        • 6 Pages
                        • « First
                        • 3
                        • 4
                        • 5
                        • 6
                         
                        Translate a Page
                        Conditions · Responsibility · Confid. · About · 03 Jul 2026, 02:11 · Mirrors: ImtwOrg, ImtwSite, ImtwRuImtwRu, ImtwOrg, ImtwSite