PAYDAY 2

PAYDAY 2

106 ratings
Ремесло создания кастомных треков
By TheTankDivision
В данном руководстве я хочу поделиться с вами своим опытом создания кастомных треков для PAYDAY 2. Расскажу все тонкости этого ремесла.
3
   
Award
Favorite
Favorited
Unfavorite
Подготовка
Для того, чтобы ваши кастомные треки работали в игре вам потребуется установить два мода:

1. SuperBLT
Ссылка на скачивание[znix.xyz]
  • Зачем мне его устанавливать, если у меня есть просто BLT Hook?
Данный мод является улучшенной версией старого доброго BLT хука. Он содержит те библиотеки файлов, которые как раз-таки упростят нам создание кастомных треков в разы.
  • Хорошо, но как мне его установить, если у меня уже есть BLT Hook?
К сожалению, вам придётся от него избавиться, но тут всё довольно просто. Сначала вам нужно перейти в папку с файлами игры:
1. Для этого нажмите ПКМ по игре PAYDAY 2 в вашей библиотеке игр и перейдите в свойства.



2. Далее перейдите во вкладку ЛОКАЛЬНЫЕ ФАЙЛЫ и нажмите на кнопку ПРОСМОТРЕТЬ ЛОКАЛЬНЫЕ ФАЙЛЫ



Итак, мы оказались внутри нашей папки с игрой. Здесь нам нужно найти файл IPHLPAPI.dll и удалить его.



После этого действия перейдите в папку mods, найдите там папку base и удалите её.



Поздравляю, вы удалили BLT Hook.
  • Как установить SuperBLT?
В архиве, который вы скачали, будет всего один файл WSOCK32.dll Вам нужно будет переместить его в папку с игрой



Запустите игру, и SuperBLT предложит вам загрузить базовый модуль. Выберите «Yes», и он уведомит вас, когда завершит загрузку.

Поздравляю, вы установили SuperBLT

2. BeardLib
Ссылка на скачивание[github.com]

Второй мод, который содержит модули для воспроизведения нашей музыки в игре.
Откройте архив, который вы скачали, перейдите в папку PAYDAY-2-BeardLib-master и извлеките папку mods в вашу папку с игрой.



Поздравляю, вы установили BeardLib.
Теория
Если вы внимательно прислушивались к музыке, которая играет во время ограблений, то наверняка замечали, что она построена динамично. Во время штурма копов играет драйвовая музыка, под которую весело убивать орды спецназа, во время перерыва между штурмами наоборот более спокойная и т.д.

Итак, выделим основные "фазы" трека, воспроизводимые во время игры:
  • Setup
Фаза стелса. На большинстве контрактов игроки в первую очередь слышат её. Для неё характерны спокойные музыкальные сопровождения.
  • Control
Фаза перерыва между штурмами. Она следуют после поднятия тревоги, а также после того, как закончился штурм. Для неё характерны также спокойные музыкальные сопровождения, однако уже с небольшой динамикой.
  • Anticipation
Фаза подготовки к штурму. Она следует после перерыва между штурмами. Для неё характерна нарастающая музыка, которая предзнаменует начало штурма.
  • Assault
Фаза штурма. Она следует после подготовки к штурму. Для неё характерно драйвовое музыкальное сопровождение.

В каком порядке эти фазы следуют друг за другом?
Т.к. стелс-фаза на ограблении длится до тех пор, пока вы не поднимите тревогу, то схема смены фаз во время игры будет выглядеть следующим образом:

Setup ⇒ Control ⇒ Anticipation ⇒ Assault ⇒ Control ⇒ Anticipation ⇒ Assault ⇒ Control ⇒... и так далее по бесконечному циклу.

Дальше-больше.
Каждая из четырёх выше перечисленных фаз, состоит из двух частей:
  • Начало фазы
Эта часть в качественных кастомных треках служит плавным переходом между фазами. Однако в некоторых случаях эта часть может быть необязательной, за исключением фазы Anticipation (но об этом позже). Она во время фазы не зацикливается.
  • Сама фаза
Эта часть является обязательной во всех фазах. Если её не будет, то игрок будет слышать тишину. И вот эта часть как раз-таки зацикливается, поэтому, дабы у слушателя не пошла кровь из ушей, лучше обрезать трек так, чтобы переход из конца куска трека в его же начало был незаметен для игрока.

В итоге схема составных частей трека будет выглядеть так.
Практика и пример. Ч.1 sounds
Так, с теорией разобрались. Теперь перейдем непосредственно к самому процессу создания кастомного трека (далее сокращенно кастомка).
  • Во-первых вам понадобится какой-никакой редактор аудио-файлов.
Думаю вы сможете найти в интернете его сами. У меня вообще исторически сложилось так, что я нарезаю треки в Sony Vegas Pro 13 и мне удобно. Короче вкусовщина.
  • Во-вторых, вам надо выбрать музыку, которую вы хотите добавить в игру.
В нашем примере мы рассмотрим данную композицию из фильма John Wick Chapter 3: Parabellum.


А вот и сам пример того как я нарезал этот трек, чтобы вписать его в игру.
Winter At The Continental[drive.google.com]

Обычно, папку с кастомкой, сделанную под SuperBLT, скидывают в директорию
PAYDAY 2/assets/mod_overrides



Теперь мы плавно переходим к содержимому папки с кастомкой


loc
Содержит текстовый файл с названием трека, которое будет отображаться в самой игре. Т.е. простым языком локализацию.
sounds
Содержит все музыкальные файлы, которые вы будете слышать в игре.
main.xml
Фрагмент кода, который отвечает за проигрывание музыки во время игры.

Первым шагом в процессе создания кастомки это будет нарезка трека, так что перейдем сначала в папку sounds


Как вы можете заметить, все аудио файлы имеют расширение .ogg
Именно этот формат и поддерживает SuperBLT, так что когда будете рендерить ваши куски трека, то делайте это в формате .ogg 350 кбит/с, 44100 Гц, Стерео.

Совет, перед рендером треков понизьте их уровень громкости на 2-3 дБ, т.к. из-за нового формата аудио файлов кастомки в игре звучат очень громко (я не раз на этом фейлился)
Если вдруг во время тестов кастомки возникнет такая проблема, как очень сильно ускоренное воспроизведение трека, то советую поэкспериментировать с кбит/с и Гц, потому что однажды я с такой проблемой сталкивался.

Дабы понять теорию, советую прослушать каждый аудио файл. Так у вас сформируется представление как примерно должен выглядеть кастомный трек.

Теперь поговорим про Anticipation
В теории, при описании фаз и их двух частей я выделил Anticipation как исключение из правил. Всё дело в том, что в самой игре фаза подготовки к штурму длится ~30 секунд, но из-за некоторых игровых событий, пинга между хостом и клиентом это время может варьироваться. Поэтому в случаях, когда штурм у вас ещё не успевает начаться за 30 секунд как надо, нужно чтобы было хоть какое-нибудь музыкальное сопровождение.
Это очень хорошо продемонстрировано в старом видео мемного ютубера по pd2

Надеюсь вы поняли, что я имел ввиду. И так, схема создания фазы Anticipation
1. Начало фазы - трек с нарастающим музыкальным сопровождением длительностью ровно 30 секунд.
2. Сама фаза - короткий, зацикленный кусок трека, который будет держать настрой перед началом штурма.
Практика и пример. Ч.2 main.xml
Как я говорил ранее, этот файл содержит код, который отвечает за порядок воспроизведения треков в игре.

Для удобства работы с этим файлом, я советую вам поставить текстовый редактор Notepad++
Однако вы можете редактировать этот файл и в обычном блокноте. В моём примере для наглядности я буду использовать Notepad++

Для начала взглянем, что же main.xml в себе содержит


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


Строчка
Что нужно менять
<table name="WINTERCONTINENTAL">
Меняем содержимое кавычек. Здесь мы указываем id нашей кастомки
<HeistMusic id="WINTERCONTINENTAL" directory="sounds">
Меняем содержимое первых кавычек. Опять же указываем id нашей кастомки (тот же самый)
<event name="setup" start_source="begin setup.ogg" source="setup.ogg"/>
Фаза Setup. Тут мы меняем содержимое кавычек start_source и source (если вдруг названия ваших файлов отличаются от примера). В ситуациях, когда у вашей фазы нет "начала", то start_source="название.ogg" следует удалить
<event name="anticipation" start_source="begin anticipation.ogg" source="anticipation.ogg"/>
Фаза Anticipation. Тут мы меняем содержимое кавычек start_source и source (если вдруг названия ваших файлов отличаются от примера)
<event name="assault" start_source="begin assault.ogg" source="assault.ogg"/>
Фаза Assault. Тут мы меняем содержимое кавычек start_source и source (если вдруг названия ваших файлов отличаются от примера). В ситуациях, когда у вашей фазы нет "начала", то start_source="название.ogg" следует удалить
<event name="control" start_source="begin control.ogg" source="control.ogg"/>
Фаза Control. Тут мы меняем содержимое кавычек start_source и source (если вдруг названия ваших файлов отличаются от примера). В ситуациях, когда у вашей фазы нет "начала", то start_source="название.ogg" следует удалить

На этом с файлом main.xml всё.
Практика и пример. Ч.3 loc
Далее перейдем в папку loc. Пожалуй самая легкая часть осталась на десерт.
Внутри этой папки будет находиться всего один текстовый файл en.txt

Откроем его


Обе строки по сути идентичны в плане их редактирования, поэтому описанные далее действия применимы сразу к двум строкам.

В первых кавычках нас интересует только часть с WINTERCONTINENTAL, вместо неё мы должны написать id трека, который мы указывали в main.xml ранее.

Во вторых кавычках мы пишем название кастомки, которое будет отображаться в игре, пишите его на английском.
Выводы?
Я постарался максимально? передать вам свой опыт в этом ремесле, так что если вдруг у вас возникнут вопросы, то задавайте их в комментариях, постараюсь ответить. Возможно чуть позже сделаю видео с процессом создания кастомки.
20 Comments
Мартин Уокер May 22 @ 3:05am 
А где мне взять, main.xml файл и нарезки трека?
Бригадир №12 Dec 19, 2023 @ 12:14pm 
Доброго времени суток, сейчас сидел разбирал данный гайд. Всё сделал хорошо, плитка в бёрлибе отображается с моим треком, а сам трек в списке треков отсутствует. В чём может быть проблема?
Chad ThunderCock Jul 15, 2022 @ 5:11am 
Благодарю, теперь я имею 40 папок с кастомками и свои любимые треки в игре
dont play with him May 8, 2022 @ 2:22am 
TheTankDivision,помоги пожалуйста,когда перед началом ограбления выбираю свой трек, игра вылетает,или когда включаю его в список музыки для ограблений в меню тоже вылетает,может знаешь в чём проблема?
⚜︎Dmitry Light Feb 9, 2021 @ 8:36am 
По существу, без разболтайства. Годнота.:spiffo:
[_*Zimushka*_] Nov 6, 2020 @ 7:27pm 
В игре ведь есть треки только под стелс или только под штурм... Можно ли запилиить кастомный трек так, чтобы игра понимала, что он предназначен исключительно под штурм/стелс?:NeoPanda:
SashaDudeRUS Mar 30, 2020 @ 1:21am 
Привет, вот сделал по твоему Руководству, вроде вышло очень не плохо https://www.youtube.com/watch?v=T3d3Dq5ail0&feature=youtu.be
Rocket Queen Jan 2, 2020 @ 6:23am 
Зачем кастомайзить,если саунтрек к пд2 это единственное что нормальное от игры осталось
TheTankDivision  [author] Sep 16, 2019 @ 5:05am 
Ну вообще я дал шаблон сделанный собственноручно (Winter ar the Continental) и подразумевал, что люди будут использовать его. Но и Music Temlpate тоже сойдет.
Munt Sep 16, 2019 @ 12:44am 
Качаешь шаблон и просто заменяешь файлы и название трека, доне. Думаю автор может добавить линк в руководство, чтобы юзеры сами не писали с нуля синтаксис.
http://modwork.shop/21651