Данный гайд о том, как добавить звуки или музыку(в дальнейшем звуки) в карту правильно, чтобы все работало.
1. Формат звукового файла
Дота в данный момент распознает только 2 формата: mp3 и wav.
2. Папка хранения звуков в карте
Все звуки хранятся в этой папке: content\dota_addons\ADDON_NAME\sounds (Если папки sounds - нет, то создайте)
3. Список всех звуков
Просто скопировать звуки в папку, будет недостаточно. Игра требует, списка используемых звуков.
Списков может быть несколько, советую разбивать списки по категориям.
Списки хранятся в этой папке: content\dota_addons\ADDON_NAME\soundevents (Если этой папки - нет, то создайте)
Сам список представляет собой txt файл типа kv. (Ключ-значение)
Название файла списка, может быть любым, но формат файла должен быть .vsndevts!
Где "SoundStringName" - это название звука, который должен быть следующего вида: "AddonName.Название" (Название - это произвольное название) (В дальнейшем, чтобы воспроизвести звук вам надо будет воспроизвести звук по этому полному названию)
Где "sounds/FileName.vsnd" - это название и путь файла звука, который дота потом сохранит. Не забудьте указать подпапки, если таковые создавали.
4. Конвертирование или компиляция звуков
Откройте Dota Asset Browser (Список всего содержимого в вашей карте) и найдите добавленные вами звуки:
И откройте контекстное меню(Правой кнопкой мыши), где будут пункты: Full recompile и Reload
Надо сперва выбрать пункт Full recompile, а затем Reload. Так надо проделать с каждым добавленным звуком.
Если все правильно сделано, то у вас должны появится скомпилированные звуки и списки в папках: game\dota_addons\ADDON_NAME\sounds\ и в game\dota_addons\ADDON_NAME\soundevents\ соответственно.
5. Предзагрузка(preload) звуков перед использованием
Перед тем как воспроизвести звуки, надо их предзагрузить.
Указывать сами звуки не надо, надо указать только файл списка.
Дополнение
Гайд является вольным переводом-адаптацией с сайта http://moddota.com/forums/discussion/174/adding-and-playing-custom-sounds
В качестве примера были использованы материалы из карты SlideNinjaSlide. Спасибо автору за многие наработки и предоставление исходного кода на гитхабе: https://github.com/ynohtna92/SlideNinjaSlide
1. Формат звукового файла
Дота в данный момент распознает только 2 формата: mp3 и wav.
2. Папка хранения звуков в карте
Все звуки хранятся в этой папке: content\dota_addons\ADDON_NAME\sounds (Если папки sounds - нет, то создайте)
3. Список всех звуков
Просто скопировать звуки в папку, будет недостаточно. Игра требует, списка используемых звуков.
Списков может быть несколько, советую разбивать списки по категориям.
Списки хранятся в этой папке: content\dota_addons\ADDON_NAME\soundevents (Если этой папки - нет, то создайте)
Сам список представляет собой txt файл типа kv. (Ключ-значение)
Название файла списка, может быть любым, но формат файла должен быть .vsndevts!
Код:
"SoundStringName"
{
"operator_stacks"
{
"update_stack"
{
"reference_operator"
{
"operator" "sos_reference_stack"
"reference_stack" "dota_src1_3d"
"operator_variables"
{
"vsnd_files"
{
"value"
{
"value0" "sounds/FileName.vsnd"
}
}
"volume" { "value" "10.00000" }
"pitch_rand_min" { "value" "-0.05000" }
"pitch_rand_max" { "value" "0.050000" }
"pitch" { "value" "1.000000" }
"soundlevel" { "value" "100.00000" }
"distance_max" { "value" "1600.000" }
"event_type" { "value" "1.000000" }
}
}
}
}
}
Где "sounds/FileName.vsnd" - это название и путь файла звука, который дота потом сохранит. Не забудьте указать подпапки, если таковые создавали.
Код:
"SlideNinjaSlide.NumbEncore"
{
"operator_stacks"
{
"update_stack"
{
"reference_operator"
{
"operator" "sos_reference_stack"
"reference_stack" "src1_2d"
"operator_variables"
{
"vsnd_files"
{
"value"
{
"value0" "sounds/04-jay-z_and_linkin_park-numb-encore-kzt.vsnd"
}
}
"volume_min"
{
"value" "1.000000"
}
"volume_max"
{
"value" "1.000000"
}
"pitch_min"
{
"value" "1.000000"
}
"pitch_max"
{
"value" "1.000000"
}
"chan_type"
{
"value" "0"
}
"memory_type"
{
"value" "0"
}
}
}
}
}
}
"SlideNinjaSlide.Faint"
{
"operator_stacks"
{
"update_stack"
{
"reference_operator"
{
"operator" "sos_reference_stack"
"reference_stack" "src1_2d"
"operator_variables"
{
"vsnd_files"
{
"value"
{
"value0" "sounds/faint.vsnd"
}
}
"volume_min"
{
"value" "1.400000"
}
"volume_max"
{
"value" "1.400000"
}
"pitch_min"
{
"value" "1.000000"
}
"pitch_max"
{
"value" "1.000000"
}
"chan_type"
{
"value" "0"
}
"memory_type"
{
"value" "0"
}
}
}
}
}
}
"SlideNinjaSlide.TheHellSong"
{
"operator_stacks"
{
"update_stack"
{
"reference_operator"
{
"operator" "sos_reference_stack"
"reference_stack" "src1_2d"
"operator_variables"
{
"vsnd_files"
{
"value"
{
"value0" "sounds/the_hell_song.vsnd"
}
}
"volume_min"
{
"value" "1.000000"
}
"volume_max"
{
"value" "1.000000"
}
"pitch_min"
{
"value" "1.000000"
}
"pitch_max"
{
"value" "1.000000"
}
"chan_type"
{
"value" "0"
}
"memory_type"
{
"value" "0"
}
}
}
}
}
}
4. Конвертирование или компиляция звуков
Откройте Dota Asset Browser (Список всего содержимого в вашей карте) и найдите добавленные вами звуки:
И откройте контекстное меню(Правой кнопкой мыши), где будут пункты: Full recompile и Reload
Надо сперва выбрать пункт Full recompile, а затем Reload. Так надо проделать с каждым добавленным звуком.
Если все правильно сделано, то у вас должны появится скомпилированные звуки и списки в папках: game\dota_addons\ADDON_NAME\sounds\ и в game\dota_addons\ADDON_NAME\soundevents\ соответственно.
5. Предзагрузка(preload) звуков перед использованием
Перед тем как воспроизвести звуки, надо их предзагрузить.
Указывать сами звуки не надо, надо указать только файл списка.
Код:
PrecacheResource("soundfile", "soundevents/НАЗВАНИЕ_СПИСКА.vsndevts", context )
Дополнение
Гайд является вольным переводом-адаптацией с сайта http://moddota.com/forums/discussion/174/adding-and-playing-custom-sounds
В качестве примера были использованы материалы из карты SlideNinjaSlide. Спасибо автору за многие наработки и предоставление исходного кода на гитхабе: https://github.com/ynohtna92/SlideNinjaSlide
Последнее редактирование модератором: