Голосование

Как вы оцениваете Смуту?












Оформление



Пользователей
  • Всего: 28867
  • Последний: 123WwW2004
Сейчас на форуме
Пользователи: 0
Гостей: 260
Всего: 260

0 Пользователей и 1 Гость просматривают эту тему.

Тема: Добавление своей музыки в любую модульную систему.  (Прочитано 7823 раз)

  • Сообщений: 290
    • Просмотр профиля
Насобирал музыки. Скачать с дропбокса (Регистрация не обязательна - "No, thanks. Continue to downloading.") Почти все треки - отбирал только лучшее. Есть средневековые, эпичные, народные композиции. Музыку скопировать в папку игры "Mount&Blade Warband\Music\"; готовые music.txt файлы называются соответственно модульке (например, music_Native.txt), его надо переименовать в "music.txt" и скопировать с заменой в модульную систему (Module\Native\music.txt) предварительно сделав бекап файла. Можно музыку в любой мод добавить. Захардкоденный предел 256. Проигрывание слишком большого количества музыки в небольшом промежутке времени съедает оперативную память. Встроенная звуковая карта создает декомпрессию файла в оперативной памяти. Далее на примере "Native".

Нужен калькулятор виндовс 7 и выше (вид - программный), сами треки могут быть как 'ogg' так и 'mp3'. Сохраните себе следующий код, или распечатайте:
###################################################1111
# header_music.py
# This file contains declarations for music tracks
# DO NOT EDIT THIS FILE!
###################################################


mtf_culture_1                          = 0x00000001 ##Kingdom of Swadia           ##0000 0000 0000 0000 0000 0000 0000 0001
mtf_culture_2                          = 0x00000002 ##Kingdom of Vaegirs          ##0000 0000 0000 0000 0000 0000 0000 0010
mtf_culture_3                          = 0x00000004 ##Khergit Khanate             ##0000 0000 0000 0000 0000 0000 0000 0100
mtf_culture_4                          = 0x00000008 ##Kingdom of Nords            ##0000 0000 0000 0000 0000 0000 0000 1000
mtf_culture_5                          = 0x00000010 ##Kingdom of Rhodoks          ##0000 0000 0000 0000 0000 0000 0001 0000
mtf_culture_6                          = 0x00000020 ##Sarranid Sultanate          ##0000 0000 0000 0000 0000 0000 0010 0000
mtf_culture_all                        = 0x0000003F ##ALL                         ##0000 0000 0000 0000 0000 0000 0011 1111


##mtf_sit_map_travel                 = 0x00000001
##mtf_sit_attack                     = 0x00000002
##mtf_sit_defense                    = 0x00000004
##mtf_sit_raid_attack                = 0x00000010
##mtf_sit_raid_defense               = 0x00000020
##
mtf_looping                            = 0x00000040 ##Играть циклично             ##0000 0000 0000 0000 0000 0000 0100 0000
mtf_start_immediately                  = 0x00000080 ##играть сразу без паузы      ##0000 0000 0000 0000 0000 0000 1000 0000
mtf_persist_until_finished             = 0x00000100 ##играть пока не закончиться  ##0000 0000 0000 0000 0000 0001 0000 0000

mtf_sit_tavern                         = 0x00000200 ##Таверна                     ##0000 0000 0000 0000 0000 0010 0000 0000
mtf_sit_fight                          = 0x00000400 ##Сражение                    ##0000 0000 0000 0000 0000 0100 0000 0000
mtf_sit_multiplayer_fight              = 0x00000800 ##Сетевое сражение            ##0000 0000 0000 0000 0000 1000 0000 0000
mtf_sit_ambushed                       = 0x00001000 ##Врагов больше в 2 раза      ##0000 0000 0000 0000 0001 0000 0000 0000
mtf_sit_town                           = 0x00002000 ##Город                       ##0000 0000 0000 0000 0010 0000 0000 0000
mtf_sit_town_infiltrate                = 0x00004000 ##Проникновение в город       ##0000 0000 0000 0000 0100 0000 0000 0000
mtf_sit_killed                         = 0x00008000 ##Поражение                   ##0000 0000 0000 0000 1000 0000 0000 0000
mtf_sit_travel                         = 0x00010000 ##Путешествие, карта          ##0000 0000 0000 0001 0000 0000 0000 0000
mtf_sit_arena                          = 0x00020000 ##Арена, турнир               ##0000 0000 0000 0010 0000 0000 0000 0000
mtf_sit_siege                          = 0x00040000 ##Осада                       ##0000 0000 0000 0100 0000 0000 0000 0000
mtf_sit_night                          = 0x00080000 ##Ночь                        ##0000 0000 0000 1000 0000 0000 0000 0000
mtf_sit_day                            = 0x00100000 ##День                        ##0000 0000 0001 0000 0000 0000 0000 0000
mtf_sit_encounter_hostile              = 0x00200000 ##Враги приближаются          ##0000 0000 0010 0000 0000 0000 0000 0000
mtf_sit_main_title                     = 0x00400000 ##Главное меню                ##0000 0000 0100 0000 0000 0000 0000 0000
mtf_sit_victorious                     = 0x00800000 ##Победа                      ##0000 0000 1000 0000 0000 0000 0000 0000
mtf_sit_feast                          = 0x01000000 ##Пир                         ##0000 0001 0000 0000 0000 0000 0000 0000
mtf_module_track                       = 0x10000000 ##Музыка в модульке           ##0001 0000 0000 0000 0000 0000 0000 0000

В принципе тут все понятно. Это метки для треков модульной системы. Я добавил перевод и двоичное представление. Теперь пример как добавить трек для сражения.
1) Скопировать трек в папку Module\Native\Music (1 вариант, чтобы не путать добавленные треки с оригинальными)
Или скопировать в папку Music\ (2 вариант удобен если музыку будете использовать в разных модульках)
2) Отрываем файл Module\Native\Music.txt Находим там строчки
fight_1.ogg 7168 7168
fight_2.ogg 7168 7168
fight_3.ogg 7168 7168
Теперь копируем число "7168" и вставляем в калькулятор Windows (вид - программный)
Красной рамкой я выделил двоичный код числа 7168. По этому коду видим что трек играет если мы атакованы, во время сражения, и сетевого сражения. Теперь если наш новый трек для сражения находится в папке с модулькой (1 вариант), то нужно добавить метку mtf_module_track
Добавлять метку не обязательно. Игра сначала ищет музыку из модульной системы, потом из корневой папки.
3) В файле music.txt добавляем строчку с названием нового трека например btl_new_track.mp3 и полученным числом в калькуляторе (можно скопировать) "268442624"  Второе число в этой строке - это добавочные ситуации при наступлении которых трек продолжает играть. Чтобы добавить эти ситуации ставим метку в калькуляторе и копируем полученное число. Если это сражение то просто повторяем. Выглядеть должно так btl_new_track.mp3 268442624 268442624Если наш новый трек находится в корневой папке music (вариант 2). То строка будет такой btl_new_track.mp3 7168 7168
4) Когда вы добавили все нужные треки посчитайте номер последней строки. AkelPad делает это автоматически, правда он начинает считать с единицы. Переходим в начало файла music.txt и меняем число "74" на число строк минус один (подсчет начинается с нуля). Если добавили только один трек, то будет у вас "75"

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

P.S. Выражаю благодарность Leonion за гайд.
« Последнее редактирование: 01 Мая, 2020, 09:40 от Vetrogor »
  • Фракция: Родоки
  • Сообщений: 290
    • Просмотр профиля
0
« Ответ #1 : 04 Июля, 2017, 14:58 »
Теперь музыку нужно копировать в корень игры "Mount&Blade Warband\music\" - экономия места. Также музыку можно скопировать в папку с модульной системой. Если не стоим метка mtf_module_track, то игра сначала проверяет папку music модульной системы, потом корневую.

Prophecy of Pendor 3.9.5
- убрал зацикливание оригинальных боевых треков при сражении с уникальными армиями
- музыка играющая на карте не заканчивается при начале сражения, осаде, посещения деревни, замка
- добавлено header_music - с описанием для Пендора, там есть новые ситуации - деревня, и холл замка.
- 4 новых трека
« Последнее редактирование: 07 Апреля, 2020, 20:50 от Vetrogor »
  • Фракция: Родоки
  • Сообщений: 290
    • Просмотр профиля
0
« Ответ #2 : 15 Декабря, 2017, 15:57 »
Добавил: захардкоденный предел = 256 треков. Источник cmp, создатель WSE.
« Последнее редактирование: 28 Июля, 2020, 09:55 от Vetrogor »
  • Фракция: Родоки

СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC