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
33
Reaction score
15
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
33
Reaction score
15
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,115
Reaction score
8,929
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

 …I think I might need to switch from standard ATK/DEF up/down buffs to parameter altering states. I just had an actor whose usual attack against an enemy does ~25 do a buffed attack against a debuffed enemy for ~600…
just saw that titan quest is free on steam until the 23rd
Zombie status is now complete. I didn't have to do much in the way of changing how healing is applied to undead targets, was just a simple 3 line code. I thought I had to overhaul Game_Action lol. Everything else was doable by events. So.. Zombie: You turn undead. Your element changes to darkness. You're weak to light, you're strong to physical attacks and healing hurts you and revival items will kill you.
My Overworld might be a mix of inspiration from 2D Final Fantasy games, Breath of Fire, Battlechasers: Nightwar, Super Mario World, and Pillars of Eternity. If I can make it more in-depth than just walking from point A to point B, that might do a lot for the gameplay experience. Hmm...

Forum statistics

Threads
115,226
Messages
1,088,224
Members
149,817
Latest member
Cythulhu
Top