ツクールVXAce(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
これでLVアップ時に、自動で能力値の増減が表示されるように。
(なお、単純に職業のパラメーターの推移から取っているので、LVアップと同時に特徴を取得して攻撃力が150%アップ…とかは計算できてない)
イベントコマンドから「経験値の増減」、あるいは「レベルの増減」…を選ぶ時は
『レベルアップメッセージの表示』にチェックを忘れないようにしましょう。