パラメータ振り分け機能を作成します。
本スクリプトと ≪汎用ゲージ描画≫ を併用する場合は、2012/08/05 版以降の ≪汎用ゲージ描画≫ をご使用ください。
↑目次
適当に振り分けてみたり。
# ◆ パラメータ増加量 GAIN_PARAMETER = [ { :key => :health, :name => "体力", :limit => 30, :cost => [ 1, 0.4], :maxhp => [30, 2], :def => [ 1, 0.25], }, # ... { :key => :tgr, :name => "狙われやすさ", :limit => 5, :cost => [1], :tgr => [0.2], }, ] # ← この ] は消さないこと!
:key => キー, :name => "名称", :limit => 振り分け回数上限, :cost => [消費 RP, 消費 RP 補正], :パラメータ(シンボル) => [上昇量, 上昇量補正], # ... 以下、パラメータを必要なだけ
「キー」は、内部で振り分け箇所を管理するために使用します。 他の振り分け箇所と重複しなければ、数値や文字列など何でも構いません。
後でキーを変更すると、変更前のセーブデータが正常に使用できなくなる場合があります。 修復するには、イベント用コマンドreset_distributed_countを使用するか、 セーブデータを削除してください。
消費 RP やパラメータ上昇量は、小数で指定しても構いません。 最終的には、計算結果の小数点以下を切り捨てた値となります。
「消費 RP 補正」「上昇量補正」を省略した場合、0扱いとなります。 (何度振り分けても消費量や上昇量は変化しません)
# 振り分け回数を n とする { :key => :health, # キーは :health :name => "体力", :limit => 30, # 30 回まで振り分け可能 :cost => [ 1, 0.4], # RP を 1 + 0.4 * n 消費 (n は振り分け回数) :mhp => [30, 2], # MaxHP が 30 + 2 * n 上昇 :def => [ 1, 0.25], # 防御力 が 1 + 0.25 * n 上昇 },
{ :key => :chant, :name => "詠唱速度", :limit => 0, # RP が続く限り振り分け可能 :cost => [1, 0.5], :skill_speed => [1], },
次の表は、指定できるパラメータのシンボル一覧です。
# ◆ アクター固有のパラメータ増加量 PERSONAL_GAIN_PARAMETER = []
PERSONAL_GAIN_PARAMETER[アクター ID] = [ 振り分け箇所設定 ]
# <例> アクター1の "体力" を個別に指定。 PERSONAL_GAIN_PARAMETER[1] = [ { :key => :health, :name => "体力", :limit => 30, :cost => [ 1, 0.4], :mhp => [50, 3], :def => [ 1, 0.3], }, ]
# ◆ 職業固有のパラメータ増加量 CLASS_GAIN_PARAMETER = []
CLASS_GAIN_PARAMETER[職業 ID] = { 増加量 }
設定の優先度は職業が最も高く、次いでアクター、デフォルト(GAIN_PARAMETER)の順になります。
# ◆ MaxRP 計算式 MAXRP_EXP = "(level ** 0.25 + 2.0) * level"
# ◆ パラメータ名 VOCAB_PARAM = { :hit => "命中率", # 命中率 :eva => "回避率", # 回避率 :cri => "クリティカル", # クリティカル率 } # ← この } は消さないこと!
# ◆ 振り分けゲージの色 GAUGE_START_COLOR = 28 # 開始色 GAUGE_END_COLOR = 29 # 終了色
色に数値を指定した場合、メッセージウィンドウの \C[n] で表示される色を使用します。 例えば、28なら \C[28] と同じ色になります。
# ◆ 振り分けゲージの開始色 # 赤にする GAUGE_START_COLOR = Color.new(255, 0, 0)
# ◆ 振り分けゲージに汎用ゲージを使用する ENABLE_GENERIC_GAUGE = true # ◆ 振り分けゲージ設定 GAUGE_IMAGE = "GaugeDist" # 画像 GAUGE_OFFSET = [-23, -2] # 位置補正 [x, y] GAUGE_LENGTH = -4 # 長さ補正 GAUGE_SLOPE = 30 # 傾き (-89 ~ 89)
振り分けゲージ用のサンプル画像です。 画像は "Graphics/System" に保存してください。
# ◆ 振り分け終了時の確認コマンド CONFIRM_COMMANDS = [ " 確定", # 振り分け確定 " 中止", # 振り分け中止 " 戻る", # 振り分けを続ける ] # ← この ] は消さないこと!
上から順に「確定」「中止」「戻る(続行)」となります。 確定:RP の振り分けを確定します。 中止:今回の振り分けを破棄し、以前の状態に戻します。 戻る:振り分けを続けます。
# ◆ メニュー画面に「パラメータ振り分け」コマンドを追加する USE_MENU_DISTRIBUTE_PARAMETER_COMMAND = true
# ◆ 振り分け解除を許可 ENABLE_REVERSE_DISTRIBUTE = true
trueの場合、振り分け確定後も RP を振り直すことができます。 falseにすると、一度確定した RP は取り戻せなくなります。
各コマンドは、イベントコマンド「スクリプト」に記述して使用します。
# アクターID:6 の MaxRP を 10 増加させる gain_rp(6, 10)
# アクターID:1 の :health に 3 回振り分けを実行 distribute_param_actor(1, :health, 3) # アクターID:2 の :power に 1 回振り分けを実行 distribute_param_actor(2, :power)
# アクターID:1 の振り分け回数をリセット reset_distributed_count(1)
# 先頭のアクターのパラメータ振り分け画面を表示 call_distribute_parameter # 2番目 (index: 1) のアクターのパラメータ振り分け画面を表示 call_distribute_parameter(1)