飯窪春菜ちゃんファンサイト『はるなんマガジン』

ということで、今回はRPGツクールMVにてプラグインなしで上昇パラメータ割り振りのやり方を紹介しようと思います。

なぜ飯窪春菜ファンサイトでツクールMVの記事を書いた!?言え!!!!


いや、ツクールMV、いいですよね。今までのツクールと違い、作ったものをスマホ(ブラウザ)で遊んでもらえるようになりました。
なので、作る側の間口も広がりツクール触ってみようという新規制作者が増えたのではないかと思っています。

で、このRPGツクールシリーズなのですが、スーパーファミコン世代くらいのRPGを作るには十分な機能が揃っています。
裏を返すと、モダンなRPGに入っている機能はそれほど揃っていなく、少し変わったことをやろうとするとプラグインというものが必要です。

※プラグイン=有志の方々が制作・提供している拡張スクリプト、これを導入するとデフォルトのツクールでは実現できない機能を付加できる


機能を増やしたいと思ったときに、お目当てのプラグインが見つかればいいのですが、見つからないときもあります。
では、自分でプラグインを作りますか?しかし、プラグインはプログラムの知識(javascript)がなければ作れません。

多くの人はここでつまずき、ツクールをアンインストール投げ出してしまうのではないかと思います。

uninstall


だが、ちょっと待ってほしい。その機能、デフォルトで作れないか?
そのソフトの名前を見てみろ!(俺たちが)ツクールって書いてあるだろ!なら作ってみろよ!


ということで、能力値のパラメータ割り振りのやり方を紹介します。




 やり方 


まず、仕様を考えます。
今回は自分のゲーム用に下記の内容で作りました。

1. コモンイベントで実行し、プレイヤーの任意の能力値を上昇させる(LvUP時は上昇させない)
2. 1つレベルが上がるごとに5ポイント分の能力値を上昇できる
3. 上昇させた能力値の上限は100にする



必要なもの


1. コモンイベントを用意

下記のようにコモンイベントに設定します。今回は17番に作ります。
para1


2. 変数を用意
次に変数を用意します。
(HP・MPも上昇させたい場合は同じように変数を用意してください)

■現在の能力値
11 = 現在の攻撃力
12 = 現在の防御力
13 = 現在の魔法力
14 = 現在の魔法防御
15 = 現在の敏捷性
16 = 現在の運

■コモンイベントを実行するかどうか(前回実行時からレベルが上がったかどうか)の判定
17 = 現在のレベル
18 = レベル上昇判定用(最後にパラメータ振り分けを実行したときのレベル)

■5ポイント割り振ったかどうかの判定
19 = 5回判定用
(一度の割り振りで1ポイントずつ、合計で5ポイント分をそれぞれ割り振るため、割り振った回数をカウントします。そのための変数です)

■上昇値(1ポイント割り振りごとにそれぞれ変数に記憶しておき、実行時に値の分だけ成長させる)
21 = 攻撃力の上昇値
22 = 防御力の上昇値
23 = 魔法力の上昇値
24 = 魔法防御の上昇値
25 = 敏捷性の上昇値
26 = 運の上昇値

■上昇後の能力値(上限に達したかどうかの判定や、テキスト表示に使用します)
31 = 上昇後の攻撃力
32 = 上昇後の防御力
33 = 上昇後の魔法力
34 = 上昇後の魔法防御
35 = 上昇後の敏捷性
36 = 上昇後の運



実際にイベントを組む


順に見ていきましょう。


0. 初回実行判定
前準備として、レベル上昇判定変数に1を代入します。(1=初期レベルを設定しています)
スイッチと条件分岐を使用し、イベントを何度実行してもこの部分が実行されるのは1度のみとなるようにします。
キャプチャ1


1. 現在の能力値を変数に代入
11~16、17、31~36の変数にそれぞれ現在の能力値を代入します。
イベントを実行するたび、最新の能力値が代入されることになります。
キャプチャ2


2. 以前の上昇値をリセット
21~26は上昇値です。あとで出てきます。
初回実行時は問題ありませんが、この変数に入る値はあとで上昇するため、以前に実行した際の上昇値を0に戻しておかないとおかしなことになってしまいます。よって、ここで0を代入(リセット)しています。
キャプチャ3


3. パラメータ割り振りを開始してもいいかどうかの判定
キャプチャ4
ここでは変数が2つ登場しています。
先ほど現在のレベルを代入した変数(17)、18はレベル上昇判定変数です。こちらは手順『0. 初回実行判定』時に『1』を代入しています。

よって、 変数18(値=1) < 変数17(値=現在のレベル) のとき、パラメータ割り振りを開始する、ということです。

開始後は、レベル上昇判定変数を+1して値を増やしています。
そうすることで、仮に現在のレベルが10なら、レベル上昇判定変数も10になるまで、イベントを何度も実行できます。
10回実行したら、10(レベル上昇判定変数) < 10(現在のレベル) となるため、実行されないようになります。


4. ループにより上昇値を5回選択させ、変数にどの能力値を選んだのか記憶。さらに、能力値が上限に達したらその能力値を選択できないようにする
キャプチャ5

『能力値を選択できないようにする』には、選択肢をなくしたり、灰色表示にする必要があります。これはツクール標準機能ではできないため、下記プラグインを使用しています。
プラグイン使ってるじゃねえか
http://woodpenguin.web.fc2.com/MV_Plugin/MPP_ChoiceEX.html

プラグインコマンド『ChoiceVariableId 10』は変数10にカーソル位置を記憶するためのものです。くわしくは上記のプラグイン配布サイトを見てください。


各選択肢は下記のように書いています。
無題6

例:
腕力 \V[31]/100 en(v[31] <= 100)

『en(v[31] <= 100)』部分が上記プラグインの機能になっています。プラグインを入れなかったり、上限値100が必要なければ、『腕力 \V[31]』だけで大丈夫です。
(腕力はゲーム内での攻撃力のことです。自分のゲーム用に名前を変えています)

選択肢を実行すると下のようになります。『\V[31]』は変数31に入っている値を表示する制御文字です。『/100』は上限値として書いています。
無題7


最初の画像は切れていますが、『選択肢の表示』部分は下記のように続いています。
キャプチャ8

ここでは変数が2つ(21~26、31~36)登場しています。
変数21~26(それぞれの上昇値)は、手順『2. 以前の上昇値をリセット』にて値『0』を代入しました。ここで選択肢を選択するたび、値が+1されていきます。
(5回繰り返し、5ポイント分の割り振りを数えています)
変数31~36には、手順『1. 現在の能力値を変数に代入』にて現在の能力値を代入したはずです。
31~36の変数も+1をすることで、これが上昇後の能力値となります。

そして、選択している途中でキャンセルしたときの処理が続きます。
キャプチャ9

先にレベル上昇判定変数を+1しているため、キャンセルしたら-1する必要があります。
これは、キャンセルでパラメータを上昇させずに終了したのに、レベルだけ上がっていることになっていまうのを防ぐためです。

また、ラベルジャンプ(任意のラベル位置に飛ばす処理)により、イベント終了処理へ飛んでいます。
ラベルの位置はあとで出てきます。


5. 5ポイント分の上昇パラメータ選択後、成長を確定する
キャプチャ10

手順4で選択肢を選ぶたび、変数19の値が+1されます。
この値が5になったとき(上昇させる能力値を5回選択したとき)、『条件分岐 5回判定 = 5』以下が実行されます。

まず、次回実行時用に変数19をリセットします。

文章、及び選択肢『はい、いいえ』により、能力上昇前の最終確認を促します。
無題12

制御文字を使用し、上昇後の能力値(変数31~36)、何ポイント割り振ったか(変数21~26)を表示しています。
例:
\c[14]腕力\c[0] \V[31] (\c[24]+\V[21]\c[0])



『はい』選択時はイベントコマンドの『能力値の増減』を使い、変数21~26の値分それぞれ成長させます。
(変数21~26は、選択肢を選択した回数の値が入っているはずです)

『いいえ』では各変数をリセットしています。最終的にパラメータを上昇させなかったわけですので、もう一度始めからこのコモンイベントを呼び出したときにも同じように動作させる必要があるためです。

また、上昇パラメータ選択時に『キャンセル』した場合、ラベルジャンプによりこのラベルに飛んできます。
要するに『いいえ』でも『キャンセル』でも、『パラメータ上昇を確定しなかった』として同じ結果(イベント実行前の元の状態)になるようにしています。

キャプチャ13

画像が切れてしまっているため処理の流れが分かりづらいですが、最後は上の画像のようになっています。
画像をつなげて考えるとわかりやすいと思いますが、ループによりパラメータ選択、そのあと変数19で回数をカウントし、5回になったらループを抜けるための条件分岐に移行しています。



 まとめ 


  • 初回実行であればレベル判定変数の値を1にする。
  • 11~16、17、31~36に現在の能力値、レベルを代入する。
  • 以前実行時よりレベルが上がっていれば、パラメータ割り振りを実行する。割り振り実行の際、レベル判定用変数を+1する。
  • プレイヤーが選択した、上昇させたい能力値を変数21~26に+1する。また、1回の選択毎に変数19でカウントする。この処理はループする。
  • 5回選択後(変数19のカウントが5になったら)にループを抜ける。
  • 選択肢『はい』『いいえ』でプレイヤーに最終確認。プレイヤーが選択した能力値および上昇値は変数21~26に入っているため、これを成長値として使用する。
  • 『選択肢のキャンセル』、『いいえ』の処理の際、上昇した変数をリセットする。

  • こんな感じです。

    今回はコモンイベントでの実行ですので、NPCに話しかけてからの実行を想定していますが、
    初回実行の分岐を別のところで実行して、コモンイベントを並列で動かしてレベル判定<現在のレベルをトリガーにすれば、戦闘終了時にレベルアップ→マップに戻ったらコモンイベントが実行されパラメータ振り分け、という流れもできるかもしれませんね。たぶん。試していないので分かりません。


    ここまで読んでいただいてありがとうございました。
    それでは最後にツクールMVのことは全て忘れて、飯窪春菜ちゃん(はるなん)のかわいい画像でも見てから帰っていってください。

    グッドラック!

    CapuYr0VIAEpIr3

    CY2Mo7dUMAENOJ6

    CY2P7ZsUEAAJqpO

    20150622211446717_1000

    20150517225507796_1000

    20150510212224329_1000

    20150823140846633_1000

    20150414211542063_1000

    20140829234907830_1000

    20150211191943934_1000

    20151004213037860_1000

    538eebe9b41c0601cf383dda80de8ab823d43c37

    6dc181443f86bdd93bd75439e2b03b06978ee343

    CYVIrSlU0AAeGwg

    CY2QyTeUEAAv-zu

    IMG_1537

    IMG_1536

    BqoOZ-PCMAEfW2m

    o0480064112988177209

    o0480048012981336472

    飯窪春菜水着4

    飯窪春菜水着1

    A7E69P-CcAAfiRz

    o0480065413114663038

    20141031140044500_1000

    20160107221236150_1000


    Copyright © iikuboharuna.com All Rights Reserved.