Jump to content
Korean Random

[Замена звуков / Sound changing] Звуки на различные события


Recommended Posts

А что мешает добавить пустой звук в xvm.bnk?

Сейчас xvm.bnk не грузится в ангаре. В принципе, он мизерный, и можно забить и грузить его везде, но если есть родной пустой звук, лучше использовать его. Если нет такого, сделаем в xvm.bnk.

Звук играется WWISE.WW_eventGlobal(event), где event - имя события. Как я выше писал, в банках нет имен, только хэши. Если мы передаем пустую строку, то WWISE посчитает от нее хэш

который и будет равен 2166136261, и не найдет событие с таким хэшем.

Ок, понятно. Хотя и странно в наше время использовать 32-битный хэш.

Link to comment
Short link
Share on other sites

 

 

можно включить логгирование событий, чтобы не лазить по xml и не угадывать что это за событие
Ну и сделана возможность переопределения или отключения любых событий

вот за это огромное спасибо! мешающие "дзыни" при критах отключил:)

Edited by demon2597
Link to comment
Short link
Share on other sites

поделись названием эвента и способом отключения, тоже раздражают... 

способ отключения- вписать в конфиг (там же в комментах написано). отлавливать по реплеям с помощью включенного логирования.

я думал там пара звонков, когда тебя критуют и когда ты, а они там туеву хучу наделали- поделили их на калибры и на типы снарядов.

погонял несколько реплеев, пока только вот эти поймал:

"soundMapping": {

      // Event mapping

      // Переопределение события

      //"originalEventName": "newEventName"

      // To disable sound event use empty string for value

      // Для отключения звукового события используйте пустую строку для значения

      //"originalEventName": ""

      "imp_main_critical_AP_NPC_PC": "",

      "imp_large_critical_AP_NPC_PC": "",

      "imp_medium_critical_AP_NPC_PC": "",

      "imp_large_critical_AP_PC_NPC": "",

      "imp_medium_critical_APCR_PC_NPC": "",

      "imp_small_critical_APCR_PC_NPC": ""

    }

но это думается точно не всё. можно наверное по логике дописать, но я решил изловить по мере поступления:)

Edited by demon2597
Link to comment
Short link
Share on other sites

а есть возможность запустить звук раньше наступления события. например для зарядки орудия на 2 секунд раньше окончания времени самой зарядки?

Link to comment
Short link
Share on other sites

Написал программку для определения хэша события по названию и поиска его в bnk файле, получился фот такой список:

output.txt (открывать в notepad++ или сразу в excel, а то там небольшая трабла с переводами строк)

 

Естественно тут не все события, но вроде похоже на правду, может кому и пригодится.

Edited by D2R52
  • Upvote 3
Link to comment
Short link
Share on other sites

Лучше пустой звук проигрывать.
для отключения звука по событиям нужен пустой звук. Нет такого случайно в родных банках?

 

Добавил пустой эвент с наименованием "emptyEvent", немного переделал проект для репозитория.

 

Думаю по стандарту нужно добавить заглушку для стандартных эвентов на звуковые события добавленные в XVM-ме, т.е:

"events": {
  // Perk SixthSense
  // Перк Шестое чувство
  "sixthSense": "sixthsense",
  // Perk SixthSense (On vehicle Т-34-85 Rudy)
  // Перк Шестое чувство (На технике Т-34-85 Rudy)
  "sixthSenseRudy": "sixthSenseRudy",
  // Fire alert
  // Пожар
  "fireAlert": "fireAlert",
  // Damage ammoBay
  // Повреждение боеукладки
  "ammoBay": "ammoBay"
},
"soundMapping": {
  "lightbulb": "emptyEvent",
  "vo_fire_started": "emptyEvent",
  "vo_ammo_bay_damaged": "emptyEvent"
}
А Rudy у кого-то есть? Можно реплей с ним?

 

'С руди все нормально, лает'

Edited by night_dragon_on
Link to comment
Short link
Share on other sites

Подскажите название эвента или эвентов которые отвечают за "гусеница сбита движение невозможно" и тд, чтобы отключить их через xvm.

Link to comment
Short link
Share on other sites

а есть возможность запустить звук раньше наступления события. например для зарядки орудия на 2 секунд раньше окончания времени самой зарядки?

Можно за 2 секунды до выстрела даже сделать. Там легко:

import time_machine
def run_in_a_past():
    pass
time_machine.on_before_two_second += run_in_a_past

Думаю по стандарту нужно добавить заглушку для стандартных эвентов на звуковые события добавленные в XVM-ме,

'С руди все нормально, лает'

Я наоборот, стандартные события хотел использовать, как минимум для лампы. Для пожара - да, надо через заглушку, чтобы он без очереди проигрывался.

Подскажите название эвента или эвентов которые отвечают за "гусеница сбита движение невозможно" и тд, чтобы отключить их через xvm.

включи логгирование и посмотри.
Link to comment
Short link
Share on other sites

 

 

Можно за 2 секунды до выстрела даже сделать. Там легко: import time_machine def run_in_a_past(): pass time_machine.on_before_two_second += run_in_a_past
 

 

а это где нужно делать? можно чуть подробней

Link to comment
Short link
Share on other sites

но это думается точно не всё. можно наверное по логике дописать, но я решил изловить по мере поступления:)

 

С новым пустым эвентом, криты по вам, по противнику, и в режиме наблюдателя - игрок игроку

      "imp_main_critical_AP_PC_NPC": "emptyEvent",
      "imp_small_critical_AP_PC_NPC": "emptyEvent",
      "imp_medium_critical_AP_PC_NPC": "emptyEvent",
      "imp_large_critical_AP_PC_NPC": "emptyEvent",

      "imp_main_critical_APCR_PC_NPC": "emptyEvent",
      "imp_small_critical_APCR_PC_NPC": "emptyEvent",
      "imp_medium_critical_APCR_PC_NPC": "emptyEvent",
      "imp_large_critical_APCR_PC_NPC": "emptyEvent",

      "imp_main_critical_HE_PC_NPC": "emptyEvent",
      "imp_small_critical_HE_PC_NPC": "emptyEvent",
      "imp_medium_critical_HE_PC_NPC": "emptyEvent",
      "imp_large_critical_HE_PC_NPC": "emptyEvent",

      "imp_main_critical_AP_NPC_PC": "emptyEvent",
      "imp_small_critical_AP_NPC_PC": "emptyEvent",
      "imp_medium_critical_AP_NPC_PC": "emptyEvent",
      "imp_large_critical_AP_NPC_PC": "emptyEvent",

      "imp_main_critical_APCR_NPC_PC": "emptyEvent",
      "imp_small_critical_APCR_NPC_PC": "emptyEvent",
      "imp_medium_critical_APCR_NPC_PC": "emptyEvent",
      "imp_large_critical_APCR_NPC_PC": "emptyEvent",

      "imp_main_critical_HE_NPC_PC": "emptyEvent",
      "imp_small_critical_HE_NPC_PC": "emptyEvent",
      "imp_medium_critical_HE_NPC_PC": "emptyEvent",
      "imp_large_critical_HE_NPC_PC": "emptyEvent",
     
      "imp_main_critical_AP_NPC_NPC": "emptyEvent",
      "imp_small_critical_AP_NPC_NPC": "emptyEvent",
      "imp_medium_critical_AP_NPC_NPC": "emptyEvent",
      "imp_large_critical_AP_NPC_NPC": "emptyEvent",

      "imp_main_critical_APCR_NPC_NPC": "emptyEvent",
      "imp_small_critical_APCR_NPC_NPC": "emptyEvent",
      "imp_medium_critical_APCR_NPC_NPC": "emptyEvent",
      "imp_large_critical_APCR_NPC_NPC": "emptyEvent",

      "imp_main_critical_HE_NPC_NPC": "emptyEvent",
      "imp_small_critical_HE_NPC_NPC": "emptyEvent",
      "imp_medium_critical_HE_NPC_NPC": "emptyEvent",
      "imp_large_critical_HE_NPC_NPC": "emptyEvent",

 

 

а это где нужно делать?

 

Собрать этот код в питоне

Edited by night_dragon_on
Link to comment
Short link
Share on other sites

небольшой оффтопчик.

На чистом клиенте 0.9.14 в папке \\res\audio\ должно что-нибудь находится?

А то непонятные файлы tutorial_voice.fev, tutorial_voice.fsb, ingame_voice.fev и ingame_voice_def.fsb - то ли нужные, то ли модпак какой загадил в прошлом.

Link to comment
Short link
Share on other sites

А то непонятные файлы tutorial_voice.fev, tutorial_voice.fsb, ingame_voice.fev и ingame_voice_def.fsb - то ли нужные, то ли модпак какой загадил в прошлом.

 

Если перекачивать клиент с нуля (а не обновлять его с 0.9.13 > 0.9.14) папки нет.

Link to comment
Short link
Share on other sites

Собрать этот код в питоне

Как я и думал, слишком тонко. ;)

[spoiler=С новым пустым эвентом, криты по вам и по противнику

Можно пустые оставлять, я сделаю подстановку.
Link to comment
Short link
Share on other sites

Можно пустые оставлять, я сделаю подстановку.

Отлично!

 

Для пожара - да, надо через заглушку, чтобы он без очереди проигрывался.

5253 проверил на двух реплеях: звук пожара и так идет без задержки, причем немного заглушает звук крита баков (бульканье) - что и требуется :))

Edited by Kapany3uk
Link to comment
Short link
Share on other sites

5253 проверил на двух реплеях: звук пожара и так идет без задержки, причем немного заглушает звук крита баков (бульканье) - что и требуется :))

с XVM или без он идет без задержки?
Link to comment
Short link
Share on other sites

с XVM или без он идет без задержки?

без задержки:

- без ХВМ, с комментированием/удалением в sound_notifications.xml параметров <!--<timeout> и <playRules>-->

- с ХВМ, звук вписан только в sounds.xc

задержка:

- без ХВМ, в sound_notifications.xml вписано только имя звука

Link to comment
Short link
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...