- Joined
- Mar 1, 2012
- Messages
- 434
- Reaction score
- 310
- First Language
- English
- Primarily Uses
FModEx Audio Library
v1.0 for RMVX
Introduction
This library allows the user to memorize, pause, and resume music in RMVX.
Script/Demo
The demo with the scripts can be found here:
FModEx v1.0 RMVX
FAQ / Q&A / Notes
Keep this script above all other custom scripts. It may not work with custom battle systems. If not, request a patch and I'll provide one(cause this overwrites the playback of map music).
Why do midi's sound weird?
This script does not play nice with midi's. They are still playable, though, they just sound a bit harsher(the echo effect is gone).
What are all the script calls one can make, etc?
Here is a full list:
Code:
# pause_bgm OR pause_bgm(fade)
# pauses playback, if fade is included, the music fades out. fade is a number.
#
# resume_bgm OR resume_bgm(fade)
# pauses playback, if fade is included, the music fades in. fade is true or false.
#
# memorize_bgm
# memorizes the current bgm, does nothing if one isn't playing
#
# pause_bgs OR pause_bgs(fade)
# pauses playback, if fade is included, the bgs fades out. fade is a number.
#
# resume_bgs OR resume_bgs(fade)
# pauses playback, if fade is included, the bgs fades in. fade is true or false.
#
# memorize_bgs
# memorizes the current bgs, does nothing if one isn't playing
I can almost guarantee the reason is that the skill in question is playing an ungodly amount of sound effects per second, resulting in an overflow error. Try toning down the amount of sound effects being played by the skills' animations.
Can you make this work with Victory Aftermath?
If you have any questions, or bugs, please ask / post.After further scrutiny, here is a patch for the two systems. The order of the scripts need to be:FModExVAftermath
PatchCode:class Scene_Map < Scene_Base def call_battle @spriteset.update Graphics.update $game_player.make_encounter_count $game_player.straighten $game_system.memorize_bgm $game_system.memorize_bgs RPG::BGM.stop RPG::BGS.stop Sound.play_battle_start $game_system.battle_bgm.play $game_temp.next_scene = nil $scene = Scene_Battle.new end def setup_fmodex_battle_call $game_system.memorize_bgm $game_system.memorize_bgs RPG::BGM.stop RPG::BGS.stop end end class Scene_Battle < Scene_Base def fmodex_battle_end unless $BTEST $game_system.resume_bgm(true,true) $game_system.resume_bgs(true,true) end end def process_victory initialize_globals @onscreen_status_window.close if $imported["OnScreenStatus"] wait(YE::BATTLE::DISPLAY::VA_WAIT) @info_viewport.visible = false if $imported["SceneBattleReDux"] and @redux_msg @message_window.dispose @message_window = Window_BattleMessage.new end @message_window.visible = true unless $game_switches[YE::BATTLE::DISPLAY::VA_BYPASS_WHOLE_SWITCH] unless $game_switches[YE::BATTLE::DISPLAY::VA_BYPASS_BGM_SWITCH] RPG::BGM.stop $game_system.battle_end_me.play if YE::BATTLE::DISPLAY::VA_PLAY_VICTORY_BGM victory_bgm = YE::BATTLE::DISPLAY::VA_BGM victory_bgm.play else fmodex_battle_end end end @message_window.back_opacity = YE::BATTLE::DISPLAY::VA_BACK_OPACITY if $imported["VictoryAftermathCompatibility"] @message_window.dispose if @message_window != nil @message_window = Window_BattleMessageCompatible.new end display_first_page display_extra_pages if $imported["VictoryAftermathExtras"] create_drop_items display_last_page else value = YE::BATTLE::DISPLAY::VA_WAIT value = 60 if value < 60 wait(value) #--------- gold = $game_troop.gold_total $game_party.gain_gold(gold) exp = $game_troop.exp_total members = $game_party.members.size if YE::BATTLE::DISPLAY::VA_EXP_SPLIT if members == 1 exp *= YE::BATTLE::DISPLAY::VA_EXP_1_MEMBER elsif members == 2 exp *= YE::BATTLE::DISPLAY::VA_EXP_2_MEMBERS elsif members == 3 exp *= YE::BATTLE::DISPLAY::VA_EXP_3_MEMBERS else exp *= YE::BATTLE::DISPLAY::VA_EXP_4_MEMBERS end exp /= 100 end drop_items = $game_troop.make_drop_items for item in drop_items $game_party.gain_item(item, 1) end for actor in $game_party.existing_members actor.gain_exp(exp, false) end hidden_extra_pages if $imported["VictoryAftermathExtras"] #--------- end unless $BTEST or $game_switches[YE::BATTLE::DISPLAY::VA_BYPASS_BGM_SWITCH] fmodex_battle_end unless !YE::BATTLE::DISPLAY::VA_PLAY_VICTORY_BGM end victory_me = Thread.new { time = YE::BATTLE::DISPLAY::VA_ME_FADE RPG::ME.fade(time) sleep(time / 1000.0) RPG::ME.stop } battle_end(0) if YE::BATTLE::DISPLAY::VA_USE_COMEVENT $game_temp.common_event_id = YE::BATTLE::DISPLAY::VA_COMMON_EVENT end end end
NOTICE: The two compositions in the demo were created by Da Buzz, and Mitchell McLaughlin. Credit them for the two pieces of music.
NOTICE: To use this system, you must credit the following:
Hiretsukan (Kevin Gadd) - janus@luminance.org - CREATOR OF SCRIPT
RPG/Cowlol (Firas Assad) - ArePeeGee (AIM name) - Modifier
FenixFyreX (Chaz Domerese) - fenixfyrex@gmail.com (GMail) - Modifier

