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

Usar BGM atual como tema de batalha

Iniciado por Player One, 09/06/2018 às 19:40

09/06/2018 às 19:40 Última edição: 10/06/2018 às 12:00 por Player One
Olá, não sou muito de visitar esse fórum, tampouco usar RPG Maker, estive dando um tempo por causa dos estudos.
Mas como minha faculdade é na área de informática e passei a gostar muito de programar, eu resolvi ver qualé a desse tal de RGSS.
Bem, esse é meu primeiro script. E ele serve para retirar a música de batalha que interrompe a música de mapa atual no jogo.
Sei lá, pode ser interessante em um momento em que acontece uma cena tensa, os personagens estão falando, daí começa a tocar uma música foda, então o vilão aparece e começa a luta com a mesma música foda! You know...
Pode ser que haja outra maneira de fazer isso, mas enfim, é só um script simples, se bobear deve ter mais comentário que código hehe.


#Autor: Ramon Dias - PlayerOne
#Script simples para usar a música do mapa como música de batalha, ou
#em outras palvras, retirar os temas de batalha.
#-Instruções-#
#  Crie dois switches, um para a música de batalha e outro para 
#  o som de vitória. Insira seus respectivos números nas variáveis 
#  abaixo. Se os switches estiverem DESLIGADOS (que seria o padrâo)
#  os respectivas temas tocarão normalmente.
#  Do contrário, não tocarão, e a música atual do mapa continua.

#-Configurações-#
BATTLE_SWITCH = 99  #Número do switch para a musica de batalha
WIN_SWITCH = 100    #Número do switch para o som de vitória
#-Fim das configurações-#

module BattleManager   
   def self.play_battle_bgm
     if $game_switches[BATTLE_SWITCH] == false
      $game_system.battle_bgm.play
      RPG::BGS.stop
     end 
   end
    
   def self.play_battle_end_me
    if $game_switches[WIN_SWITCH] == false
      $game_system.battle_end_me.play
    end 
   end
 end


E isso é tudo.

Boa iniciativa, RGSS é bem divertido de se programar.

Eu pessoalmente não colocaria as configurações dentro do BattleManager, mas é mais algo meu mesmo. O importante é sempre estar funcionando.

A propósito, se a BGM de batalha for a mesma que a BGM atual ela não irá parar.


Opa, vou dar uma pesquisada pra melhorar isso, eu ainda preciso entender melhor esse esquema de módulos, é a primeira vez que uso e ainda não estou familiarizado hehe
Aliás, tenho muito a aprender ainda, principalmente porque os programas que eu faço na faculdade tem propósitos e implementações bem diferentes. São bem menos divertidos tbm hehe

Sobre a música não parar, essa é a intenção. Quando o usuário quiser que volte ao normal, é só ele desligar o switch e parar/trocar a BGM por evento.
Pra exemplificar , dá uma olhada nesse gameplay de um jogo que acontece isso:
https://youtu.be/-YvmWdLcBZA
Veja em 2:30, é uma parte especifica do jogo em que colocaram a música de batalha como a mesma da fase. Acontece parecido no boss em 9:38 hehe

Acho que o Sky quis dizer que, caso o desenvolvedor coloque a música de batalha para ser a mesma música que toca antes de a batalha começar, através de comandos por eventos, e cena será trocada para a cena de batalha sem interromper ou mudar a música. Ou seja, há meios de fazer o que teu código faz.

Porém, acho que o grande propósitos dos scripts é facilitar o trabalho no programa através dessas ferramentas, como tu disse, simples, mas que com uma aqui, outra ali, tu poupa um grande esforço que teria se usasse somente eventos. Ainda mais em um jogo que tirará muito proveito dessas cenas antes de batalhas, dando continuidade à música, com o script desse o cara não precisa ficar tendo que lembrar de mudar a música de batalha.

Bacana o código, espero que desenvolva muitos outros!  :clap:

Ah, sim, entendi, meus caros.
Obrigado pelo apoio, certamente farei mais scripts!  :XD:

Sobre a dica que o Sky deu das configurações, eu entendi depois também hehe.
Vou mudar o código.