Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # =============================================================================
- # 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
Advertisement
Add Comment
Please, Sign In to add comment