Предисловие
Как ни странно, в разделе "Статьи" по Варкрафту нет ни одной статьи, связанной с музыкой и плейлистами. Пожалуй, стоит исправить это упущение. Данная микро статья научит Вас, как добавлять собственные плейлисты с музыкой в игру. Технически, можно таким образом добавить всю Вашу медиатеку - вопрос чисто в размере и количестве файлов.
К сожалению, данный вариант не подойдёт для одиночной карты (тест показал, что карта почему-то не хочет читать импортированный в неё war3skins.txt, однако, если Вы делаете мод с переделкой игры, Вам это подойдёт. Возможно, кастомная кампания и скушает war3skins, но я не уверен.
Впрочем, можно приложить файл в комплекте с картой, и если у пользователя включены локальные файлы, то ему достаточно кинуть файл в папку с игрой, а по необходимости удалить.
К сожалению, данный вариант не подойдёт для одиночной карты (тест показал, что карта почему-то не хочет читать импортированный в неё war3skins.txt, однако, если Вы делаете мод с переделкой игры, Вам это подойдёт. Возможно, кастомная кампания и скушает war3skins, но я не уверен.
Впрочем, можно приложить файл в комплекте с картой, и если у пользователя включены локальные файлы, то ему достаточно кинуть файл в папку с игрой, а по необходимости удалить.
Изменение и создание плейлистов
Извлекаем из игры с помощью MPQ Editor файл war3skins.txt (находится по пути UI/war3skins.txt ).
Переходим в раздел [Default] и правим/добавляем названия файлов, как указано на скриншоте.
На всякий случай лучше исправить/сделать 3 плейлиста, для всех версий: V0 - Reign of Chaos, V1 - The Frozen Throne, V1Beta - TFT Beta, но если Вам нужно только для ТФТ, то хватит и V1.
Называть плейлисты можно как угодно. Музыкальные файлы тоже. Но нужно добавлять постфикс V0, V1, V1Beta.
Переходим в раздел [Default] и правим/добавляем названия файлов, как указано на скриншоте.
На всякий случай лучше исправить/сделать 3 плейлиста, для всех версий: V0 - Reign of Chaos, V1 - The Frozen Throne, V1Beta - TFT Beta, но если Вам нужно только для ТФТ, то хватит и V1.
Называть плейлисты можно как угодно. Музыкальные файлы тоже. Но нужно добавлять постфикс V0, V1, V1Beta.
Если Вы хотите изменить плейлист расы игрока, и/или у Вас в моде больше 4 рас, Тогда нужно добавить новые плейлисты в разделы [Human], [Orc], [NightElf], [Undead] под одинаковыми именами. Принцип показан на скриншоте.
Пожалуй, по созданию плейлистов всё. Также в war3skins можно таким образом менять иконки,интерфейс UI (оформление, курсоры, звуки), модели, шрифты, модели в главном меню и многое другое.
Запуск музыки в игре
Используйте эту функцию.
function NewMusic takes string PlistName, boolean LocalPlayer returns nothing
if LocalPlayer then
call StopMusic ( false )
call SetMapMusic ( PlistName, true, 0 )
call PlayMusic ( PlistName )
set bj_lastPlayedMusic = PlistName // нужно для дальнейшего определения текущей музыки
endif
endfunction
//запуск для всех игроков
call NewMusic ( "MusicTwo", true ) //имя плейлиста нужно вводить без постфикса V0 V1 !!!
//запуск для локального игрока
call NewMusic ( "MusicTwo", GetTriggerPlayer() == GetLocalPlayer() )
//У остальных игроков ничего не поменяется, кроме локального. Десинков не будет.
//Тест был проведён через War III MultiWindow.
//Однако не нужно вставлять в функцию call TriggerSleepAction(), тест показал, что она вызовет десинк. Не используйте тут TriggerSleepAction
//вернуть стартовую музыку
call NewMusic ( "Music", true ) //имя плейлиста нужно вводить без постфикса V0 V1 !!!
Заключение
Какие плюшки это даст?
Можно во время битв или каких либо событий запускать "боевой" или другой плейлист.
Можно сделать для каждой фракции свою музыку.
Недостатки - не работает в виде импорта в карту, нельзя сделать в Гуи без custom script.
Можно во время битв или каких либо событий запускать "боевой" или другой плейлист.
Можно сделать для каждой фракции свою музыку.
Недостатки - не работает в виде импорта в карту, нельзя сделать в Гуи без custom script.