読者です 読者をやめる 読者になる 読者になる

RPGツクール素材メモ

同人RPGの制作で役立ちそうなスクリプト・プラグイン素材を書き留めておく

ツクールVXAce(RGSS3)でレベルアップ時の能力値を表示

RGSS3

レベルアップした時に、上がった分のパラメーターを表示して欲しい。
もちろん戦闘後にじゅぎゃーんとカッコ良く表示する物はあるけど、自分はもっとシンプルなメッセージ表記が欲しかった。

で、これが調べたら

http://www14.atpages.jp/mikadan/ehime/sozai/e_sozai_vx_script010.html

とかでVXのはあるものの、VXAceでは見当たらなかったので、軽く作ってみました。

#
# 主人公レベルアップ時に、上がったパラメーターを表示
#

class Game_Actor < Game_Battler
  alias params_change_exp change_exp
  def change_exp(exp, show)
    @before_level = @level
    params_change_exp(exp, show)
  end

  def display_level_up(new_skills)
    $game_message.new_page
    $game_message.add(sprintf(Vocab::LevelUp, @name, Vocab::level, @level))
    _display_params_up #
    new_skills.each do |skill|
      $game_message.add(sprintf(Vocab::ObtainSkill, skill.name))
    end
  end
  
  def _display_params_up
    text = ""
    8.times{|i|
      val = self.class.params[i , @level] - self.class.params[i , @before_level] 
      sign = ""
      sign = "" if(val < 0)
      # \\C[1] 文字色指定とかも可能
      text += "#{Vocab.param(i)} #{sign}#{val.abs}"
      text += " , "
      text += "\n" if(i == 1 or i == 4)
    }
    # 一番末尾の,を取る
    line = text.split(" , ").join(" , ")
    $game_message.add(line)
  end
end

f:id:gamecome:20160409215858j:plain

これでLVアップ時に、自動で能力値の増減が表示されるように。
(なお、単純に職業のパラメーターの推移から取っているので、LVアップと同時に特徴を取得して攻撃力が150%アップ…とかは計算できてない)

イベントコマンドから「経験値の増減」、あるいは「レベルの増減」…を選ぶ時は
『レベルアップメッセージの表示』にチェックを忘れないようにしましょう。