Anybody know a way to play tune when you level up?

Status
Not open for further replies.

SpunkyDuck

Ruby Programming Enthusiast
Veteran
Joined
Jun 5, 2020
Messages
97
Reaction score
411
First Language
(US) English
Primarily Uses
RMVXA
Here, this will work whenever and wherever a party member levels up. You can adjust the settings accordingly. Sorry it looks like a mess but XP's source code was messy from day 1.
Ruby:
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles the actor. It's used within the Game_Actors class
#  ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * CONSTANTS
  #--------------------------------------------------------------------------
  XANE_LVL_UP_TUNE_ERROR_CHECK = true
  XANE_LVL_UP_TUNE_TYPE = 'ME'
  XANE_LVL_UP_TUNE = ['010-Item01', 100, 100]
  #--------------------------------------------------------------------------
  # * Change EXP
  #     exp : new EXP
  #--------------------------------------------------------------------------
  def exp=(exp)
    @exp = [[exp, 9999999].min, 0].max
    # Level up
    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
      # Play Level Up Tune
      param0 = XANE_LVL_UP_TUNE[0]
      param1 = XANE_LVL_UP_TUNE[1]
      param2 = XANE_LVL_UP_TUNE[2]
      case XANE_LVL_UP_TUNE_TYPE
      when 'ME'
        Audio.me_play("Audio/ME/" + param0, param1, param2)
      when 'SE'
        Audio.se_play("Audio/SE/" + param0, param1, param2)
      else
        if XANE_LVL_UP_TUNE_ERROR_CHECK
          print('Invalid Tune Type. Please Use ME, or SE Only.')
        end
      end
      # Increase Level
      @level += 1
      # Learn skill
      for j in $data_classes[@class_id].learnings
        if j.level == @level
          learn_skill(j.skill_id)
        end
      end
    end
    # Level down
    while @exp < @exp_list[@level]
      @level -= 1
    end
    # Correction if exceeding current max HP and max SP
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
  end
end
 

Fauxworks

Feelin foxy
Veteran
Joined
Dec 13, 2020
Messages
32
Reaction score
14
First Language
English
Primarily Uses
RMXP
Here, this will work whenever and wherever a party member levels up. You can adjust the settings accordingly. Sorry it looks like a mess but XP's source code was messy from day 1.
Ruby:
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles the actor. It's used within the Game_Actors class
#  ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * CONSTANTS
  #--------------------------------------------------------------------------
  XANE_LVL_UP_TUNE_ERROR_CHECK = true
  XANE_LVL_UP_TUNE_TYPE = 'ME'
  XANE_LVL_UP_TUNE = ['010-Item01', 100, 100]
  #--------------------------------------------------------------------------
  # * Change EXP
  #     exp : new EXP
  #--------------------------------------------------------------------------
  def exp=(exp)
    @exp = [[exp, 9999999].min, 0].max
    # Level up
    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
      # Play Level Up Tune
      param0 = XANE_LVL_UP_TUNE[0]
      param1 = XANE_LVL_UP_TUNE[1]
      param2 = XANE_LVL_UP_TUNE[2]
      case XANE_LVL_UP_TUNE_TYPE
      when 'ME'
        Audio.me_play("Audio/ME/" + param0, param1, param2)
      when 'SE'
        Audio.se_play("Audio/SE/" + param0, param1, param2)
      else
        if XANE_LVL_UP_TUNE_ERROR_CHECK
          print('Invalid Tune Type. Please Use ME, or SE Only.')
        end
      end
      # Increase Level
      @level += 1
      # Learn skill
      for j in $data_classes[@class_id].learnings
        if j.level == @level
          learn_skill(j.skill_id)
        end
      end
    end
    # Level down
    while @exp < @exp_list[@level]
      @level -= 1
    end
    # Correction if exceeding current max HP and max SP
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
  end
end




Where do I enter the song title?
 

SpunkyDuck

Ruby Programming Enthusiast
Veteran
Joined
Jun 5, 2020
Messages
97
Reaction score
411
First Language
(US) English
Primarily Uses
RMVXA
On this line:
Ruby:
 XANE_LVL_UP_TUNE = ['010-Item01', 100, 100]
The first argument is the sound file's name, the second is volume, and the third is pitch.

You'll find every setting you need under this section.
Ruby:
#--------------------------------------------------------------------------
# * CONSTANTS
#--------------------------------------------------------------------------
 

Fauxworks

Feelin foxy
Veteran
Joined
Dec 13, 2020
Messages
32
Reaction score
14
First Language
English
Primarily Uses
RMXP
On this line:
Ruby:
 XANE_LVL_UP_TUNE = ['010-Item01', 100, 100]
The first argument is the sound file's name, the second is volume, and the third is pitch.

You'll find every setting you need under this section.
Ruby:
#--------------------------------------------------------------------------
# * CONSTANTS
#--------------------------------------------------------------------------

Got it to work thank you!
 

mlogan

Global Moderators
Global Mod
Joined
Mar 18, 2012
Messages
16,105
Reaction score
8,923
First Language
English
Primarily Uses
RMMV

This thread is being closed, due to being solved. If for some reason you would like this thread re-opened, please report this post and leave a message why. Thank you.

 
Status
Not open for further replies.

Latest Threads

Latest Posts

Latest Profile Posts

Working in the IT industry:
- "How long does it take?".
- "It takes 1 month".
- "What if we add more people to the project?".
- "It would take 2 months".
Doing RPG Maker News for 16th September 2021

Stream is live! I am currently doing pixel art and will be practicing shading! Feel free to drop by!
wow, Surface Tension is really one MF of an FPS level huh
So, I got let go from my current job because my skill set didn't align with the department's goals anymore. I have some hope, because I am currently in contact with a manager from a different department, and they are desperate for more employees. We'll see what happens... :kaoswt:

Forum statistics

Threads
115,120
Messages
1,087,371
Members
149,606
Latest member
Jake_Combe
Top