FModEx Audio Library

Status
Not open for further replies.

FenixFyreX

Fire Deity
Veteran
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
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
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
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
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
 

mikb89

Villager
Member
Joined
Apr 28, 2012
Messages
10
Reaction score
6
First Language
Italian
Primarily Uses
lol I made a porting of this script too ^^

Don't know if I'll post it now xD

Nice work :)
 

rondchild

Veteran
Veteran
Joined
Jul 31, 2012
Messages
362
Reaction score
269
First Language
Indonesia
Primarily Uses
This script works fine :D

but i have a problem that is after the battle, and I save a file and then I load the file.

My problem after I load the data on MAP BGM does not work but even after victory BGM (Fanfare) that works.

:(

I also wear a Victory Aftermath script and it works fine but when wearing a patch script error like this image:



I have an opinion to solve the problem after loading the data and BGM work well. :)

in the script that I note below:



exactly in the

BGM = RPG :: BGM.new ("field", 100.100)

can be replaced with a call to BGM in MAP last player who is being occupied.

I'm less so the script but maybe it could solve the problem. but I do not know how. :wacko:

hehehehe

thank you, sorry if there are words that one :D

n sorry my english so bad =__=a

somebody help me please TAT

Edit : correct word.
 
Last edited by a moderator:

SmazUgonih

Warper
Member
Joined
Jan 23, 2013
Messages
2
Reaction score
0
First Language
English
Primarily Uses
I've been trying this script out on and off for the past few months. It's a great script until I run into a few errors. Now, I've tried resolving these in several ways, but I always run into something else. I had a look around, but I couldn't find anything helping the problem. I figured it was time to register here and ask the man, himself, for help!

The first error is something I think is a bit odd - the game states there are 5 arguments, but I only see 4 on the line it's referring to. This happens about half the time at the end of a battle. Here's a screenshot of the error and the code section:



So, I figure 'let's try deleting the last argument and see what happens'. I was at a loss, after all, so was doing some trial and erroring. So, I try that and this error comes up, instead, about an incorrect integer. I decided this was probably a result of deleting the last argument from the previous error, so that doesn't resolve it:



So I need some help on this.

It also should be noted I'm not using Yanfly's Victory Aftermath, but rather, Waratana's (YERD's was incompatible with what is perhaps the most important script in my game, so I opted for Waratana's, which looks nice at the end of a battle, anyway). Therefore, the patch doesn't work, that you've suggested for Yanfly's Victory Aftermath (the poster above me pretty much gives the error, let alone it's configured for Yanfly's modules without editing). I also sometimes get an error that RGSS2 Player has stopped working, only since putting the FModEx Audio Library in. All of these errors occur at the end of a battle.
 

FenixFyreX

Fire Deity
Veteran
Joined
Mar 1, 2012
Messages
434
Reaction score
310
First Language
English
Primarily Uses
I would like to ask everyone to hold off 1 month from using this script. This is a script I ported from RPG Maker XP, and I have lost all data for it. It needs a serious rewrite, and quite frankly it's become too much of a hassle messing with it in its current state. I'm planning on rewriting this, however that takes time.

Hopefully this will be closed soon, and I'll have it reopened when I'm done. Sorry for the trouble guys
 
Status
Not open for further replies.

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,859
Messages
1,017,030
Members
137,566
Latest member
Fl0shVS
Top