![]()
Blackdoom
![]() offline
Опыт:
1,973Активность: |
Как проигрывать MID файлы в ВарКрафте
Вместо вступления Задумал как-то я сделать картишку в ВарКрафте. Придумал сценарий, кучу интересных фичей и дрррр. Чтобы добавить в нее атмосферности «позаимствовал» несколько треков в mid формате. Не буду рассказывать, как я перегонял их в mp3, ужимал и сколько места они занимали в итоге – злостное и неблагодарное это было занятие. Без музыки моя карта теряет свой неповторимый стиль , и я стал поднимать темы на форумах в поисках способа использования mid’и в ВарКрафте. На XGM я нашел две темы по этому вопросу, но единственное возможное решение предлагало импортировать в карту кроме mid и модифицированной slk еще и dls библиотеку, размер которой меньше мегабайта ну никак не может быть. При чем нужно было создавать свой dls из стандартного, встроенного в Виндовс gm.dls, т.к. сам он весит всего лишь 3,5 мб. (подробнее о dls ). Этот способ вполне мог прокатить в кампании, но в одной карте, рассчитанной на мультиплеер, уже нет. В этой статье я расскажу о том как заставить звучать миди, не трогая dls вообще, спасибо DioD’у, за любезно предоставленную ссылку на тему с решение данной проблемы. Ссылка на оригинал. Ниже я выложу архив с модифицированным MIDISounds.slk и reg-ключем, а также карту-пример. Преимущество данного метода налицо: вместо одного mp3 файла, длиной в минуту, с битрейтом 48 kbps и 22 kHz, можно импортировать 10-30 треков такой же длины, но с более высоким качеством звучания, если конечно mid файлы нормальные. Метод может пригодиться тем, в первую очередь тем, кто делает проекты с использованием музыки из старых игр, например второго Варкрафта или первого Диаблы. Не буду скрывать, что данный способ имеет и слабые стороны, главные из которых это:- чтобы карта-пример проигрывала миди, необходимо, чтобы у вас Виндовс стоял на диске C, хотя это можно решить, изменив путь в slk-таблице. - также придется скопировать MIDISounds.slk в директорию Варкрафта, соблюдая путь. С slk, хранящейся в mpq, она конфликтовать не будет - некоторые миди просто отказываются работать, не имею в понятия, в размере, длине или в количестве дорожек дело. Использование внешних файлов Первое что нужно сделать - разрешить Варкрафту пользоваться файлами, находящимися вне mpq-архивов и не импортированных в вашу карту.а) Просто добавить прикрепленный ключ регистра в реестр. б) Поставить опцию "Allow Local Files" в WE Enhancer в разделе Editor Settings в) Изменить значение вручную - для этого в реестре в ветке [HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III] параметру "Allow Local Files" нужно поставить значение 1 (0х00000001)[/indent] Затем следует распаковать папку UI из архива в директорию с варкрафтом. У меня это выглядит так: C:\Games\Warcraft III\UI\SoundInfo\ MIDISounds.slk Попробуйте запустить приложенную к статье карту. Если же играет стандартная вариковская музыка, значит придется изменять путь к gm.dls в MIDISounds.slk, которую вы должны были распаковать в папку с ВарКрафтом Настраиваем slk Для того чтобы посмотреть только на мой пример, если пройдя вышеизложенные шаги, музыка НЕ звучит вообще, или играет стандартная, то вам нужно лишь правильно указать путь к gm.dls , вам достаточно лишь указать DirectoryBase(см п.2) Внимание! При неправильном указании пути к gm.dls, ВарКрафт может пытаться проигрывать mid при помощи своих dls (удовольствие не для слабонервных) либо не проигрывать вообще! Остальные столбцы я рассматривать не буду, т.к. кроме Volume остальные никакого интереса не представляют, да и не такой уж я знаток slk и миди. Настройка миди в вашей карте Запустите World Editor, импортируйте в свою карту при помощи Import manager’а необходимые mid и зайдите в Trigger editor. В нем создайте новый триггер, с событием Map initialization, затем трансформируйте его в JASS при помощи меню Edit->Convert to custom text. Между строками call TriggerAddAction и endfunction следует вставить следующие строки:call SetAmbientDaySound( "AES" ) call SetAmbientNightSound( "AES" ) Ну а теперь сразу после этих добавьте еще одну строку:call PlayMusicBJ("имявашегофайла.mid") Попробуйте запустить карту, если вы все сделали правильно, то сразу же после начала игры будет играть ваш трек. Внимание!! Если в имени файла указан путь к нему, например стандартный war3mapImported\, то в строке следует после каждого «\» ставить еще один такой же!! Например,call PlayMusicBJ("war3apImported\\sound.mid"). ЖДУ ОТЗЫВОВ И КОММЕНТАРИЕВ Отредактировано Blackdoom, 27.07.2006 в 12:01. |
|
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
Поздравляю с переводом... |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
and_y87
Тру Кодер
![]() ![]() offline
Опыт:
21,030Активность: |
![]() MEXAHuK добавил: Прикольная статейка-затейка! |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Blackdoom
![]() offline
Опыт:
1,973Активность: |
Bloody_Chainsaw файл этот есть в любой винде, начиная с 95!! Качать надо только слк!
смотри выше: 1. если винда стоит не на С, измени слк 2. проверь реестр 3. проверь, чтобы слк лежал в папке варика\ui\soundinfo\ |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
and_y87
Тру Кодер
![]() ![]() offline
Опыт:
21,030Активность: |
Однако гемор... |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Blackdoom
![]() offline
Опыт:
1,973Активность: |
Ахтунг! лечим гемор! Вместо карты и остального я выложил инсталяционный экзешник, который сам все сделает. Единственное что ему надо - внимательно укажите ему директорию с Варом.
ехе никакого вредного контента НЕ несет!!! ссылка на него, еще раз Цитата:
ты о чем!? Отредактировано Blackdoom, 27.07.2006 в 16:27. |
|
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Sir Lothar
![]() ![]() offline
Опыт:
5,740Активность: |
Цитата:
Оно и видно. Файла-то нет... |
|
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Алексей
Где кошачья мята?!
![]() ![]() offline
Опыт:
26,303Активность: |
Я попробовал было создать MIDI-файл, который мог бы нормально проигрываться стандартными DLS War'а, но не тут-то было. Они вместо инструментов содержат всякую дрянь: карканье ворон, шорох снега и т.п. |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
Лол...
Близам просто не нужно было делать инструменты так как миди не было предназначено для музыки. |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Blackdoom
![]() offline
Опыт:
1,973Активность: |
Ни у кого не появилось мыслей по поводу того, КАК они сделали свои dls? |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Iron
Листовой
![]() ![]() offline
Опыт:
24,427Активность: |
1)А реестр трогать обязательно? А то я так и не понял, что он через реестр ищет.
2)Зачем кидать слк в ui\soundinfo? Лучше импортнуть его в карту прописав путь ui\soundinfo\ Iron добавил: Все, с реестром допер. Но имхо это мелочь, но фатальная мелочь. Т.е. такую карту на DL ONLY в батле не распространишь, ибо большенство юзеров не будут гемориться переписывая реестр. |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
MapMan
Corey 8 Taylor
![]() offline
Опыт:
21,554Активность: |
Цитата:
|
|
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
DanFi
![]() offline
Опыт:
7,220Активность: |
А всё-таки, ка-же проигрывать миди в варе?
Архивы все поврежденны ! DanFi добавил: Мне очень надоооо.... |
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
bladehamster
![]() offline
Опыт:
3,660Активность: |
Это все равно г-о, тк у абсолютного большинства игроеов нестоит этот великолепный мод |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
vit
кааааррл
![]() ![]() offline
Опыт:
3,586Активность: |
отличная затея для кампаний, для мультиплеера уг.. |
![]() |
#15
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
LordSerga
![]() ![]() offline
Опыт:
3,809Активность: |
MEXAHuK:
Я бы за такой смайл морду бы оторвал =) нелюблю я эти европейские смайлы |
![]() |
#16
+0/−2
Профиль |
Приват |
Поиск |
IP: Записан
|