# ============================================================================= # TheoAllen - Random Battle Music # Version : 1.0 # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com # (This script documentation is written in informal indonesian language) # ============================================================================= ($imported ||= {})[:Theo_BattleSound] = true # ============================================================================= # CHANGE LOGS: # ----------------------------------------------------------------------------- # 2013.05.11 - Started and Finished script # ============================================================================= =begin Perkenalan : Script ini bisa ngebikin game ngeplay lagu battle berbeda-beda secara random. Kamu juga bisa ngeset victory ME yang berbeda-beda Cara pakai : Pasang script ini diatas main tapi dibawah material Untuk penggunaan dalam script call, kamu bisa tulis seperti ini Penambahan lagu : - add_battle_bgm(nama) - add_battle_bgm(nama,volume) - add_battle_bgm(nama,volume,pitch) Penambahan victory ME - add_victory_me(nama) - add_victory_me(nama,volume) - add_victory_me(nama,volume,pitch) Pengurangan : - remove_battle_bgm(nama) - remove_victory_me(nama) Contoh penulisan dalam script call add_battle_bgm("battle6") add_battle_bgm("battle5",50,150) remove_battle_bgm("battle1") TERMS OF USE : Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau dipake buat komersil, jangan lupa, gw dibagi gratisannya. =end # ============================================================================= # Konfigurasi : # ============================================================================= module THEO module SOUND # ------------------------------------------------------------------------- # List Battle BGM yang bakal di-play random # ------------------------------------------------------------------------- BATTLE_BGM = { # "NamaBGM" => [volume, pitch], "Battle1" => [100,100], "Battle2" => [100,100], "Battle3" => [100,100], # Tambahin sendiri } # <-- jangan diapus # ------------------------------------------------------------------------- # List victory ME yang bakal di-play random # ------------------------------------------------------------------------- VICTORY_ME = { # "NamaME" => [volume, pitch], "Victory1" => [100,100], # Tambahin sendiri } # <-- jangan diapus # ------------------------------------------------------------------------- # Switch ID buat mati idupin random. Kalo nilainya false berarti saat # battle nanti akan ngerandom play sound # ------------------------------------------------------------------------- BATTLE_SWITCH = 99 VICTORY_SWITCH = 99 end end # ============================================================================= # Setelah ini kalo mo ngedit, tanggung sendiri akibatnya :v # ============================================================================= class Game_System attr_reader :random_battle_bgm attr_reader :random_victory_me alias pre_random_battle_bgm_init initialize def initialize pre_random_battle_bgm_init load_random_battle_bgm load_random_victory_me end def load_random_battle_bgm @random_battle_bgm = [] THEO::SOUND::BATTLE_BGM.each do |name, num| @random_battle_bgm.push(RPG::BGM.new(name,num[0],num[1])) end end def load_random_victory_me @random_victory_me = [] THEO::SOUND::VICTORY_ME.each do |name, num| @random_victory_me.push(RPG::ME.new(name,num[0],num[1])) end end def add_battle_bgm=(bgm) return if @random_battle_bgm.any? {|battle_bgm| battle_bgm.name == bgm.name } @random_battle_bgm.push(bgm) end def add_victory_me=(me) return if @random_victory_me.any? {|victory| victory.name == me.name } @random_victory_me.push(me) end def remove_battle_bgm(name) @random_battle_bgm.delete_if {|bgm| bgm.name == name} end def remove_victory_me(name) @random_victory_me.delete_if {|me| me.name == name} end end class Game_Interpreter def add_battle_bgm(name,vol = 100, pitch = 100) $game_system.add_battle_bgm = RPG::BGM.new(name,vol,pitch) end def add_victory_me(name,vol = 100, pitch = 100) $game_system.add_victory_me = RPG::ME.new(name,vol,pitch) end def remove_battle_bgm(name) $game_system.remove_battle_bgm(name) end def remove_victory_me(name) $game_system.remove_victory_me(name) end end module BattleManager class << self alias original_play_battle_bgm play_battle_bgm alias original_play_battle_end_me play_battle_end_me end def self.play_battle_bgm unless $game_switches[THEO::SOUND::BATTLE_SWITCH] play_result = rand(THEO::SOUND::BATTLE_BGM.size).to_i $game_system.random_battle_bgm[play_result].play else original_play_battle_bgm end end def self.play_battle_end_me unless $game_switches[THEO::SOUND::VICTORY_SWITCH] play_result = rand(THEO::SOUND::VICTORY_ME.size).to_i $game_system.random_victory_me[play_result].play else original_play_battle_end_me end end end