O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Coninuar BGM do Mapa na Batalha - RPG MAKER VX ACE

Iniciado por Kusma, 06/09/2021 às 13:38

06/09/2021 às 13:38 Última edição: 07/09/2021 às 09:34 por Kusma
Bom dia e bom feriadão amigos!

O que estou tentando fazer: tenho uma única batalha (com uma tropa específica, que é um boss) na qual gostaria que ao invés de iniciar a BGM padrão de batalhas, continuasse tocando a BGM do Mapa.
Alguém consegue me ajudar? Tem script para isso?

Desde já agradeço!

Opa. o/
Não me lembro se precisa de script pra isso. Se você configurar no banco de dados pra não ter música na batalha, a BGM anterior não continua? Se não resolver, dá pra fazer um código bem simplão que funciona. Agora, não sei se a troca de música fica direto no Scene_Battle ou se está na chamada pela Scene_Map, mas é coisa de uma linha ou duas.

Citação de: Corvo online 06/09/2021 às 14:26
Opa. o/
Não me lembro se precisa de script pra isso. Se você configurar no banco de dados pra não ter música na batalha, a BGM anterior não continua? Se não resolver, dá pra fazer um código bem simplão que funciona. Agora, não sei se a troca de música fica direto no Scene_Battle ou se está na chamada pela Scene_Map, mas é coisa de uma linha ou duas.

Boa tarde Corvo!

Imagino que seja essa parte de código aqui, que está em Scene_map:

def pre_battle_scene
    Graphics.update
    Graphics.freeze
    @spriteset.dispose_characters
    BattleManager.save_bgm_and_bgs
    BattleManager.play_battle_bgm
    Sound.play_battle_start
  end

Entretanto eu ainda não entende de programação o suficiente para saber qual código alterar (ainda que é só para essa batalha especifica - imagino talvez chamar esse código como evento de batalha nessa tropa específica)
Quanto a deixar sem música no banco de dados vai complicar para mim, pois em todas as batalhas eu tenho a música de batalha, somente nessa batalha que tenho que continuar a música do mapa.

Se conseguir me dar uma luz fico muito grato!

06/09/2021 às 15:09 #3 Última edição: 06/09/2021 às 16:09 por Corvo
Este mesmo. Colocando um # no início de uma linha, você transforma o texto a seguir em um comentário. Daí o código contido nele não é executado. No seu caso, seria a linha BattleManager.play_battle_bgm, ficando assim:

def pre_battle_scene
    Graphics.update
    Graphics.freeze
    @spriteset.dispose_characters
    BattleManager.save_bgm_and_bgs
    #BattleManager.play_battle_bgm
    Sound.play_battle_start
  end


Agora, é importante você se lembrar de que mexeu nisso aí pra problemas futuros. Normalmente o pessoal faria um novo script sobreescrevendo só essa função, fica mais organizado e prático de mexer. Eu costumo editar direto pra não ter código repetido.

Não precisa modificar código pra isso.

Se a BGM que estiver tocando no mapa for a mesma BGM configurada para a batalha, ela continuará a ser reproduzida. Para isso, basta usar o comando de evento da terceira aba que muda a BGM de batalha e definí-la para ser a mesma que está tocando no mapa.


Citação de: Corvo online 06/09/2021 às 15:09
Este mesmo. Colocando um # no início de uma linha, você transforma o texto à seguir em um comentário. Daí o código contido nele não é executado. No seu caso, seria a linha BattleManager.play_battle_bgm, ficando assim:

def pre_battle_scene
    Graphics.update
    Graphics.freeze
    @spriteset.dispose_characters
    BattleManager.save_bgm_and_bgs
    #BattleManager.play_battle_bgm
    Sound.play_battle_start
  end


Agora, é importante você se lembrar de que mexeu nisso aí pra problemas futuros. Normalmente o pessoal faria um novo script sobreescrevendo só essa função, fica mais organizado e prático de mexer. Eu costumo editar direto pra não ter código repetido.

Olá Corvo, dessa forma funcionou, mas a linha de baixo (que é o som de início de batalha) também precisei deixar como comentário, senão a música parava quando tocava esse som. Porém dessa forma todas batalhas ficam sem BGM e eu preciso fazer isso somente com essa batalha específica.

Citação de: Gabriel online 06/09/2021 às 15:18
Não precisa modificar código pra isso.

Se a BGM que estiver tocando no mapa for a mesma BGM configurada para a batalha, ela continuará a ser reproduzida. Para isso, basta usar o comando de evento da terceira aba que muda a BGM de batalha e definí-la para ser a mesma que está tocando no mapa.

Oi Gabriel

Obrigado pela dica, mas infelizmente para o meu caso não funcionou. Antes da batalha eu tenho uma cutscene e a música chega a determinado ponto e gostaria que continuasse daquele ponto em diante na batalha, porém dessa forma ela inicia novamente.

Tentei deixar sem BGM mas também não funciona. Depois que toca a som de abertura a música para.

Se eu desabilito a BGM e o som de abertura (via código) da batalha funciona, porém preciso conseguir fazer isso somente para essa batalha específica.

Muito obrigado aos dois pela força que estão me dando!

Citação de: Kusma online 06/09/2021 às 16:04
Olá Corvo, dessa forma funcionou, mas a linha de baixo (que é o som de início de batalha) também precisei deixar como comentário, senão a música parava quando tocava esse som. Porém dessa forma todas batalhas ficam sem BGM e eu preciso fazer isso somente com essa batalha específica.

Oi Gabriel

Obrigado pela dica, mas infelizmente para o meu caso não funcionou. Antes da batalha eu tenho uma cutscene e a música chega a determinado ponto e gostaria que continuasse daquele ponto em diante na batalha, porém dessa forma ela inicia novamente.

Tentei deixar sem BGM mas também não funciona. Depois que toca a som de abertura a música para.

Se eu desabilito a BGM e o som de abertura (via código) da batalha funciona, porém preciso conseguir fazer isso somente para essa batalha específica.

Muito obrigado aos dois pela força que estão me dando!
Você provavelmente está fazendo algo errado. Se tiver configurado corretamente nos eventos a música não irá parar.


Citação de: Gabriel online 06/09/2021 às 16:58
Você provavelmente está fazendo algo errado. Se tiver configurado corretamente nos eventos a música não irá parar.

Você estava certo Gabriel! Quando eu configurei essa música como nova BGM de batalha ela estava com o tom diferente. Após arrumar ambas para o mesmo tom funcionou perfeitamente!

Obrigado, questão resolvida!