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. |
|
26.07.2006, 13:05 | #1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
Поздравляю с переводом... |
26.07.2006, 13:20 | #2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
and_y87
Тру Кодер
offline
Опыт:
21,030Активность: |
MEXAHuK добавил: Прикольная статейка-затейка! |
26.07.2006, 15:32 | #3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Blackdoom
offline
Опыт:
1,973Активность: |
Bloody_Chainsaw файл этот есть в любой винде, начиная с 95!! Качать надо только слк!
смотри выше: 1. если винда стоит не на С, измени слк 2. проверь реестр 3. проверь, чтобы слк лежал в папке варика\ui\soundinfo\ |
26.07.2006, 17:15 | #4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
and_y87
Тру Кодер
offline
Опыт:
21,030Активность: |
Однако гемор... |
27.07.2006, 02:30 | #5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Blackdoom
offline
Опыт:
1,973Активность: |
Ахтунг! лечим гемор! Вместо карты и остального я выложил инсталяционный экзешник, который сам все сделает. Единственное что ему надо - внимательно укажите ему директорию с Варом.
ехе никакого вредного контента НЕ несет!!! ссылка на него, еще раз Цитата:
ты о чем!? Отредактировано Blackdoom, 27.07.2006 в 16:27. |
|
27.07.2006, 12:03 | #6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Sir Lothar
offline
Опыт:
5,740Активность: |
Цитата:
Оно и видно. Файла-то нет... |
|
27.07.2006, 13:05 | #7
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Алексей
Где кошачья мята?!
offline
Опыт:
26,543Активность: |
Я попробовал было создать MIDI-файл, который мог бы нормально проигрываться стандартными DLS War'а, но не тут-то было. Они вместо инструментов содержат всякую дрянь: карканье ворон, шорох снега и т.п. |
17.08.2006, 20:16 | #8
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
Лол...
Близам просто не нужно было делать инструменты так как миди не было предназначено для музыки. |
18.08.2006, 03:20 | #9
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Blackdoom
offline
Опыт:
1,973Активность: |
Ни у кого не появилось мыслей по поводу того, КАК они сделали свои dls? |
25.09.2006, 18:15 | #10
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Iron
Листовой
offline
Опыт:
24,427Активность: |
1)А реестр трогать обязательно? А то я так и не понял, что он через реестр ищет.
2)Зачем кидать слк в ui\soundinfo? Лучше импортнуть его в карту прописав путь ui\soundinfo\ Iron добавил: Все, с реестром допер. Но имхо это мелочь, но фатальная мелочь. Т.е. такую карту на DL ONLY в батле не распространишь, ибо большенство юзеров не будут гемориться переписывая реестр. |
04.10.2006, 13:24 | #11
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
MapMan
Corey 8 Taylor
offline
Опыт:
21,554Активность: |
Цитата:
|
|
04.10.2006, 15:46 | #12
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
DanFi
offline
Опыт:
7,220Активность: |
А всё-таки, ка-же проигрывать миди в варе?
Архивы все поврежденны ! DanFi добавил: Мне очень надоооо.... |
22.10.2006, 10:33 | #13
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
bladehamster
offline
Опыт:
3,660Активность: |
Это все равно г-о, тк у абсолютного большинства игроеов нестоит этот великолепный мод |
25.10.2006, 09:28 | #14
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
vit
кааааррл
offline
Опыт:
3,586Активность: |
отличная затея для кампаний, для мультиплеера уг.. |
07.11.2009, 12:26 | #15
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
LordSerga
offline
Опыт:
3,809Активность: |
MEXAHuK:
Я бы за такой смайл морду бы оторвал =) нелюблю я эти европейские смайлы |
11.04.2010, 13:29 | #16
+0/−2
Профиль |
Приват |
Поиск |
IP: Записан
|