じ☆ve冰风 发表于 6 天前

FModEx Audio Library

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:

Spoiler                 Code:        
#pause_bgmORpause_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_bgsORpause_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





How come this script errors when I use skills from YEM/BEM?

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?

                        After further scrutiny, here is a patch for the two systems. The order of the scripts need to be:                            FModExVAftermath

Patch                
Click to expand...

Spoiler                 Code:        
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 endclass 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       unless $game_switches         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      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






Click to expand...

If you have any questions, or bugs, please ask / post.

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


本贴来自国际rpgmaker官方论坛作者:FenixFyreX处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/fmodex-audio-library.3511/
页: [1]
查看完整版本: FModEx Audio Library