Hubert
1
戦闘中にBGS(背景音楽)を再生させるにはどうすればよいでしょうか?それを実現するスクリプトを教えてくれる方はいますか?それとも、スクリプトなしで可能なのでしょうか?
ゲーム内での挙動をご存知の通り、戦闘に入るとマップで流れていたBGSは停止します。
troopイベントメニューでBGSを再生させるか、(今回の場合、戦闘がイベントとして設定されているため)戦闘コマンドの直前にBGS再生コマンドを配置しても、戦闘中はBGSは再生されません。
簡単にGoogleで検索すると、Steamフォーラムの非常に古い投稿が見つかり、戦闘中にBGSを再生させるスクリプトへのリンクはすでに機能していません。
そのため、この投稿を作成しました。
本当に機能しないんですか?MVで確認したところ、そこでは明確に動作していました。また、VX Aceの同等スクリプトをざっと見たところ、そこでも動作するようです。
マップ上でBGSの再生を維持したいのであれば、BattleManagerのこの部分を以下のように変更すれば動作するはずです:
def self.play_battle_bgm
$game_system.battle_bgm.play
end
BGSを停止する行を削除しただけです。おそらくより良い方法があるでしょうが、少なくともこれなら動作するはずです。
やっほー!
すでに回答をいただいているのは承知していますが、戦闘開始時にBGSを停止するアクションを見つけました。それを削除したところ、完璧に動作するようになりました。
(スクリプトについてはほとんど知識がありませんが、コードに書かれている場合は理解しやすいし、直感でいくつかのコマンドの役割や、削除した場合に何が起こるかがわかります)
ともかく、これがBGSを停止するコマンドです。スクリプトリスト内の「BattleManager」で見つけました:
なので、これを削除するか、先頭に#をつけてコメントアウト(コマンドとしてではなく)すれば、問題は解決します。こんな感じに:

私は個人的に、コマンドの先頭に#をつけて無効にするオプションが好きです。なぜなら、#を取り除けばいつでも再度有効化できるからです。何かを削除するとゲームにエラーが出ることを恐れているので、スクリプトを削除するのはあまり好きではなく、この「#」を使う方法を取っています。でも、好きな方を選んでください。 :)