Popular Post night_dragon_on Posted May 28, 2016 Popular Post Share Posted May 28, 2016 (edited) Эта тема - продолжение устаревшего обсуждения. Актуально для патча 1.14.0.x Обратите внимание: ◉ В данной теме обсуждаем изменение стандартной озвучки игрового клиента. ◉ Примеры из данной темы не перетирают оригинальные игровые файлы, для их удаления достаточно очистить папку с модификациями клиента. ◉ При оформлении вашего сообщения скриншоты и код прикладывайте "под спойлером". ◉ При описании проблемы с озвучкой прикрепляем логи из корневой папки игры: файл python.log 1. Создание звукового банка (контейнера), *.bnk 1) Скачиваем дистрибутив редактора Wwise, распаковываем, запускаем. Обратите внимание: Версия ПО Wwise Authoring должна совпадать с той что находится в разделе: "Дистрибутив редактора Wwise" Клиент поддерживает собранный банк (контейнер) только из под определенной версии редактора. 2) Создаем новый проект (снимаем галки в разделе "Import assets to project", вводим название проекта в поле "Name": 3) Проект открыт, переходим во вкладку "SoundBanks": 4) Создаем новый банк (контейнер): 5) Вводим название и убеждаемся с создании банка (контейнера), внимание - название банка (контейнера) можно редактировать только непосредственно в редакторе, при последующем переименововании собранного банка (контейнера) он потеряет свой функционал: 6) Переходим во вкладку "Audio", в разделе "Actor-Mixer Hierarchy" создаем новую группу. Правой кнопкой мыши находим его во всплывающем меню, выбираем пункт "Actor-Mixer": 7) Создаем группы для каждого вида звуков в клиенте: "gui" - интерфейс "vehicles" - техника "voice" - голосовые уведомления "effects" - эффекты "ambient" - окружающая среда "music" - музыка в бою "music_hangar"- музыка в ангаре 8) Теперь зададим зависимость громкости проигрываемых звуков от положения ползунков в игровом клиенте: 9) Переходим во вкладку "Game Syncs". Добавляем новую группу с наименованием "Settings" в категории "Game Parameters". Правой кнопкой мыши на группе "Settings" открываем окно создания параметра, выбираем пункт "Game Parameter": 10) Создаем пункты под каждый ползунок присутствующий в меню клиента, а именно: RTPC_ext_menu_volume_master RTPC_ext_menu_volume_gui RTPC_ext_menu_volume_vehicles RTPC_ext_menu_volume_voice RTPC_ext_menu_volume_ambient RTPC_ext_menu_volume_effects RTPC_ext_menu_volume_music RTPC_ext_menu_volume_music_hangar 11) Левой кнопкой мыши выбираем один из пунктов для его настройки. Задаем параметры минимального, максимального и дефолтного уровня громкости. Проделываем аналогичную операцию для остальных пунктов: 12) Переходим во вкладку "Audio". Далее мы будем описывать добавление звукового файла оповещения перезарядки орудия, он относится к категории "интерфейс". Два раза кликаем левой кнопкой мыши на группе "gui" открылось окно параметров воспроизведения: 13) Переходим во вкладку "RTPC": 14) Создаем два параметра "Voice Volume": 15) Одному присваиваем нашу ранее созданную клиентскую зависимость "gui", другой привязываем к общему ползунку "master": 16) Зависимость громкости проигрываемого звука от положения ползунков в игровом клиенте добавлена: 17) Аналогичные операции проделываем для оставшихся групп, после присвоения свойств в окне "Contents Editor" возле каждой группы будет подсвечен голубой знак: 18) Добавляем звуковые файлы, левой кнопкой мыши нажимаем на группу: 19) Нажимаем кнопку "Add Files": 20) Выбираем звуковые файлы на диске: 21) Убеждаемся в добавлении звука: 22) Название автоматически создается по названию аудио файла на диске, при необходимости можно изменить: 23) Переходим во вкладку "Events": 24) Создаем новое событие: 25) Вводим название (продолжаем создание события перезарядки орудия): Обратите внимание: Название события выбирается таким образом чтобы оно не совпадало с клиентским. К примеру стандартное наименование события для перезарядки орудия выглядит так: gun_reloaded Чтобы отделить стандартное клиентское событие от созданного нами в его названии достаточно добавить приставку или окончание. Далее все примеры в теме будут описаны с единой приставкой "SM_", вы вправе выбрать любое приемлемое для себя, все ограничивается лишь вашей фантазией: SM_gun_reloaded mod_gun_reloaded audio_gun_reloaded gun_reloaded_mod gun_reloaded_audio и т.п. 26) Привязываем новосозданное событие к ранее добавленному звуковому файлу, нажимаем кнопку "Browse": 27) Выбираем звук из раздела "Actor-Mixer Hierarchy", группы "gui": 28) Проверяем привязку звука к событию в окне "Event Editor": 29) Переходим во вкладку "SoundBanks": 30) Два раза нажимаем кнопкой мыши на нашем банке (контейнере): 31) Переходим во вкладку "Events" (окно настройки банка должно быть открыто), перетаскиваем мышью наше событие в контейнер (все остальные параметры, в том числе и звук из вкладки "Audio" подхватятся автоматически: 32) Закрываем настройки банка и переходим во вкладку "ShareSets", открываем пункт "Default Conversion Settings": 33) Открываем настройки конвертации и выбираем формат сжатия банка, "Format - Vorbis" и его качество "Quality": P.S.: По умолчанию оптимальное значение выставляемого качества находится в районе от 4 до 6 единиц для проигрывания крупного банка (контейнера) с множеством количеством эвентов (событий) и звуковых файлов. Чем меньше выставляемое качество, тем меньший размер выходного файла мы получим после сборки. Далее в примере используем значение "6": 34) Переходим во вкладку "SoundBanks", нажимаем правой кнопкой мыши на нашем банке (контейнере), переходим в пункт сборки банка: 35) Банк (контейнер) собран: 36) Открываем папку созданного проекта, по умолчанию находится в папке пользователя в разделе документы, WwiseProjects: 37) Открываем папку "GeneratedSoundBanks", забираем наш готовый файл: 2. Конвертация банка (контейнера) с расширением *.bnk в контейнер *.pck 1) Проделываем операции с пункта 1 по 22 (из основной инструкции) 2) Задаем параметр "Stream" для добавленного аудио файла 3) Проделываем операции с пункта 23 по 33 (из основной инструкции) 4) Перед компиляцией проекта зададим вывод метаданных в файл .*xml 5) Переходим в пункт "Project > Project Settings": 6) Отмечаем поля "Generate Metadata File" и "Generate XML Metadata": 7) Проделываем операции с пункта 34 по 37 (из основной инструкции) 8) Далее в контексте будет использован банк (контейнер) с наименованием "SM_gun_reloaded" 9) В выходной директории собран наш банк, файл метаданных к нему и запакованные аудио файлы в формате *.wem: 10) Теперь нам нужно запустить утилиту "FilePackager.App", которая расположена по пути: {Wwise Install Folder} \ x86 \ Release \ bin \ tools \ FilePackager.App.exe {Wwise Install Folder} \ x64 \ Release \ bin \ tools \ FilePackager.App.exe 11) В открытом окне программы в разделе "Packages" удаляем дефолтный пакет: 12) В пункте "SoundsBanks Info file" указываем путь до папки с нашим банком (контейнером), выбирая файл метаданных: 13) Создаем в разделе "Packages" новый шаблон для *.bnk контейнера по наименованию нашего банка (контейнера) *.bnk 14) Выбираем в разделе "Default file assignments" наш шаблон, в параметрах "Streams" и "Streamed files": 15) В разделе "File to package" выбираем данные от нашего банка (контейнера) с префиксом "StreamedFile", нажимаем кнопку "Add to current package": 16) В пункте "Output directory" указываем путь куда будет сохранен собранный контейнер *.pck: 17) Переходим в пункт "Generate > All packages", собираем наш контейнер: 18) Открываем папку, забираем наш готовый файл: 3. Создание эвента (события) с рандомным (случайным) воспроизведением звука 1) Проделываем операции с пункта 1 по 17 (из основной инструкции) 2) В 18 пункте в группе "gui" создаем рандомный контейнер, правой кнопкой мыши находим его во всплывающем меню: 3) Контейнер создан: 4) Добавляем звуковые файлы, левой кнопкой мыши нажимаем на созданный рандомный контейнер: 5) Проделываем операции с пункта 19 по 22 (из основной инструкции) 6) Звуки добавлены: 7) Проделываем операции с пункта 23 по 26 (из основной инструкции) 8) В 27 пункте выбираем звуки из созданного рандомного контейнера 9) Звуки добавлены. 10) Проделываем операции с пункта 28 по 37 (из основной инструкции), банк (контейнер) готов. 4. Добавление своего звукового файла на события (из данных примеров) 1) Скачиваем готовый проект. 2) Скачиваем дистрибутив редактора Wwise, распаковываем, запускаем. 3) Открываем наш проект, игнорируем всплывающую ошибку о нехватке файлов в проекте (это нормально, незатронутые файлы проекта в процессе редактирования не были помещены в архив с примером, добавляются автоматически при открытии): 4) Главное окно программы: 5) Далее продемонстрирую пример замены оповещения повреждения вашей боеукладки, выбираем в списке наш файл: 6) Удаляем текущий звуковой файл привязанный к событию, левой кнопкой мыши выделяем файл в окне "Contents Editor": 7) Импортируем свой звуковой файл: 8) Нажимаем кнопку "Add Files": 9) Выбираем звуковые файлы на диске: 10) Убеждаемся в добавлении звука, нажимаем кнопку "Import": 11) Переходим во вкладку "SoundBanks", нажимаем левой кнопкой мыши на нашем банке (контейнере), переходим в пункт сборки банка: 12) Банк (контейнер) собран: 13) Открываем папку проекта, переходим в подпапку "GeneratedSoundBanks", забираем наш готовый файл: 15) Заменяем файл банка в папке "audioww" для соответствующего оповещения. 5. Снимаем ограничения бесплатной версии Wwise 1) Скачиваем лицензионный файл: wwise_license.txt 2) Импортируем его в ваш проект: 3) Переходим у пункту "Import license..." и выбираем скаченный лицензионный файл: 4) Лицензия импортирована: 5) Сохраняем проект. Дистрибутив редактора Wwise: Wwise Portable Готовые файлы проектов для Wwise-са: Wwise Project Стандартные проекты WG: Wwise WG Sourse Загрузка банка клиентом игры Загрузка стандартными средствами клиента: Для подхвата вашего банка (контейнера) игровым клиентом вы должны внести его в список конфигурационного файла: audio_mods.xml <audio_mods.xml> ... <loadBanks> <bank> <name>sound_mod.bnk</name> <priority>100</priority> </bank> </loadBanks> ... </audio_mods.xml> Где, "sound_mod.bnk" - наш банк (контейнер) который мы хотим подключить; "priority" - приоритет вашего банка (контейнера), от 0 до 100, чем он ниже тем выше шанс что он будет выгружен из памяти при ее нехватке. Банк (контейнер) должен быть помещен вместе с загрузочным файлом audio_mods.xml по пути: res_mods/X.Y.Z/audioww *. где X.Y.Z - папка с названием текущей версии игрового клиента. Загрузка в модификации XVM (eXtended Visualization Mod): Для загрузки банка (контейнера) клиентом необходимо прописать его в настройках файла модификации sounds.xc "sounds": { "soundBanks": { "battle": ["xvm://audioww/xvm.bnk", "xvm://audioww/sound_mod.bnk"], "hangar": ["xvm://audioww/xvm.bnk"] }, Добавив свой банк (контейнер) в поле "hangar" вы загрузите его в ангарном интерфейсе, в "battle" - в боевом интерфейсе. В примере наш банк с наименованием "sound_mod.bnk", который расположен по пути: res_mods/mods/shared_resources/xvm/audioww Загрузка посредством дополнения - BanksLoader: Подробные сведения можно узнать в теме автора: BanksLoader (Polyacov_Yury). Список кодов ошибок, возникающих при загрузке банка (контейнера) 0 - NotImplemented 1 - Success 2 - Fail 3 - PartialSuccess 4 - NotCompatible 5 - AlreadyConnected 6 - NameNotSet 7 - InvalidFile 8 - AudioFileHeaderTooLarge 9 - MaxReached 10 - InputsInUsed 11 - OutputsInUsed 12 - InvalidName 13 - NameAlreadyInUse 14 - InvalidID 15 - IDNotFound 16 - InvalidInstanceID 17 - NoMoreData 18 - NoSourceAvailable 19 - StateGroupAlreadyExists 20 - InvalidStateGroup 21 - ChildAlreadyHasAParent 22 - InvalidLanguage 23 - CannotAddItseflAsAChild 24 - TransitionNotFound (The transition is not in the list). 25 - TransitionNotStartable (Start allowed in the Running and Done states). 26 - TransitionNotRemovable (Must not be in the Computing state). 27 - UsersListFull (No one can be added any more - could be MaxReached). 28 - UserAlreadyInList (This user is already there). 29 - UserNotInList 30 - NoTransitionPoint 31 - InvalidParameter 32 - ParameterAdjusted 33 - IsA3DSound 34 - NotA3DSound 35 - ElementAlreadyInList 36 - PathNotFound 37 - PathNoVertices 38 - PathNotRunning 39 - PathNotPaused 40 - PathNodeAlreadyInList 41 - PathNodeNotInList 42 - VoiceNotFound 43 - DataNeeded 44 - NoDataNeeded 45 - DataReady 46 - NoDataReady 47 - NoMoreSlotAvailable 48 - SlotNotFound 49 - ProcessingOnly 50 - MemoryLeak 51 - CorruptedBlockList 52 - InsufficientMemory 53 - Cancelled 54 - UnknownBankID 55 - IsProcessing 56 - BankReadError 57 - InvalidSwitchType 58 - VoiceDone 59 - UnknownEnvironment 60 - EnvironmentInUse 61 - UnknownObject 62 - NoConversionNeeded 63 - FormatNotReady 64 - WrongBankVersion 65 - DataReadyNoProcess 66 - FileNotFound 67 - DeviceNotReady 68 - CouldNotCreateSecBuffer 69 - BankAlreadyLoaded 71 - RenderedFX 72 - ProcessNeeded 73 - ProcessDone 74 - MemManagerNotInitialized 75 - StreamMgrNotInitialized 76 - SSEInstructionsNotSupported 77 - Busy 78 - UnsupportedChannelConfig 79 - PluginMediaNotAvailable 80 - MustBeVirtualized 81 - CommandTooLarge 82 - RejectedByFilter 83 - InvalidCustomPlatformName Примеры озвучек: Расшифровка названий примеров SM_sixthsense Озвучка перка "Шестое чувство" Озвучка перка "Шестое чувство" (таймер засвета) Озвучка перка "Шестое чувство" (оповещение голосом) Озвучка перка "Шестое чувство" (оповещение голосом, таймер засвета) SM_fire_started Оповещение о пожаре (техники игрока) SM_ammoBay Повреждение БК (боеукладки, игрока) SM_enemySighted Обнаружение противника на миникарте Обнаружение противника на миникарте (оповещение голосом) SM_crit_damaged Повреждение модуля (гусеница, орудие) противника Повреждение модуля (гусеница, орудие) противника (оповещение голосом) SM_gun_reloaded Окончание перезарядки орудия SM_gun_intuition Озвучка перка "Интуиция" SM_sight_convergence Окончание сведения орудия SM_enemy_killed Уничтожение противника (вами) Установка озвучки в клиент Несколько способов установки на выбор: 1. Установка с помощью комплексной модификации XVM 2. Установка с помощью "audio_mods.xml" (пример под спойлером). 1. Скачиваем конфигурационный файл: audio_mods.xml 2. Скачиваем архив с выбранной вами озвучкой (из раздела "Примеры озвучек") 3. Содержимое папки архива "audioww" переносим в папку модификаций клиента: "res_mods / X.Y.Z / audioww" *. где X.Y.Z - папка с названием текущей версии игрового клиента. 4. В конфигурационном файле, audio_mods.xml - прописываем загрузку банка (контейнера) из выбранной озвучки: * подробно о загрузке банка (контейнера) расписано в разделе "Загрузка банка клиентом игры" <audio_mods.xml> ... <loadBanks> <bank> <name>sound_mod.bnk</name> <priority>100</priority> </bank> </loadBanks> ... </audio_mods.xml> 5. В конфигурационном файле, audio_mods.xml - прописываем подмену стандартного эвента (события) на пользовательский из выбранной озвучки: Добавляемый код Добавляем подмену события в секцию events: <!-- Sound Events --> <events> <event> <name>eventName</name> <mod>eventNameMod</mod> </event> </events> eventName - заменяемое стандартное событие клиентаeventNameMod - пользовательское событие, добавленное в банк (контейнер) В зависимости от нужного оповещения: sixthSense ... <!-- Sound Events --> <events> <event> <name>lightbulb</name> <mod>SM_sixthSense</mod> </event> </events> ... sixthSense (timer) ... <!-- Sound Events --> <events> <event> <name>lightbulb</name> <mod>SM_sixthSense_timer</mod> </event> </events> ... sixthSense (voice) ... <!-- Sound Events --> <events> <event> <name>lightbulb</name> <mod>SM_sixthSenseVoice</mod> </event> </events> ... sixthSense (voice, timer) ... <!-- Sound Events --> <events> <event> <name>lightbulb</name> <mod>SM_sixthSenseVoice_timer</mod> </event> </events> ... fire_started ... <!-- Sound Events --> <events> <event> <name>vo_fire_started</name> <mod>SM_fire_started</mod> </event> </events> ... ammo_Bay ... <!-- Sound Events --> <events> <event> <name>vo_ammo_bay_damaged</name> <mod>SM_ammo_Bay</mod> </event> </events> ... enemySighted ... <!-- Sound Events --> <events> <event> <name>enemy_sighted_for_team</name> <mod>SM_enemySighted</mod> </event> </events> ... enemySighted (voice) ... <!-- Sound Events --> <events> <event> <name>enemy_sighted_for_team</name> <mod>SM_enemySightedVoice</mod> </event> </events> ... crit_damaged ... <!-- Sound Events --> <events> <event> <name>vo_enemy_hp_damaged_by_projectile_and_chassis_damaged_by_player</name> <mod>SM_crit_damaged</mod> </event> <event> <name>vo_enemy_hp_damaged_by_projectile_and_gun_damaged_by_player</name> <mod>SM_crit_damaged</mod> </event> <event> <name>vo_enemy_no_hp_damage_at_attempt_and_chassis_damaged_by_player</name> <mod>SM_crit_damaged</mod> </event> <event> <name>vo_enemy_no_hp_damage_at_attempt_and_gun_damaged_by_player</name> <mod>SM_crit_damaged</mod> </event> <event> <name>vo_enemy_no_hp_damage_at_no_attempt_and_chassis_damaged_by_player</name> <mod>SM_crit_damaged</mod> </event> <event> <name>vo_enemy_no_hp_damage_at_no_attempt_and_gun_damaged_by_player</name> <mod>SM_crit_damaged</mod> </event> </events> ... crit_damaged (voice) ... <!-- Sound Events --> <events> <event> <name>vo_enemy_hp_damaged_by_projectile_and_chassis_damaged_by_player</name> <mod>SM_crit_damaged_chassis</mod> </event> <event> <name>vo_enemy_hp_damaged_by_projectile_and_gun_damaged_by_player</name> <mod>SM_crit_damaged_gun</mod> </event> <event> <name>vo_enemy_no_hp_damage_at_attempt_and_chassis_damaged_by_player</name> <mod>SM_crit_damaged_chassis</mod> </event> <event> <name>vo_enemy_no_hp_damage_at_attempt_and_gun_damaged_by_player</name> <mod>SM_crit_damaged_gun</mod> </event> <event> <name>vo_enemy_no_hp_damage_at_no_attempt_and_chassis_damaged_by_player</name> <mod>SM_crit_damaged</mod> </event> <event> <name>vo_enemy_no_hp_damage_at_no_attempt_and_gun_damaged_by_player</name> <mod>SM_crit_damaged</mod> </event> </events> ... gun_reloaded Начиная с патча 1.0 из клиента убрано стандартное событие окончания перезарядки орудия, для возвращения функционала вам помимо установки банка (контейнера) нужно установить небольшой скрипт: gunReloaded.wotmod ... <!-- Sound Events --> <events> <event> <name>gun_reloaded</name> <mod>SM_gun_reloaded</mod> </event> </events> ... gun_intuition ... <!-- Sound Events --> <events> <event> <name>gun_intuition</name> <mod>SM_gun_intuition</mod> </event> </events> ... sight_convergence ... <!-- Sound Events --> <events> <event> <name>sight_convergence</name> <mod>SM_sight_convergence</mod> </event> </events> ... enemy_killed ... <!-- Sound Events --> <events> <event> <name>vo_enemy_killed_by_player</name> <mod>SM_enemy_killed</mod> </event> </events> ... 6. Отредактированный файл audio_mods.xml размещаем в директории с банком (контейнером) : "res_mods / X.Y.Z / audioww" 4. Установка с помощью дополнения - BanksLoader (Polyacov_Yury). 5. Установка с помощью редактирования оригинальных XML-документов (старый/неактуальный способ). Скачать SM_sixthSense.zip SM_fire_started.zip SM_ammo_bay.zip SM_enemySighted.zip SM_crit_damaged.zip SM_gun_reloaded.zip SM_gun_intuition.zip SM_sight_convergence.zip SM_enemy_killed.zip Ответы на часто задаваемые вопросы: F.A.Q. Q: Файлы какого формата можно упаковать в банк (контейнер) звуков? A: Программа Wwise поддерживает входные файлы следующих форматов: *.wav, *.mid Q: Как прослушать и извлечь звуковые файлы из альтернативной готовой озвучки (либо стандартные звуки) из банков (контейнеров)?A: Процесс распаковки звуковых файлов изложен ниже под спойлером. 1. Для начала нам понадобится программа: RavioliGameTools_v2.10.zip 2. Скачиваем и распаковываем (для работы программы понадобится наличие .NET Framework 4.5.1). 3. Открываем нужный вам звуковой банк в программе (RExplorer). 4. После нахождения нужного вам звука отмечаем его и переходим в меню "Extract", выбираем папку для извлекаемого файла и необходимый формат (*.wav или *.ogg). В случае если извлеченный вами звуковой файл *.wav не проигрывается плеером. При этом при открытии в окне программы RavioliGameTools выводится ошибка поддержки формата: "Sound conversion failed (FMOD error! ERR_FORMAT - Unsupported file or audio format. ). Extracting file without conversion." Вам может помочь последующая конвертация звуковых файлов: 1. Скачиваем архив: convert_IMA_ADPCM.zip 2. Распаковать содержимое архива в папку с извлеченными из банка (контейнера) *.wav файлами. 3. Запустить .bat файл дождаться завершение операции. 4. Файлы перекодированы. Q: Переименовал банк (контейнер) теперь звуки не воспроизводятся?A: Редактировать название банка (контейнера) можно только в процессе его создания в Wwise-се Q: Добавил свой эвент (событие) в банк (контейнер), прописываю его в конфигурационном файле, а в клиенте звук воспроизводится стандартный?A: Названия эвентов (событий) прописываемые при создании банка (контейнера) не должны совпадать с клиентскими, добавляйте приставку или окончание в начале своего эвента (события), например: gun_reloaded >>> SM_gun_reloaded Полезные ссылки: Замена звуков - Звуки на различные события - Компоненты XVM Коммуникация между клиентом WoT и WWISE Authoring Tools BankPlayer - альтернативный проигрыватель для банков (контейнеров) от D2R52-та BankJoin - программа для объединения нескольких банков в один от D2R52-та Учебник по работе с Wwise-сом состоящий из семи уроков (на английском языке). Наработки пользователей в теме ◉ @D2R52 - Авторские утилиты для проектирования и работы с озвучкой, полезная информация - #329704 ◉ @EagleB3 - Временные копии проекта, кеш обработки входных файлов проекта - #332020 ◉ @EagleB3 - Остановка проигрывания контейнера - #332357 , #332390 ◉ @EagleB3 - Эвенты (события) для экрана логина - #334414 ◉ @EagleB3 - Заметки по музыке в проекте 1.0 - #425277 Edited August 11, 2021 by night_dragon_on 📌 Обновление ... 39 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Andre_V Posted May 28, 2016 Share Posted May 28, 2016 @ Quote Link to comment Short link Share on other sites More sharing options...
D2R52 Posted May 28, 2016 Share Posted May 28, 2016 (edited) Полезные программы 'Объединение банков - BankJoin' Экспериментальная программа для объединения нескольких банков в один: BankJoin.zip Работает в командной строке, параметры - имена файлов с банками. BankJoin.exe bank1.bnk bank2.bnk bank3.bnk ...Первый банк становится основным, т.е. берется его название, ID, звуки и события и к ним добавляются звуки и события из других банков. Объединенный файл сохраняется с именем основного банка + .join. Желательно использовать банк с наибольшим кол-вом событий и звуков как основной.Для успешной работы объединяемые банки должны быть сгенерированы из одного проекта, и чем проект проще - тем лучше (без лишних структур, эффектов и т.д.)Корректная работа проверена на нескольких озвучках, но не гарантируется. 'Проигрыватель событий Wwise - BankPlayer' Программа, для проигрывания событий из банков wwise, с использованием wwise sdk, т.о. достигается результат максимально приближенный к игре. Кроме того, если известно имя события, то оно отображается при выборе банка.Написана на скорую руку, почему-то не получается проиграть события из некоторых банков, но главное для меня - voiceover работает.Для запуска нужен .net 4 и с++ runtime 2013 x86.После запуска читает файл с названиями событий из своего каталога (events.txt) и считает их хэши, для поиска в банках.Кнопкой Load выбирается каталог где лежит Init.bnk После чего двойным щелчком по имени события оно запускается.При выборе конкретного банка показываются найденные в нем события. Кнопка Export позволяет сохранить найденные в банках события в файл bank_events.txt BankPlayer.zip 'Mods for modders - bank load, event mapping, etc.' Link to EU forum Микро-моды для загрузки банков, переназначения событий, и т.д. SoundBankLoader.zip SoundEventsMapper.zip ChatCommandsVoice.zip AdvancedBankLoader.zip mod_soundUtils_0.9.15.1.zip (загрузка банков и переназначение звуков с json конфигурацией совместно с night_dragon_on) 'BNK fromat FAQ' Что представляет собой bnk файл? Это контейнер, содержащий различные события, которые могут быть вызваны игрой по имени или по номеру, также может содержать аудиопотоки. События хранятся в иерархической структуре: 1) Событие ( game_start ), содержит 1 или более действий 2) Действие (Play, Stop, Mute, …) ссылается на объект 3) Объект – может быть контейнером, звуковым эффектом a. Контейнер (Случайный, Последовательный, …) содержит 1 или более звуковых эффектов b. Звуковой эффект – ссылается на аудиопоток 4) Аудиопоток – собственно звук, может быть внедрен в банк, может лежать отдельно в виде файла, может быть упакован в pck файл Можно ли узнать имена событий, имея только bnk файл? Имена событий не хранятся в банках. Каждое событие и каждый объект в банке должен иметь уникальный номер ID (0 … 4,294,967,295). Для вычисления ID событий используется хэш функция FNV (https://ru.wikipedia.org/wiki/FNV) от имени события в нижнем регистре. Для подбора имени события приходится идти «от противного» - составлять список названий, вычислять их хэши, и сравнивать с номерами событий в банках. Более подробно о структуре bnk файла Файл состоит из секций, каждая имеет свой заголовок. 1) 4 байта – имя секции (BKHD, DIDX, DATA, HIRC, и др.) 2) uint32 длина секции 3) Данные Секция BKHD – bank header 1) 42 4B 48 44 -- BKHD 2) uint32: длина секции 3) uint32: номер версии банка (в WoT 0x71) 4) uint32: id банка, = FNV32(bankname) Секция DIDX – data index Это список звуковых потоков ( .wem файлов) упакованных в банк. 1) 44 49 44 58 -- DIDX 2) uint32: длина секции 3) Для каждого файла: 4) uint32: .wem id 5) uint32: смещение в секции DATA 6) uint32: длина .wem файла в байтах Секция DATA – звуковые потоки (wem файлы) 1) 44 41 54 41 -- DATA 2) uint32 длина секции 3) Для каждого файла: 4) Массив байт длиной из секции DIDX , начинается с байтов 52 49 46 46 - RIFF. Секция HIRC – иерархия объектов 1) 48 49 52 43 -- HIRC 2) uint32: длина секции 3) uint32: число объектов 4) Для каждого объекта 5) byte: тип объекта 6) uint32: длина объекта 7) uint32: id объекта 8) byte[]: данные 'Использование памяти и оптимизация' С выходом 0.9.15 некоторые озвучки перестали работать (совсем) или стали работать нестабильно. У меня такое произошло с тестовой озвучкой Duke Nukem, которая замечательно работала в 9.14 и 9.14.1 Симптомы: а) при загрузке банка с озвучкой возникает ошибка 52, звуков нет совсем б) в начале игры звуки есть, а потом они пропадают. При этом в логах можно видеть ту же самую ошибку 52 - недостаточно памяти. INFO: [SOUND_ERROR] Cannot prepare sound bank: voiceover1.bnk. Code: 52 INFO: [SOUND_ERROR] Cannot prepare sound bank: voiceover2.bnk. Code: 52 и INFO: [SOUND_ERROR] Sound fail: 85617264 Code: 52 INFO: [SOUND_ERROR] Sound fail: 1122640859 Code: 52 Подробности под катом Что пишут по этому поводу на сайте разработчика звукового движка? Wwise использует два пула памяти: Default: Пул общего использования для звуковых структур высокого уровня. При загрузке банков, сюда попадают все не-WAV данные - это игровые объекты, события и связанные с ними позиции и структуры данных RTPC. Он также содержит очередь команд, где события накапливаются перед обработкой звукового потока. Lower engine: Основной аудио пул обработки звукового конвейера, по существу пустой, когда ничего не играет. Здесь выделяются все промежуточные буферы обработки для таких вещей, как декомпрессия, преобразования формата, обработки эффектов и смешивания. По умолчанию размер каждого пула: 16 МБ в пуле памяти по умолчанию16 МБ Lower engine Какой размер использовать? В большинстве случаев, лучше всего начать с использованием размера по умолчанию (16 Мб на пул). Имея такие большие размеры пула, вы можете легко выяснить, каково ваше реальное использование памяти, а затем вы можете урезать пулы соответственно. Что у нас в engine_config.xml? <memoryManager> <defaultPool> 12 </defaultPool> <lowEnginePool> 8 </lowEnginePool> <preparedPool> 106 </preparedPool> <streamingPool> 2 </streamingPool> <IOPoolSize> 4 </IOPoolSize> </memoryManager> Размер буфера проигрывания и обработки уменьшен в 2 раза, дефолтный буфер тоже урезан... Причины повышенного использование памяти Следующие элементы могут вызвать высокое использование памяти: Загрузка банков увеличивает использование пула памяти по умолчанию. Обратите внимание, что каждый банк использует различное количество памяти. Память, используемая банком в пуле памяти по умолчанию не зависит от физического размера банка, но зависит от количества звуков и событий, которые он содержит. Некоторые эффекты, включая реверберация и задержка, потребляют определенное количество памяти при воспроизведении. Воспроизведение нескольких звуков одновременно резко увеличивает объем памяти, используемой в нижнем пуле системы. Отправка нескольких действий в короткий промежуток времени, увеличивает использование памяти в пуле по умолчанию. Регистрация игровых объектов, установка "на объект" параметров, и настройка позиции объекта используют небольшое количество памяти в пуле по умолчанию. Тем не менее, следует помнить, что неиспользованные игровые объекты должны быть дерегистрированны, чтобы освободить эту память. В противном случае, объем используемой памяти постоянно увеличивается. Если мы посмотрим на озвучку, то размер банка не превышает типичные размеры банков озвучки (4-12 Мб). Но он содержит более длинные звуки, и они начинают накладываться друг на друга, что вероятно "резко увеличивает объем памяти, используемой в нижнем пуле системы"... При увеличении размера буферов до рекомендуемых размеров (по умолчанию) все приходит в норму. <memoryManager> <defaultPool> 16 </defaultPool> <lowEnginePool> 16 </lowEnginePool> <preparedPool> 106 </preparedPool> <streamingPool> 8 </streamingPool> <IOPoolSize> 8 </IOPoolSize> </memoryManager> Может быть надо писать в ВГ с просьбой эти параметры увеличить? Мои выводы Настройки по-умолчанию: defaultPool 12 Мб - используется для хранения информации о событиях, эффектах, структуре банков. Надо увеличивать при загрузке большого кол-ва банков или банков с большим кол-вом событий. Размер файла одного банка не связан с этим параметром напрямую, так как сами медиа файлы грузятся в отдельный буфер. lowEnginePool 8 - используется для распаковки и хранения звуков при проигрывании, наложении эффектов, задержек, и т.д. Надо увеличивать если проигрывается много звуков одновременно, если звуки длинные, с большой частотой дискретизации. КМК, роль играет размер WAV файлов до упаковки. preparedPool 106 - размер буфера для звуков с использованием Implicit Bank Loading / PrepareEvents, в.т.ч. звуков из pck файлов. streamingPool 2 - размер буфера для потокового звука, например музыки и звуков из pck файлов. При использовании своей озвучки размеры надо увеличивать, можно начать с рекомендованных 16 /16. 'Списки событий' 0.9.15.01 - 0.9.15.01_bank_events.txt 0.9.15.0.1 - updated 18.06.16 0.9.15.0.1s_bank_events.txt 0.9.15.0.1 - 0.9.15.01_banks_dump.txt 0.9.15.1 CT - 0.9.15.1_CT_bank_events.txt 0.9.15.1 CT - 0.9.15.1_CT1_bank_events.txt - updated utility.bnk names Edited July 30, 2016 by D2R52 7 @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted May 28, 2016 Author Share Posted May 28, 2016 (edited) Альтернативный способ установки ►Загрузка банка клиентом игры Загрузка стандартными средствами клиента: Для подхвата вашего банка (контейнера) игровым клиентом вы должны внести его в список конфигурационного файла engine_config.xml: <SFX_soundbanks_loadonce> ... <project> <name>sound_mod.bnk</name> </project> ... </SFX_soundbanks_loadonce> В примере наш банк с наименованием "sound_mod.bnk", который расположен по пути: res_mods/X.Y.Z/audioww *. где X.Y.Z - папка с названием версии игрового клиента Параметр "defaultPool" - отвечает за ограничение размера загружаемого банка клиентом (по умолчанию выставлен порог в 12 Мб), если ваш звуковой банк превышает данный порог измените это значение. <defaultPool> 12 </defaultPool> Q: Как установить озвучку в клиент?A: Установка с помощью редактирования оригинальных XML-документов 1. Нам понадобятся два конфигурационный файла, достаем их непосредственно из клиента: res / engine_config.xml res / packages / gui.pkg / gui / sound_notifications.xml Декодируем их с помощью программы: PjOrion WOT-Client > Unpack XML > Unpack file ... 2. Скачиваем архив с выбранной вами озвучкой (из раздела "Примеры озвучек") 3. Содержимое папки архива "audioww" переносим в папку модификаций клиента: "res_mods / 0.X.Y / audioww" 4. В конфигурационном файле, engine_config.xml - прописываем загрузку банка (контейнера) из выбранной озвучки: * подробно о загрузке банка (контейнера) расписано в разделе "Загрузка банка клиентом игры" <SFX_soundbanks_loadonce> ... <project> <name>SM_gun_reloaded.bnk</name> </project> ... </SFX_soundbanks_loadonce> 5. В конфигурационном файле, sound_notifications.xml - прописываем загрузку эвента (события) из выбранной озвучки: * заменяем содержимое оригинальных полей на модифицированные Оригинальное значение поля 'sixthsense' <sound_notifications.xml> ... <observed_by_enemy> <fx> <wwsound> lightbulb </wwsound> </fx> </observed_by_enemy> ... </sound_notifications.xml> 'fire_started' <sound_notifications.xml> ... <fire_started> <voice> <wwsound> vo_fire_started </wwsound> </voice> </fire_started> ... </sound_notifications.xml> 'ammo_Bay' <sound_notifications.xml> ... <ammo_bay_damaged> <voice> <wwsound> vo_ammo_bay_damaged </wwsound> </voice> </ammo_bay_damaged> ... </sound_notifications.xml> 'enemySighted' <sound_notifications.xml> ... <enemy_sighted_for_team> <fx> <wwsound> enemy_sighted_for_team </wwsound> </fx> </enemy_sighted_for_team> ... </sound_notifications.xml> 'crit_damaged' 1 раздел <sound_notifications.xml> ... <enemy_hp_damaged_by_projectile_and_chassis_damaged_by_player> <voice> <wwsound> vo_enemy_hp_damaged_by_projectile_and_chassis_damaged_by_player </wwsound> </voice> </enemy_hp_damaged_by_projectile_and_chassis_damaged_by_player> ... </sound_notifications.xml> 2 раздел <sound_notifications.xml> ... <enemy_hp_damaged_by_projectile_and_gun_damaged_by_player> <voice> <wwsound> vo_enemy_hp_damaged_by_projectile_and_gun_damaged_by_player </wwsound> </voice> </enemy_hp_damaged_by_projectile_and_gun_damaged_by_player> ... </sound_notifications.xml> 3 раздел <sound_notifications.xml> ... <enemy_no_hp_damage_at_attempt_and_chassis_damaged_by_player> <voice> <wwsound> vo_enemy_no_hp_damage_at_attempt_and_chassis_damaged_by_player </wwsound> </voice> </enemy_no_hp_damage_at_attempt_and_chassis_damaged_by_player> ... </sound_notifications.xml> 4 раздел <sound_notifications.xml> ... <enemy_no_hp_damage_at_attempt_and_gun_damaged_by_player> <voice> <wwsound> vo_enemy_no_hp_damage_at_attempt_and_gun_damaged_by_player </wwsound> </voice> </enemy_no_hp_damage_at_attempt_and_gun_damaged_by_player> ... </sound_notifications.xml> 5 раздел <sound_notifications.xml> ... <enemy_no_hp_damage_at_no_attempt_and_chassis_damaged_by_player> <voice> <wwsound> vo_enemy_no_hp_damage_at_no_attempt_and_chassis_damaged_by_player </wwsound> </voice> </enemy_no_hp_damage_at_no_attempt_and_chassis_damaged_by_player> ... </sound_notifications.xml> 6 раздел <sound_notifications.xml> ... <enemy_no_hp_damage_at_no_attempt_and_gun_damaged_by_player> <voice> <wwsound> vo_enemy_no_hp_damage_at_no_attempt_and_gun_damaged_by_player </wwsound> </voice> </enemy_no_hp_damage_at_no_attempt_and_gun_damaged_by_player> ... </sound_notifications.xml> 'gun_reloaded' <sound_notifications.xml> ... <gun_reloaded> <fx> <wwsound> gun_reloaded </wwsound> </fx> </gun_reloaded> ... </sound_notifications.xml> 'gun_intuition' <sound_notifications.xml> ... <gun_intuition> <fx> <wwsound> gun_intuition </wwsound> </fx> </gun_intuition> ... </sound_notifications.xml> 'sight_convergence' <sound_notifications.xml> ... <sight_convergence> <fx> <wwsound> sight_convergence </wwsound> </fx> </sight_convergence> ... </sound_notifications.xml> 'enemy_killed' <sound_notifications.xml> ... <enemy_killed_by_player> <voice> <wwsound> vo_enemy_killed_by_player </wwsound> </voice> </enemy_killed_by_player> ... </sound_notifications.xml> Модифицированное значение поля Заменяем ссылку в разделе: <wwsound> "стандартная ссылка" </wwsound> На свою в зависимости от нужного оповещения: 'sixthsense' <wwsound> SM_sixthSense </wwsound> 'sixthsense (timer)' <wwsound> SM_sixthSense_timer </wwsound> 'sixthsense (voice)' <wwsound> SM_sixthSenseVoice </wwsound> 'sixthsense (voice, timer)' <wwsound> SM_sixthSenseVoice_timer </wwsound> 'fire_started' <wwsound> SM_fire_started </wwsound> 'ammo_Bay' <wwsound> SM_ammo_Bay </wwsound> 'enemySighted' <wwsound> SM_enemySighted </wwsound> 'enemySighted (voice)' <wwsound> SM_enemySightedVoice </wwsound> 'crit_damaged' 1 и 6 раздел SM_crit_damaged 'crit_damaged (voice)' 1 и 3 раздел SM_crit_damaged_chassis 2 и 4 раздел SM_crit_damaged_gun 5 и 6 раздел SM_crit_damaged 'gun_reloaded' <wwsound> SM_gun_reloaded </wwsound> 'gun_intuition' <wwsound> SM_gun_intuition </wwsound> 'sight_convergence' <wwsound> SM_sight_convergence </wwsound> 'enemy_killed' <wwsound> SM_enemy_killed </wwsound> 6. После того как вы закончили редактирование конфигурационных файлов, разместите их в директории с модификациями по пути: res_mods / X.Y.Z / engine_config.xmlres_mods / X.Y.Z / gui / sound_notifications.xml *. где X.Y.Z - папка с названием версии игрового клиента Edited June 19, 2019 by night_dragon_on 2 @ Quote Link to comment Short link Share on other sites More sharing options...
xasic Posted May 29, 2016 Share Posted May 29, 2016 Всем привет. В мануале появился новый пункт касательно перепаковки из bnk в pck. Именно так ВГ сам делает. Автор, если знаешь, насколько этот пункт важен для банков средних и больших размеров как по весу, так и по количеству звуковых файлов внутри? @ Quote Link to comment Short link Share on other sites More sharing options...
D2R52 Posted May 29, 2016 Share Posted May 29, 2016 В мануале появился новый пункт касательно перепаковки из bnk в pck. Автор, если знаешь, насколько этот пункт важен для банков средних и больших размеров как по весу, так и по количеству звуковых файлов внутри? Судя по документации, создание банков в которых медиа файлы помещены в pck: Не решат проблемы с банками с большим кол-вом звуков, событий - нехваткой defaultPool (12 Мб) так как место в нем тратится на сами события, эффекты и иерархию банков. Возможно, решит проблемы с нехваткой Media memory pool - A general usage pool that contains a copy of the media files contained on the disk. так как streamed media не грузится в память при загрузке банка, а грузится с диска только при необходимости проигрывания. Т.е. для музыки и объемных длительных звуков. @ Quote Link to comment Short link Share on other sites More sharing options...
nikitka78 Posted May 29, 2016 Share Posted May 29, 2016 Что-то попробывал сам нефига не получилось.Кто поможет звук лампочки новый сделать из моего файла wavЖелательно уменьшить громкость на 6-10дц, и наложить таймер в добавок Lampa.wav Все не надо разобрался сам.Во всяком случае с лампой сложного ничего нет @ Quote Link to comment Short link Share on other sites More sharing options...
EagleB3 Posted June 1, 2016 Share Posted June 1, 2016 (edited) Возможно, решит проблемы с нехваткой Media memory pool - A general usage pool that contains a copy of the media files contained on the disk. так как streamed media не грузится в память при загрузке банка, а грузится с диска только при необходимости проигрывания. Т.е. для музыки и объемных длительных звуков. А...Э... В engine_config.xml (WOT) нет ничего напрямую похожего на Media memory pool. Есть: <defaultPool> <lowEnginePool> <preparedPool> <streamingPool> <IOPoolSize> Кто из них? Может быть это preparedPool? А нет ли инфы, что это за файл (copy of the media files) и в какой директории он создается? Edited June 1, 2016 by EagleB3 @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted June 1, 2016 Author Share Posted June 1, 2016 (edited) и в какой директории он создается? Распакованные звуки из контейнера хранятся в системной директории для временных файлов для банков с расширением *.bnk А в случае с контейнером *.pck они воспроизводятся непосредственно из него без распаковки во временную директорию. Если я ошибся в сказанном @D2R52 меня поправит. Edited June 1, 2016 by night_dragon_on @ Quote Link to comment Short link Share on other sites More sharing options...
D2R52 Posted June 1, 2016 Share Posted June 1, 2016 А в случае с контейнером *.pck они воспроизводятся непосредственно из него без распаковки во временную директорию. Да вроде бы все так. В движке есть функция (грубо говоря wwise.LoadPackage(pckName)) которая позволяет загрузить содержимое контейнера, после чего все другие операции (загрузка банка, проигрывание звука) могут работать и с файами внутри этого контейнера. Я думаю, что никакой загрузки в память при этом не происходит, просто двуижок при поиске файлов начинает учитывать pck контейнер, как обычный каталог. В ВГшных pck хранятся только звуки, а соответствующие события хранятся в bnk с тем же именем. П.С. Я тут придумал, как объединять банки, для получения более 200 звуков в них, это нужно кому нибудь? Собрал прогу на коленке но вроде работает. Ничего конечно не гарантируется, объединяются только секции звуков и событий (DATA, DIDX, HIRC). Банки должны быть сгенерированы из одного wwise проекта по очереди. Вот думаю, на чем бы проверить. @ Quote Link to comment Short link Share on other sites More sharing options...
spectrik Posted June 2, 2016 Share Posted June 2, 2016 (edited) ребята я как ни когда этим не занимался, но уж очень хочу попробывать))))))можете написать пример как мне с помощью этой програмки сделать (свою музыку) в ангаре.заранее спасибо) Edited June 2, 2016 by spectrik @ Quote Link to comment Short link Share on other sites More sharing options...
EagleB3 Posted June 2, 2016 Share Posted June 2, 2016 (edited) Все уже описано. Вот англоязычный мануал: http://forum.worldoftanks.com/index.php?/topic/489928-how-to-create-music-mods-0914/ Есть хороший русский перевод этого хозяйства, но ссылка на работе. Вот еще http://forum.worldoftanks.com/index.php?/topic/488138-how-to-create-voice-mods-914-version-and-onward/page__st__60#topmost Но оно не больно надо - все отлично изложено в шапке этой ветки. По этим ссылкам можно/нужно взять только названия/описания эвентов (например, hangar_v2_music_lobby / hangar_prem_v2_music_lobby). И еще есть маленькая тонкость в том, как сделать не просто случайное однократное воспроизведения звука на эвенте, а постоянное бесконечное проигрывание случано тасуемого списка. Это делается в настройках рандомного контейнера. Английское описание здесь: http://forum.worldoftanks.com/index.php?/topic/488138-how-to-create-voice-mods-914-version-and-onward/page__st__60__pid__9956525#entry9956525 . Завтра могу выложить скриншот WWISE (если кто-нибудь не сделает этого раньше). Для меня пока остается непонятным как сделать так, чтобы музыка, которая играется в предбоевом отсчете (f.e. music_desert), прекращалась сразу после начала боя. У меня она продолжает играть до полного окончания трека и накладыватся на музыку боя. Если кто знает - подскажите, плиз! Edited June 2, 2016 by EagleB3 @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted June 2, 2016 Author Share Posted June 2, 2016 (edited) можете написать пример как мне с помощью этой програмки сделать (свою музыку) в ангаре. заранее спасибо) 'Пример ...' 1) База по созданию банка подробно описана в шапке темы. Изучаем. 2) Создаем банк с любым наименованием и эвентом (событием), например: SM_music_lobby 3) Привязываем на событие свой звуковой файл с пометкой в параметрах "Sound Property Editor: Loop > Infinite" 4) Собираем банк. 5.a) Далее подменяем клиентское событие в music_events.xml: res \ packages \ gui.pkg \ gui \ music_events.xml <wwlobby>hangar_v2_music_lobby</wwlobby> На: <wwlobby>SM_music_lobby</wwlobby> 5.b) Аналогичное действие, но в XVM-ме "soundMapping": { ... "hangar_v2_music_lobby": "SM_music_lobby", "hangar_prem_v2_music_lobby": "SM_music_lobby", ... } 6) Ну и сам банк подгружаем в клиенте аналогично *.xml-ками или XVM-ом Смотрим пункт "Загрузка банка клиентом игры" Edited June 2, 2016 by night_dragon_on 1 @ Quote Link to comment Short link Share on other sites More sharing options...
spectrik Posted June 2, 2016 Share Posted June 2, 2016 'Пример ...' 1) База по созданию банка подробно описана в шапке темы. Изучаем. 2) Создаем банк с любым наименованием и эвентом (событием), например: SM_music_lobby 3) Привязываем на событие свой звуковой файл с пометкой в параметрах "Sound Property Editor: Loop > Infinite" 4) Собираем банк. 5.a) Далее подменяем клиентское событие в music_events.xml: res \ packages \ gui.pkg \ gui \ music_events.xml <wwlobby>hangar_v2_music_lobby</wwlobby> На: <wwlobby>SM_music_lobby</wwlobby> 5.b) Аналогичное действие, но в XVM-ме "soundMapping": { ... "hangar_v2_music_lobby": "SM_music_lobby", "hangar_prem_v2_music_lobby": "SM_music_lobby", ... } 6) Ну и сам банк подгружаем в клиенте аналогично *.xml-ками или XVM-ом Смотрим пункт "Загрузка банка клиентом игры" спасибо попробую)))))) а на русском эта прога есть? или русификатор к ней? @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted June 3, 2016 Author Share Posted June 3, 2016 спасибо попробую))))))а на русском эта прога есть? или русификатор к ней? Не встречал, все и так работают на родном с ней. @ Quote Link to comment Short link Share on other sites More sharing options...
spectrik Posted June 3, 2016 Share Posted June 3, 2016 Не встречал, все и так работают на родном с ней. ну в принципе когда привыкаешь потом просто все на автомате делаешь)))))))))))))) стоит только разобратся)) будем учится @ Quote Link to comment Short link Share on other sites More sharing options...
EagleB3 Posted June 3, 2016 Share Posted June 3, 2016 5.a) Далее подменяем клиентское событие в music_events.xml:res \ packages \ gui.pkg \ gui \ music_events.xml А можно выполнять подмену, используя какой-то файл внутри res_mods (если не установлен XVM) ? @ Quote Link to comment Short link Share on other sites More sharing options...
Руслан cb Posted June 3, 2016 Share Posted June 3, 2016 господа !!!!! распаковал данную папку \World_of_Tanks\res\packages\audioww.pkg\ExternalMusicSources.pck.............. в формат ВаВ ,................далее перевел свою музыку в формат ВаВ и переименовал всю свою в то же что у них саздал банк сназванием ExternalMusicSources , но закинул уже свою музыку .........переделал его в РСК , закидываю в ресмод и не Хрена , что не так ???????????? @ Quote Link to comment Short link Share on other sites More sharing options...
night_dragon_on Posted June 3, 2016 Author Share Posted June 3, 2016 (edited) А можно выполнять подмену, используя какой-то файл внутри res_mods (если не установлен XVM) ? Вытащить xml-ку из ресурсов по этому пути. Раскодировать его с помощью PjOrion Отредактировать. Положить по пути: res_mods \ X.Y.Z \ gui \ music_events.xml закидываю в ресмод и не Хрена , что не так 1) Эвенты (события) должны быть идентичными с ВГ-ными наименованиями. 2) Банк должен быть загружен через engine_config.xml Или 1) Эвенты (события) должны отличаться от с ВГ-ных наименований (с приставкой например в начале названия). 2) Банк должен быть загружен через модификацию XVM по маске: "originalEventName": "newEventName" Edited June 3, 2016 by night_dragon_on @ Quote Link to comment Short link Share on other sites More sharing options...
Руслан cb Posted June 3, 2016 Share Posted June 3, 2016 1) Эвенты (события) должны быть идентичными с ВГ-ными наименованиями. 2) Банк должен быть загружен через engine_config.xml Или 1) Эвенты (события) должны отличаться от с ВГ-ных наименований (с приставкой например в начале названия). 2) Банк должен быть загружен через модификацию XVM по маске: "originalEventName": "newEventName" не чё не понял ,..... я ведь собрал как оригинал просто заменил оригинальные файлв на свои и всё @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.