RPGツクールMV制作日記 フィールドイベント編
フィールドイベント
RPGツクールMVでフィールドイベントって作れないかな?とふと思いました。
フィールドイベントとは、フィールドマップを歩いている時に、ただモンスターが現れるだけじゃなくて、色々なイベントが発生するというもの。
フィールド歩くのが楽しくなりそうじゃないですか?
そんなフィールドイベントが実装できるプラグインって存在しないのかしら?と調べましたが存在せず。
プラグインじゃなくてコモンイベントでも出来るんじゃないかな?
だからプラグインが無いのかな?と思ったのでコモンイベントで作ってみました。
フィールドイベントでやりたい事
「お金を拾う」や逆に「お金を落とす」、「旅の道具屋に出会う」など11種類用意したい。
フィールドを歩いていたらランダムで発生するようにしたい。
フィールドイベントのトリガー用コモンイベント
まず、トリガー部分のコモンイベントを作りました。
マップに直接イベントを作っても出現条件の変数は「より大きい」しか設定出来ない為、不便です。
なので、変数で0~10の11個の数字が代入されるように作りました。
その乱数によりスイッチNo,30~40のどれかがONになるという形です。
これで11種類のフィールドイベントを用意することができます。
コモンイベントの内容は下記です。
◆変数の操作:#0001 フィールドイベント = 乱数 0..10 ◆条件分岐:フィールドイベント = 0 ◆スイッチの操作:#0030..0040 = OFF ◆スイッチの操作:#0030 フィールド0 = ON ◆ :分岐終了 ◆条件分岐:フィールドイベント = 1 ◆スイッチの操作:#0030..0040 = OFF ◆スイッチの操作:#0031 フィールド1 = ON ◆ :分岐終了 ◆条件分岐:フィールドイベント = 2 ◆スイッチの操作:#0030..0040 = OFF ◆スイッチの操作:#0032 フィールド2 = ON ◆ :分岐終了 ◆条件分岐:フィールドイベント = 3 ◆スイッチの操作:#0030..0040 = OFF ◆スイッチの操作:#0033 フィールド3 = ON ◆ :分岐終了 ◆条件分岐:フィールドイベント = 4 ◆スイッチの操作:#0030..0040 = OFF ◆スイッチの操作:#0034 フィールド4 = ON ◆ :分岐終了 ◆条件分岐:フィールドイベント = 5 ◆スイッチの操作:#0030..0040 = OFF ◆スイッチの操作:#0035 フィールド5 = ON ◆ :分岐終了 ◆条件分岐:フィールドイベント = 6 ◆スイッチの操作:#0030..0040 = OFF ◆スイッチの操作:#0036 フィールド6 = ON ◆ :分岐終了 ◆条件分岐:フィールドイベント = 7 ◆スイッチの操作:#0030..0040 = OFF ◆スイッチの操作:#0037 フィールド7 = ON ◆ :分岐終了 ◆条件分岐:フィールドイベント = 8 ◆スイッチの操作:#0030..0040 = OFF ◆スイッチの操作:#0038 フィールド8 = ON ◆ :分岐終了 ◆条件分岐:フィールドイベント = 9 ◆スイッチの操作:#0030..0040 = OFF ◆スイッチの操作:#0039 フィールド9 = ON ◆ :分岐終了 ◆条件分岐:フィールドイベント = 10 ◆スイッチの操作:#0030..0040 = OFF ◆スイッチの操作:#0040 フィールド10 = ON ◆ :分岐終了
いったん全てをOFFにして、一つのスイッチをONにするという形で書きました。
このフィールドトリガー用のコモンイベントは町や村の出入り時や、フィールドイベント発生後に実行するようにしました。
次に、11個のフィールドイベントのコモンイベントを用意します。
フィールドイベントのコモンイベント
フィールドイベント全部を紹介しちゃうと私のゲームのネタバレで面白みが無くなってしまうので、11個の内の1つだけご紹介します。
下記コモンイベントは「お金を拾う」という内容です。
◆移動ルートの設定:プレイヤー (ウェイト) :移動ルートの設定:◇プレイヤーの逆を向く ◆SEの演奏:Chime1 (90, 130, 0) ◆フキダシアイコンの表示:プレイヤー, びっくり (ウェイト) ◆変数の操作:#0002 フィールド確率 = 乱数 0..2 ◆条件分岐:フィールド確率 = 0 ◆変数の操作:#0002 フィールド確率 = 乱数 10..50 ◆文章:なし, ウィンドウ, 下 :文章:ラッキー! :文章:\V[2] Gを拾った! ◆所持金の増減:+ {フィールド確率} ◆コモンイベント:フィールドトリガー ◆ :分岐終了 ◆条件分岐:フィールド確率 = 1 ◆変数の操作:#0002 フィールド確率 = 乱数 50..100 ◆文章:なし, ウィンドウ, 下 :文章:ラッキー! :文章:\V[2] Gを拾った! ◆所持金の増減:+ {フィールド確率} ◆コモンイベント:フィールドトリガー ◆ :分岐終了 ◆条件分岐:フィールド確率 = 2 ◆変数の操作:#0002 フィールド確率 = 乱数 100..500 ◆文章:なし, ウィンドウ, 下 :文章:ラッキー! :文章:\V[2] Gを拾った! ◆所持金の増減:+ {フィールド確率} ◆コモンイベント:フィールドトリガー ◆ :分岐終了
これはイベント発生時にプレイヤー上部にビックリマークの吹き出しが出ます。
変数で乱数0,1,2の代入をします。
0だった場合は10~50Gゲット。
1だった場合は50~100Gゲット。
0だった場合は100~500Gゲット。
という感じです。
ランダムにゲットできる金額の幅を分けた方が良いかなと思い、このようにしました。
最初の確率と金額が同じ変数#0002ですが、すぐに違う数字が代入されるんだし、同じでも別にいいやと同じにしちゃってます。
そして、最後に再度フィールドトリガーのコモンイベントを走らせて終わりという形です。
フィールドマップにフィールドイベントを設置
11個全てのフィールドイベントが完成したら、フィールドに設置します。
こんな風に自分で適当にイベントを置きます。
これだと決まった場所でしか発生しないので完全なランダムではない気がしますが、「森の方ではこのイベントがよく起こる」など自分好みに設定でき、その情報をプレイヤーには村人から伝えれば親切かなと思いました。
先ほど作った「お金を拾う」コモンイベントの場合は下記のようにフィールドマップに設置しました。
出現条件:スイッチ0030 フィールド0
◆コモンイベント:お金拾う
これだけです。
他のイベントは発生条件のスイッチとコモンイベント内容を変えれば良いだけです。
最後に
初めて変数を使ってイベントを作ってみましたが、テストした結果上手く動いて凄く嬉しかった&達成感がありました。
やっぱりモノづくりって楽しいですね。
初めての変数イベントなので、もっとこう書いた方が良いとか、もっとこうした方が効率が良いとかあるかもです…。
ちょっと前の自分のように「変数って何?ランダムに発生させるイベントってどう作ればいいんだ?」となっているという方の参考になればと思い、ブログに書こうと思いました。
参考になれれば嬉しいです。