Code:
#=====================================================================
# BGM Skill /w battle step delay
# by Angelix (9/8/52)
#
# เปลี่ยน BGM ตอนใช้สกิล + หน่วงเวลาในการเปลี่ยนเฟสในการต่อสู้ได้
# **สคริปต์นี้ถูกทดสอบในระบบต่อสู้ธรรมดาเท่านั้น สำหรับระบบต่อสู้อื่น อาจมีปัญหาหรือไม่มีก็ได้
#=====================================================================
# Setup
# ให้ตั้งค่าแบบนี้ Skill ID=>["ชื่อเพลง",volume,pitch,flag,flag2(,step_delay)], *อย่าลืม , ตรงท้าย
# โดยที่ให้ตั้งค่า 1 บรรทัด ต่อ 1 สกิล
# flag ถ้าตั้ง 0 เพลงจะเริ่มตอนขึ้น User Animation ของสกิล ถ้า 1 จะเริ่มตอนขึ้น Target Animation
# flag2 ถ้าตั้ง 0 เพลงจะเปลี่ยนกลับตอน damage สกิลขึ้น ถ้า 1 จะเปลี่ยนกลับตอน damage หายไปแล้ว
# step_delay ใช้ตั้งให้แต่ละขั้นตอนต่อไปนี้
# แสดง User Animation => แสดง Target Animation => แสดงเลข Damage
# มีดีเลย์มากขึ้น (เพราะบาง Animation สั้นมาก เพลงไม่ทันขึ้นก็เปลี่ยนกลับละ =w=")
# ตั้งค่าแบบนี้
# [delay1,delay2,delay3]
# delay1 ค่าดีเลย์หลังแสดง User Animation จบ
# delay2 ค่าดีเลย์หลังแสดง Target Animation จบ
# delay3 ค่าดีเลย์หลังแสดงเลข Damage หายไปแล้ว
# step_delay อาจไม่ใส่ก็ได้
# ถ้าไม่ใส่ จะมีแค่นี้ 1=>["01THEDIVER",100,100,0,1],
# ถ้าใส่ ก็จะเป็นแบบนี้ 1=>["01THEDIVER",100,100,0,1,[20,20,20]],
#=====================================================================
$ang_skill_bgm = {
1=>["002-Battle02",100,100,0,1,[80,80,80]],
999999=>nil
}
class Scene_Battle
alias ang_skill_bgm_main main
def main
@battle_bgm = $game_system.playing_bgm
ang_skill_bgm_main
end
def ang_refresh_battle_bgm
@battle_bgm = $game_system.playing_bgm
end
alias ang_skill_bgm_msar make_skill_action_result
def make_skill_action_result
@skill_bgm = nil
ang_skill_bgm_msar
@skill_bgm = $ang_skill_bgm[@skill.id]
end
alias ang_skill_bgm_ph4s3 update_phase4_step3
def update_phase4_step3
ang_skill_bgm_ph4s3
if !@skill_bgm.nil?
if @skill_bgm[3] == 0
$game_system.bgm_play(RPG::AudioFile.new(@skill_bgm[0],@skill_bgm[1],@skill_bgm[2]))
end
if !@skill_bgm[5].nil?
@wait_count += @skill_bgm[5][0]
end
end
end
alias ang_skill_bgm_ph4s4 update_phase4_step4
def update_phase4_step4
ang_skill_bgm_ph4s4
if !@skill_bgm.nil?
if @skill_bgm[3] == 1
$game_system.bgm_play(RPG::AudioFile.new(@skill_bgm[0],@skill_bgm[1],@skill_bgm[2]))
end
if !@skill_bgm[5].nil?
@wait_count += @skill_bgm[5][1]
end
end
end
alias ang_skill_bgm_ph4s5 update_phase4_step5
def update_phase4_step5
ang_skill_bgm_ph4s5
if !@skill_bgm.nil?
if !@skill_bgm[5].nil?
@wait_count += @skill_bgm[5][2]
end
if @skill_bgm[4] == 0
$game_system.bgm_play(@battle_bgm)
@skill_bgm = nil
end
end
end
alias ang_skill_bgm_ph4s6 update_phase4_step6
def update_phase4_step6
ang_skill_bgm_ph4s6
if !@skill_bgm.nil?
if @skill_bgm[4] == 1
$game_system.bgm_play(@battle_bgm)
@skill_bgm = nil
end
end
end
end
class Interpreter
alias ang_skill_bgm_cmd241 command_241
def command_241
$scene.ang_refresh_battle_bgm if $scene.is_a?(Scene_Battle)
ang_skill_bgm_cmd241
end
end