HOME
ツクール
RGSS
テクニック
ゲーム紹介
制作中のゲーム
ダウンロード
掲示板
ブログ
EnDREss DREamERブログ
PCパーツ・ソフト通販(仮)
DIYチューンブログ
リンク
経験値計算式改造
コンセプト
ツクール純正の経験値設定はすぐにレベルが上がるので嫌だ。
挿入位置
「▼ 素材」のすぐ下辺りに。
完成すると
レベルが後半になるとレベルが簡単に上がらなくなる。つまり、1レベルの重みが増す。
更新履歴
9/13:計算方法を改良。低レベル時と高レベル時の次の経験値のバランス調整
#============================================================================== # ☆VX RGSS2 「経験値計算式改造」☆ # EnDlEss DREamER # URL:http://mitsu-evo.6.ql.bz/ # 製作者 mitsu-evo # Last:2008/9/13 # 次のレベルの経験値設定を改造する。あるレベルからの一定上昇を解消する。 # 最大経験値によるレベル停止を解除。純正より1桁多くして自由度を持たせた。 # ただし、データベースの設定値を最大近くにすると値が大きくなりすぎる。 # レベルアップ時の効果音を設定可能。 # ▼ 素材のすぐ下辺りにでも。 #============================================================================== =begin 9/13:計算方法を改良。低レベル時と高レベル時の次の経験値のバランス調整 =end class Game_Actor < Game_Battler MAX_EXP = 99999999 #最大EXP設定。純正より1桁9が多い LEVEL_UP_ME = "Audio/ME/Fanfare1" #レベルアップ時ME #-------------------------------------------------------------------------- # ● 経験値の変更(上限9999999を変更) # exp : 新しい経験値 # show : レベルアップ表示フラグ #-------------------------------------------------------------------------- alias change_exp2 change_exp def change_exp(exp, show) RPG::BGM.stop last_level = @level last_skills = skills @exp = [[exp, MAX_EXP].min, 0].max while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0 level_up end while @exp < @exp_list[@level] level_down end @hp = [@hp, maxhp].min @mp = [@mp, maxmp].min if show and @level > last_level #MEを鳴らす Audio.me_play(LEVEL_UP_ME,100,100)#レベルアップ音楽 display_level_up(skills - last_skills) end end #-------------------------------------------------------------------------- # ● 経験値計算(変更版) #-------------------------------------------------------------------------- alias make_exp_list2 make_exp_list def make_exp_list #純正の経験値曲線を改造する。 @exp_list[1] = @exp_list[100] = 0 m = actor.exp_basis #経験値曲線の基本値 n = 0.75 + actor.exp_inflation / 200.0; #倍率「0.75+増加度/200.0」 b = 10 #追加倍率 a = (actor.exp_basis + actor.exp_inflation) / b #基本+増加/追加倍率 b *=0.99 #追加倍率*0.99 for i in 2..99 #次の経験値=現在レベル経験値 + 増加度 + a(追加した値) @exp_list[i] = @exp_list[i-1] + Integer(m) + Integer(a) m *= 1 + n; #増加度 *(1+n)nは1以下の少数値。つまり1.nになる n *= 0.9; #n * 0.9 する。レベルが増加するとmの増加倍率減少 i2 = (i ** 2) #レベルの2乗 i2 *= 0.9 #その結果に0.9を乗算 #(基本+増加/追加倍率)*i2 a = ((actor.exp_basis + actor.exp_inflation) / b) * i2 b *=0.98 #追加倍率*0.98 end end end
Copyright (C)
永遠の夢に向かって
. All Rights Reserved.
テンプレートのpondt
リサーチ