RMRK is retiring.
Server is paid up for the rest of 2026, but the forum may go after that. See here for more information. Please archive or save anything you would like to keep before 2027.
Main Menu
  • Welcome to The RPG Maker Resource Kit.

More obvious level up alert

Started by Disco Viking, February 01, 2006, 02:00:27 PM

0 Members and 1 Guest are viewing this topic.

Disco Viking

In the default battle sytem, it only gives a tiny bit of text saying "Level Up".

I once downloaded a battle system where at the end, if someone levelled it would bring up a window saying they had levelled and show they're old and new stats.

I cannot find that anymore.
If someone could either link me to that battle system, I will find the script etc.
Or post the script to do that here, that would be brilliant.

Thanks.

Mia the Rabbit

I think this is it. I tried it out and it worked but I can't remember how to use it exactly >.<

The web address after 'Script found at' doesn't work by the way >.<


Quote
#================================================
# ====Stat Show======
#================================================
#
#
#
#
#
# Window_BattleStatus
#
#?¥?£?¥ XRXS_BP10. LEVEL UP!"\—Í?ã?¸•\ަƒEƒBƒ"ƒhƒE plus! ?¥?£?¥
# by ?÷‰ë ?Ý"y
#
# —v?FXRXS.RGSS‰ü—ǃJƒXƒ^ƒ}ƒCƒY
#
#
#Script found at http://f26.aaa.livedoor.jp/~xxms/RPGXP_XRXS_BP10.htm
#Modified by Guillaume777
#
#
#==============================================================================
# ?  ƒJƒXƒ^ƒ}ƒCƒYƒ|ƒCƒ"ƒg
#==============================================================================
class Scene_Battle
  LEVEL_UP_SE   = ""                       # ƒŒƒxƒ‹ƒAƒbƒvSE?B"",Å–³,µ?B
  LEVEL_UP_ME   = "Audio/SE/087-Action02" # ƒŒƒxƒ‹ƒAƒbƒvME
end
class Window_SkillLearning < Window_Base
  SKILLLEARN_SE = "Audio/SE/106-Heal02"    # ƒXƒLƒ‹?K"¾SE?B
end
#==============================================================================
# ?¡ Window_LevelUpWindow
#------------------------------------------------------------------------------
# ?@ƒoƒgƒ‹?I—¹Žž?AƒŒƒxƒ‹ƒAƒbƒv,µ,½?ê?‡,ɃXƒe?[ƒ^ƒX,ð•\ަ,•,éƒEƒBƒ"ƒhƒE,Å,•?B
#==============================================================================
class Window_LevelUpWindow < Window_Base
  #--------------------------------------------------------------------------
  # ?œ ƒIƒuƒWƒFƒNƒg?‰Šú‰»
  #--------------------------------------------------------------------------
  def initialize(x, y, actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  #  super(x, y, 160, 192)
    super(x, y-32, 160, 192+32)
 
    self.contents = Bitmap.new(width - 32, height - 32)
    self.visible = false
    self.back_opacity = 160
    refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  end
  #--------------------------------------------------------------------------
  # ?œ ƒŠƒtƒŒƒbƒVƒ...
  #--------------------------------------------------------------------------
  def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
    self.contents.clear
    self.contents.font.size = 20
    self.contents.font.name = $defaultfonttype
    self.contents.font.color = system_color
    self.contents.draw_text( 20,   0, 160, 24, "LEVEL UP!!")
    self.contents.draw_text( 0,  28+32, 160, 24, $data_system.words.hp)
    self.contents.draw_text( 0,  50+32, 160, 24, $data_system.words.sp)
    self.contents.draw_text( 0,  0+32,  80, 24, "Level")
    self.contents.draw_text( 0,  72+32,  80, 24, $data_system.words.str[0,3])
    self.contents.draw_text( 0,  94+32,  80, 24, $data_system.words.dex[0,3])
    self.contents.draw_text( 0, 116+32,  80, 24, $data_system.words.agi[0,3])
    self.contents.draw_text( 0, 138+32,  80, 24, $data_system.words.int[0,3])
    self.contents.draw_text(76,   0+32, 128, 24, "=")
    self.contents.draw_text(76,  28+32, 128, 24, "=")
    self.contents.draw_text(76,  50+32, 128, 24, "=")
    self.contents.draw_text(76,  72+32, 128, 24, "=")
    self.contents.draw_text(76,  94+32, 128, 24, "=")
    self.contents.draw_text(76, 116+32, 128, 24, "=")
    self.contents.draw_text(76, 138+32, 128, 24, "=")
    self.contents.font.color = normal_color
    self.contents.draw_text( 0,   0+32,  72, 24, "+" + (actor.level-last_lv).to_s, 2)
    self.contents.draw_text( 0,  28+32,  72, 24, "+" + up_hp.to_s, 2)
    self.contents.draw_text( 0,  50+32,  72, 24, "+" + up_sp.to_s, 2)
    self.contents.draw_text( 0,  72+32,  72, 24, "+" + up_str.to_s, 2)
    self.contents.draw_text( 0,  94+32,  72, 24, "+" + up_dex.to_s, 2)
    self.contents.draw_text( 0, 116+32,  72, 24, "+" + up_agi.to_s, 2)
    self.contents.draw_text( 0, 138+32,  72, 24, "+" + up_int.to_s, 2)
    self.contents.draw_text( 0,   0+32, 128, 24, actor.level.to_s, 2)
    self.contents.draw_text( 0,  26+32, 128, 24, actor.maxhp.to_s, 2)
    self.contents.draw_text( 0,  48+32, 128, 24, actor.maxsp.to_s, 2)
    self.contents.draw_text( 0,  70+32, 128, 24, actor.str.to_s, 2)
    self.contents.draw_text( 0,  92+32, 128, 24, actor.dex.to_s, 2)
    self.contents.draw_text( 0, 114+32, 128, 24, actor.agi.to_s, 2)
    self.contents.draw_text( 0, 136+32, 128, 24, actor.int.to_s, 2)
  end
end
#==============================================================================
# ?¡ Window_SkillLearning
#------------------------------------------------------------------------------
# ?@ƒŒƒxƒ‹ƒAƒbƒvŽž,È,Ç,ɃXƒLƒ‹,ð?K"¾,µ,½?ê?‡,É,»,ê,ð•\ަ,•,éƒEƒBƒ"ƒhƒE,Å,•?B
#==============================================================================
class Window_SkillLearning < Window_Base
  #--------------------------------------------------------------------------
  # ?œ ŒöŠJƒCƒ"ƒXƒ^ƒ"ƒX•Ï?"
  #--------------------------------------------------------------------------
    attr_reader   :learned                  # ƒXƒLƒ‹,ð?K"¾,µ,½,©,Ç,¤,©
  #--------------------------------------------------------------------------
  # ?œ ƒIƒuƒWƒFƒNƒg?‰Šú‰»
  #--------------------------------------------------------------------------
  def initialize(class_id, last_lv, now_lv)
    super(160,  64-32, 320, 64)
   
    self.contents = Bitmap.new(width - 32, height - 28) # ,í,´,Æ?¤,ð•\ަ
    self.visible  = false
    self.back_opacity = 160
    @learned      = false
    refresh(class_id, last_lv, now_lv)
  end
  #--------------------------------------------------------------------------
  # ?œ ƒŠƒtƒŒƒbƒVƒ...
  #--------------------------------------------------------------------------
  def refresh(class_id, last_lv, now_lv)
    for i in 0...$data_classes[class_id].learnings.size
      learn_lv = $data_classes[class_id].learnings.level
      # ?¡‰ñ,̃Œƒxƒ‹ƒAƒbƒv"͈Í,Å?K"¾,•,éƒXƒLƒ‹,Ì?ê?‡
      if learn_lv > last_lv and learn_lv <= now_lv
        @learned = true
        # SE,Ì?Ä?¶
        if SKILLLEARN_SE != ""
          Audio.se_play(SKILLLEARN_SE)
        end
        # Še•`ŽÊ
        skill_name = $data_skills[$data_classes[class_id].learnings.skill_id].name
        self.contents.clear
        self.contents.font.name = $defaultfonttype
        self.contents.font.color = normal_color
        self.contents.draw_text(0,0,448,32, skill_name + " learned !!")
        self.visible  = true
        # ƒ?ƒCƒ"ƒ‹?[ƒv
        loop do
          # ƒQ?[ƒ€‰æ–Ê,ð?X?V
          Graphics.update
          # "ü—Í?î•ñ,ð?X?V
          Input.update
          # ƒtƒŒ?[ƒ€?X?V
          update
          # ‰æ–Ê,ª?Ø,è'Ö,í,Á,½,烋?[ƒv,ð'†'f
          if @learned == false
            break
          end
        end
        # ƒ?ƒCƒ"ƒ‹?[ƒv,±,±,Ü,Å
      end
    end
  end
  #--------------------------------------------------------------------------
  # ?œ ƒtƒŒ?[ƒ€?X?V
  #--------------------------------------------------------------------------
  def update
    # C ƒ{ƒ^ƒ",ª‰Ÿ,³,ê,½?ê?‡
    if Input.trigger?(Input::C)
      @learned = false
      self.visible  = false
    end
  end
end
#==============================================================================
# ?¡ Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Base
  #--------------------------------------------------------------------------
  # ?œ 'ljÁ?EŒöŠJƒCƒ"ƒXƒ^ƒ"ƒX•Ï?"
  #--------------------------------------------------------------------------
    attr_accessor :level_up_flags             # LEVEL UP!•\ަ
end
#==============================================================================
# ?¡ Scene_Battle
#==============================================================================
class Scene_Battle
  #--------------------------------------------------------------------------
  # ?œ ƒAƒtƒ^?[ƒoƒgƒ‹ƒtƒF?[ƒYŠJŽn
  #--------------------------------------------------------------------------
  alias xrxs_bp10_start_phase5 start_phase5
  def start_phase5
    xrxs_bp10_start_phase5
    # Šl"¾ EXP,ðŽæ"¾
    @exp_gained = battle_exp
    # EXP Šl"¾,ðŽæ,è?Á,•
    for i in 0...$game_party.actors.size
      actor = $game_party.actors
      if actor.cant_get_exp? == false
        last_level = actor.level
        actor.exp -= @exp_gained
        if actor.level < last_level
          @status_window.level_up_flags = false
        end
      end
    end
    # ?Ý'è
    @exp_gain_actor    = -1
    # ƒŠƒUƒ‹ƒgƒEƒBƒ"ƒhƒE,ð•\ަ
    @result_window.visible = true
  end
  #--------------------------------------------------------------------------
  # ?œ ƒtƒŒ?[ƒ€?X?V (ƒAƒtƒ^?[ƒoƒgƒ‹ƒtƒF?[ƒY)
  #--------------------------------------------------------------------------
  alias xrxs_bp10_update_phase5 update_phase5
  def update_phase5
    @level_up_phase_done = false if @level_up_phase_done != true
    # C ƒ{ƒ^ƒ",ª‰Ÿ,³,ê,½?ê?‡
    if Input.trigger?(Input::C)
      # ƒEƒBƒ"ƒhƒE,ð•Â,¶,ÄŽŸ,̃AƒNƒ^?[,Ö
      @levelup_window.visible = false if @levelup_window != nil
      @status_window.level_up_flags[@exp_gain_actor] = false
      @level_up_phase_done = phase5_next_levelup
    end
    if @level_up_phase_done
      if @phase5_wait_count < 2
        # ƒŠƒUƒ‹ƒgƒEƒBƒ"ƒhƒE,ðvisible=true,Å,à•s‰ÂŽ‹,É
        @result_window.opacity = 0
        @result_window.back_opacity = 0
        @result_window.contents_opacity = 0
      end
      # ŒÄ,Ñ–ß,•
      xrxs_bp10_update_phase5
      # ƒŒƒxƒ‹ƒAƒbƒv,µ,Ä,¢,é?ê?‡,Í‹­?§ƒoƒgƒ‹?I—¹
      battle_end(0) if @levelup_window != nil and @phase5_wait_count <= 0
    end
  end
  #--------------------------------------------------------------------------
  # ?œ ŽŸ,̃AƒNƒ^?[,̃Œƒxƒ‹ƒAƒbƒv•\ަ,Ö
  #--------------------------------------------------------------------------
  def phase5_next_levelup
    begin
      # ŽŸ,̃AƒNƒ^?[,Ö
      @exp_gain_actor += 1
      # ?ÅŒã,̃AƒNƒ^?[,Ì?ê?‡
      if @exp_gain_actor >= $game_party.actors.size
        # ƒAƒtƒ^?[ƒoƒgƒ‹ƒtƒF?[ƒYŠJŽn
        return true
      end
      actor = $game_party.actors[@exp_gain_actor]
      if actor.cant_get_exp? == false
        # Œ»?Ý,Ì"\—Í'l,ð•ÛŽ?
        last_level = actor.level
        last_maxhp = actor.maxhp
        last_maxsp = actor.maxsp
        last_str = actor.str
        last_dex = actor.dex
        last_agi = actor.agi
        last_int = actor.int
        # ?í"¬ŒoŒ±'l,Ì?ÄŽæ"¾
        actor.exp += @exp_gained
        # "»'è
        if actor.level > last_level
          # ƒŒƒxƒ‹ƒAƒbƒv,µ,½?ê?‡
          @status_window.level_up(@exp_gain_actor)
          # ƒŠƒUƒ‹ƒgƒEƒBƒ"ƒhƒE,ð?Á,•
          @result_window.visible = false
          # SE,Ì?Ä?¶
          if LEVEL_UP_SE != ""
            Audio.se_play(LEVEL_UP_SE)
          end
          # ME,Ì?Ä?¶
          if LEVEL_UP_ME != ""
            Audio.me_stop
            Audio.me_play(LEVEL_UP_ME)
          end
          # LEVEL-UPƒEƒBƒ"ƒhƒE,Ì?Ý'è
          actors_size = [$game_party.actors.size, 4].max
          x_shift = 160 + (640 - 160*actors_size)/(actors_size - 1)
          x = x_shift * @exp_gain_actor
          y = 128
          @levelup_window = Window_LevelUpWindow.new(x, y, actor, last_level,
            actor.maxhp - last_maxhp, actor.maxsp - last_maxsp, actor.str - last_str,
            actor.dex - last_dex, actor.agi - last_agi, actor.int - last_int)
          @levelup_window.visible = true
          # ƒXƒe?[ƒ^ƒXƒEƒBƒ"ƒhƒE,ðƒŠƒtƒŒƒbƒVƒ...
          @status_window.refresh
          # ƒXƒLƒ‹?K"¾ƒEƒBƒ"ƒhƒE,Ì?Ý'è
          @skilllearning_window = Window_SkillLearning.new(actor.class_id, last_level, actor.level)
          # ƒEƒFƒCƒgƒJƒEƒ"ƒg,ð?Ý'è
          @phase5_wait_count = 40
          return false
        end
      end
    end until false
  end
 
    def battle_exp
    bexp = 0
    # ƒ‹?[ƒv
    for enemy in $game_troop.enemies
      # ƒGƒlƒ~?[,ª‰B,ê?ó'Ô,Å,È,¢?ê?‡
      unless enemy.hidden
        # Šl"¾,ð'ljÁ
        bexp += enemy.exp
      end
    end
    return bexp
  end

end




Kokowam

You could always go to Blizzard's site, ChaosProject. He probably has that in his tons of addons. Just make this a back-up if you can't find anything else.

strykr

I think this may b what im look 4!
NovaSoft Games
---------------------
Twilight Galaxy (In Development)



Leventhan

Use the link on my sig.
There's a lot of levelup scripts.

There's even one when they display all status that rises when leveling up !

Be kind, everyone you meet is fighting a hard battle.

Mia the Rabbit

Found one that works!!!

http://www.creationasylum.net/index.php?showtopic=9017

It only shows the boxes over the first battler though, so it might need a bit of tinkering with



tSwitch



FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: Bandcamp | Twitter | Patreon

Leventhan


Be kind, everyone you meet is fighting a hard battle.