RPGツクールMV:お城の中にいろいろな人を作る

ここでは、話しかけるたびに言うことが変わったり、話したときの状態(レベルや、他の人に話しかけたか、など)によって話すことが変わる人を作る方法について説明します。主にイベントの「条件分岐」「スイッチ」「変数」という機能を使います。ちなみに、これらの機能を組み合わせてイベントを作ることは、いわゆる「プログラミング」そのものです。

ここでは、説明のために中級編の「王国の城」の記事で作ったマップを使っています。あくまで説明のために使うだけなので、このマップでなくとも記事に書かれていることと同じことはできます。

1回目と2回目で違うこをと話す王妃様を作る(セルフスイッチ)

最初に話したときだけ「ああ、勇者様。よく来てくださいました。どうか娘を取り戻してください」と言い、2回目以降は「こんな時に、聖なる剣があれば…」とつぶやくようになる、しゃべった回数でセリフの変わる王妃様を作ってみます。このような、場合によって話すことが変わる人を作る方法として、セルフスイッチという機能があります。ここでは、セルフスイッチを使ってセリフを変える方法について説明します。

イベント編集モードにしておいてから、王妃様を置きたいタイルで右クリックして「新規」を選びます。

イベントの画像やオプションなどを設定します。

まず、王妃様が最初にしゃべりかけたときに話すセリフを入れます。話すようにするには、文章の表示の処理を使います。

実行内容の一番上のところで右クリックして「新規」を選びます。

「文章の表示」を選びます。

1回目にしゃべるセリフを入れます。顔も設定します。

こんな感じになりました。テストプレイをしてみると、

文章に入れたとおりにしゃべります。しかし、このままでは何度話しかけても同じことを話します。そこで、スイッチというのを使います。

1回目に話をした直後に、セルフスイッチの操作という処理を入れます。

このボタンを押して、

このままOKを押します。

すると、このようになります。王妃様がしゃべった後で、セリフスイッチがONになるようになりました。しかし、これではまだセリフは変わりません。この次に、ウィンドウの上にある「EVページ作成」のボタンを押して、新しいイベントのページを作ります。

これのボタンを押します。

すると、このように左上に「2」と書かれたタブができて、新しいイベントのページができます。ここで「出現条件」というところの「セルフスイッチ」のところにチェックを入れて、スイッチAを選びます。

こうすると、このイベントの2番のページは「セルフスイッチAがONになっていた時に実行される」ようになります。

実際にこのページにセリフを入れて、試してみましょう。

このように入れています。画像やオプションなども設定しておきます。

こうなりました。では、テストプレイしてみましょう。

1回目は、イベントページ1の文章をしゃべりますが…

2回目は別のことをしゃべりました。3回目以降は、何度話しても同じことをしゃべります。これは、2回目にしゃべったときはセルフスイッチの操作をしていないからです。試しに、2回目にしゃべったときに、セルフスイッチAをOFFにしてみましょう。

こんな感じです。

実行内容はこうなります。これでテストプレイすると、イベントページ1と2のセリフを交互にしゃべるようになります。このように、セルフスイッチを使うことで、同じ人でも話すたびに違うことを話せるようにできます。

ただし、セルフスイッチはあくまでONとOFFの切り替えしかできないので、スイッチひとつでは2種類のセリフを切り替えることしかできません。話すたびにどんどん内容を変えていきたければ、スイッチのB、Cなども使う必要があります。たとえば、3回目にしゃべるとさらに違うことを言うようにする場合は、スイッチBを使います。

イベントの3ページ目を作り、セルフスイッチBがONになっているときに、これが実行されるように出現条件を設定します。

そして、イベントの2ページの最後の処理に、セルフスイッチBをONにする処理を入れます。こうすると、王妃様は1回目はページ1の内容を、2回目はページ2の内容を、3回目以降はページ3の内容をしゃべるようになります。

ここで二つ重要なことがあります。ひとつは、イベントを実行するかどうか(出現条件)のチェックは、ページ番号が大きいほうから小さいほうに順番にされるということです。二つ目は、セルフスイッチは「一人の人の中でだけ有効」ということです。順番に説明しましょう。

イベントページは番号の大きいほうから条件がチェックされる

イベントの1-3のページは、王妃様が「どれをしゃべるか」を考えている、頭の中のようなものです。王妃様は「セルフスイッチ」のどれがONになっているかをチェックしていき、AがONならページ2を実行し、BがONならページ3を実行し、どれもONでなければページ1を実行します。

最初はどのスイッチもONではないので、ページ1が実行されます。

王妃様の頭の中(イベントの処理)はこんな感じです。こういうことを考えた結果、ページ1のセリフをしゃべります。

では、一度しゃべってスイッチAがONになった後で、話しかけられた時はどうでしょう。

王妃様はこう考えて、ページ2のセリフをしゃべります。


そして、ページ2の内容をしゃべったあとは、セルフスイッチBをONにします。このあと、さらに話しかけられるとどうでしょうか。

こう考えて、ページ3のセリフをしゃべります…という感じであってそうなのですが、ちょっと待ってください。よく考えると、スイッチAもONになってますよね。

王妃様の頭の中はこんな感じになってそうです。でも、実際にはページ3の内容だけをしゃべります。つまり、スイッチAがONであることは無視し、スイッチBがONであることだけを王妃様は見ています。

こんなことになるのは、王妃様は「イベントのページ番号が高いほうから順番に、しゃべる条件を見ている」からです。具体的に言うと、スイッチAだけがONのときは、実際には下のように考えています。

最初にページ3の条件(スイッチBがON)をチェックして、スイッチBがOFFだと分かったので、次にページ2の条件(スイッチAがON)をチェックしています。それでスイッチAがONならば、スイッチ2のセリフをしゃべるわけです。

スイッチBとAが両方ONのときは、ページ3の条件「スイッチBがON」を先に見て、王妃様はこのページをしゃべればいいんだと分かります。その結果、ページ3のセリフをしゃべるだけになり、ページ2やページ1は無視されます。

ややこしいのですが、一つのタイル(人、物)に対してイベントページが二つ以上あるときは、必ずこのように「番号の大きいページから」順番に条件がチェックされていきます。このことは、一人の人にいろいろなことをしゃべらせたい時には知っておく必要があります。もし、条件が思った通りに動かないなと思ったら、この条件のチェックされる順序(ページ番号の順序)のせいではないかと疑ってみてください。

セルフスイッチは「一人の人の中でだけ有効」

セルフスイッチは、王妃様とか王様とか、しゃべる人によってそれぞれ別のスイッチとして扱われます。これはつまり「王妃様のセルフスイッチA」と「王様のセルフスイッチA」は違うものだ、という意味です。

王妃様を上の記事で3つのページをつくって、セルフスイッチA,Bをつかってセリフを変えるように作ってあるとしましょう。

ここで、王様を上のような感じで作ります。ページ1でセリフをしゃべったあと、セルフスイッチAをONにします。

ページ2は、セルフスイッチAがONのときにしゃべるようにします。これで、王様に2回目にしゃべったときは、ページ2の内容をしゃべるはずです。

さて、王妃様も1回目しゃべりかけると、セルフスイッチAがONになるようにしました。では、もし王妃様に1回だけしゃべってから、王様にしゃべるとどうなるでしょうか?

答えはこうなります。つまり、王様はセルフスイッチAはOFFだと思うわけです。これは、王妃様のセルフスイッチAをONにしても、王様のセルフスイッチAはONにならないからです。セルフスイッチは、それぞれの人ごとに分かれていて、同じ名前(AとかBとか)が付いていても、別のスイッチとして扱われます。

王様の気分としては、こんな感じです。セルフスイッチは、それぞれの人ごとに分かれているのです。もし、王様と王妃様で共通のスイッチを使いたいときは、「セルフスイッチ」ではなく普通の「スイッチ」を使います。これについては、占い師を作るところで説明します。

いろいろなことを助言してくれる大臣を作る(変数を使う)

ここまでで、セルフスイッチを使って話しかけた回数によって、違うことを話す人の作り方を説明しました。セルフスイッチはAからDまであるので、これを使って5つまでのセリフの切り替えができます。しかし、6つ以上にしたいときはどうすればいいのでしょうか。方法はいくつかありますが、ここでは「変数」を使う方法について説明します。

まずは大臣を置きましょう。イベント編集モードにしてから、大臣を置きたいタイルを右クリックして「新規」を選びます。

イベントの1ページ目は、条件を無しにして自己紹介をするようにします。

こんな感じですね。

さて、大臣も1回話しかけたら、2回目からは違うセリフを言うようにしたいわけですが、セルフスイッチではなく「変数の操作」を選びます。

変数は「単独」を選び、0001というのを選んでおきます(最初から選ばれています)。操作は「加算」として、オペランドは「定数」で数値を1にします。

ここで、0001と書かれたところをクリックしてください。

こんな画面になるので、0001を選んでおいてから、名前を「大臣に話した回数」にしてOKを押します。

こうなります。これでOKを押します。

実行内容はこうなりました。この「変数の操作」のところでは何をしているかというと、「大臣に話した回数を1増やす(回数に1加える)」ということをしています。「大臣に話した回数」はゲームが始まった時点では0になっているので、一度話すと回数が1増えるので、結果的に1になるはずです。

では、次にイベントページを作成してページ2を作りましょう。

出現条件をこのようにします。これは「大臣に話した回数が1以上ならこのページを実行する」という意味です。

ページ2はこのような感じで、ページ1とは違うセリフを入れます。これで、テストプレイしてみましょう。

1回目はページ1のセリフを話します。

2回目は、ページ2のセリフを話していますね。3回以上話しても、ページ2の内容をしゃべります。これは、大臣の頭の中で次のように考えているからです。

最初に話しかけたときは、このように考えてページ1の内容をしゃべります。しゃべったあとに、大臣は「大臣と話した回数」を1増やします。

2回目にしゃべったときは、「大臣と話した回数」が1になっているので、ページ2のセリフをしゃべります。セルフスイッチとできていることは同じですが、スイッチのON・OFFではなくて、「大臣と話した回数」の数字をチェックしているところが違います。このような、数字をカウントしたり増やしたり減らしたりできる仕組みのことを「変数」といいます。

変数は、スイッチと違って数字をカウントできるので、ページの種類を区別するのは4つまで、というような制限がありません。ページ3は「大臣と話した回数」≥2、ページ4は「大臣と話した回数」≥3、というようにしていき、大臣と話したあとに、必ず「大臣と話した回数」を1増やすようにすれば、いくつでもページを増やせます。

例えば、ページ2をこのような感じにして、

ページ3をこのようにすると、大臣に話しかけるごとに、ページ1、ページ2、ページ3と順番に内容を話してくれます。

ここで、ページ4をこのようにしてみます。変数の操作のところで、加算ではなく「代入」を選んでいます。

こうすると、ページ4のセリフを話した後は、大臣と話した回数が1に戻されて、次に話しかけたときはページ2のセリフを話します。

大臣の気分としては、こんな感じですね。「変数」を使うことで、たくさんの違うことを話すようにしたり、好きな番号のページに戻るようにできます。「変数」はこれ以外にも、たくさんの使い方があります。使い方については、それぞれ他の記事で説明していきます。

うろうろ歩く町の人を作る

町の中を、好き勝手に歩き回り、話しかけると挨拶だけする町人を作ってみましょう。

町人が最初にいてほしいタイルに、イベントを作成します。

ポイントは「自律移動」のところを「ランダム」にすることと、オプションを「歩行アニメ」にすることです。これで、おばあさんが町の中を勝手に歩き回ります。

セリフも作っておきます。

これで完成です。テストプレイしてみましょう。

元気に歩き回っています。

話しかけると、挨拶もしてくれます。止まっている人しかいないと味気ないですが、歩いている人がいると、多少なりとも活気がある感じがします。

ただ、この人は完全に気まぐれに歩いてしまい、歩く範囲を決めることができません。場合によっては、道をふさいでしまって、困ることもあります。

こんなふうになってしまうと、アイテム屋にいくことができません。このようなことを防ぐために、歩くルートを決めることもできます。ただし説明が長くなるので、それについてはRPG ツクールMV 初心者講座「町の人を作る」 を読んでみてください。

兵士と話した後でしか話しをしてくれない占い師を作る

Aさんとしゃべった後だとBさんのセリフが変わる、というように、他の人と話すことが条件になっている人を作るには、スイッチを使います。上のほうで、話すたびに話すことが変わる人を作るときに、セルフスイッチというのを使いましたが、それとよく似ています。

セルフスイッチと普通のスイッチの違いは、セルフスイッチは一人の人の中だけでスイッチが切り替わるのに対して、普通のスイッチは「ゲームの中のすべての人(イベント)」で同時に切り替わるという点です。実際にやってみましょう。

兵士に話しかけると「聖なる剣は盗まれてしまった。どこに行ったか分からない」といい、その次に占い師に話しかけると「探し物は、大きな山にあるようです。」と教えてくれるようにしてみます。ただし、兵士に話さずに占い師に話すと、今日の天気についてしか教えてくれないことにしてみます。

まずは兵士を作ります。場所はどこでもいいです。イベント編集モードにしてから、兵士を置きたいタイルの上で右クリックして「新規」を選びます。

イベントの編集ウィンドウでは、画像に兵士を選び、オプションの「足踏みアニメーション」をチェックしておきます。このあたりは、イベントの内容とは直接関係ないので、好きに設定しても大丈夫です。たとえば、好みによって歩き回らせるようにしてもかまいません。

こんな感じです。

セリフは、実行内容のところで右クリックして「新規」を選び「文章の表示」を選んで入力します。

顔と文章を入力します。

実行内容はこんな感じになりました。この「文章」の下の菱形のところに、スイッチの変更処理を追加します。


右クリックで「新規」を選びます。

ここで、スイッチの操作を選びます。

操作するスイッチを選ぶ画面が出るので、0001というところをクリックします。

このような、スイッチに名前を付けられる画面が出るので、0001に「兵士に話しかけた」と付けておきましょう。名前は付けなくても、ゲームの動作自体に影響はないのですが、何も書かないでおくとスイッチを何の目的に使ったのか分からなくなってしまいます。書いておくことで、後から見たときに用途が分かって便利です。

これでOKを押します。

操作のところはONを選びます。すべてのスイッチは、ゲームが始まった時点ではOFFになっています。ONにすることで、ゲーム中で「兵士に話しかけた」ことを記憶することができます。

これで兵士については終わりです。念のため、テストプレイしておきましょう。

普通に話しができます。スイッチの操作もされているはずですが、まだ兵士しか作っていないので、この段階では分かりません。

さて、RPGツクールの画面に戻って、占い師を追加します。

このあたりに追加してみます。

兵士に話してない(「兵士に話しかけた」スイッチがOFFのとき)は、天気の話をするようにしたいので、セリフはこのようにしてみます。

イベントページの1番のタブの内容は、こんな感じになります。

次に、EVページのコピーと貼り付けを使って、2ページ目のタブを作ります。(EVページの新規作成でもよいです)

張り付けた時点では、1ページ目と全く同じになってるはずです。「出現条件」の「スイッチ」にチェックを入れて、「0001 兵士と話しかけた」スイッチを選びます。

こんな感じです。スイッチのチェックは二つありますが、上下のどちらを選んでも同じ実行結果になります。

セリフはこのような感じで、聖なる剣のありかを何となく教えるようにします。

これで占い師は完成です。占い師に話しかけても、スイッチの操作はしていません。これでテストプレイしてみましょう。

兵士と話しをせずに、占い師と話しをすると、天気のことを話します。


しかし、兵士に一度話しをしてから、占い師のところに行くと…

セリフが変わりました。スイッチの操作を入れることで、兵士に話をした後だけ、占い師のセリフが変わるようになりました。ちなみに、この後は何度話しかけても、占い師のセリフは同じです。さらに、話すたびにセリフを変えたければ、セルフスイッチを使うなどする必要があります。

これで、兵士に話した後だけ、剣のありかをそれとなく教えてくれる占い師ができました。ここではイベントページをふたつ使って、スイッチがONのときとOFFのときに話すことを変えましたが、イベントページひとつだけで実現する方法もあります。それについても説明しておきましょう。

さきほど、占い師のイベントはこんな感じで作りました。このイベントをいったん削除して、最初から作り直します。

作り直したところです。ここまでは同じですが、左側の「出現条件」は今度は使いません。

実行内容のところで右クリックして「新規」を選んだあと、「条件分岐」を選びます。

このようなウィンドウが出るので、「スイッチ」を選んで「0001 兵士に話しかけた」が「ON」となるように選択肢から選び、左下にある「条件を満たさないときの分岐を作成」にチェックを入れてから OK を押します。

そうすると、こうなります。「条件分岐」のすぐ下にある菱形のところで右クリックし、ここに「兵士に話しかけた後」の文章を、文章の表示で入れます。

ここに「文章の表示」を入れます。

こんな感じで入れます。すると、

このように、文章の表示の処理が入ります。次に「それ以外のとき」と書かれたすぐしたの菱形で右クリックして、今度は「兵士に話しかける前の」文章を入れます。

ここに文章の表示を入れます。

これを入れると、

こうなります。これで、兵士に話しかけた後(兵士に話しかけたスイッチがON)のときは上の文章をしゃべり、そうでないとき(兵士に話しかけたスイッチがOFF)のときは、下の文章をしゃべるようになります。実際にテストプレイして試してみてください。

このように、条件分岐という処理を使うと、イベントページを複数作らなくても、スイッチを使ってイベントの内容を変えることもできます。「出現条件」が簡単なとき(スイッチひとつがONかOFFかだけを調べるようなとき)は、イベントページを複数使うほうが簡単なことが多いです。しかし、イベントページの左側にある「出現条件」が複雑になってくると、イベントページを分ける方法では、思ったように条件を指定できなくなってきます。この条件分岐という処理を使うと、かなり複雑な条件もかけるので、どうしても書けないときはこちらの方法を思い出してください。

条件分岐については、RPGツクールMV 初心者講座のイベントとは?のページに詳しく書かれています。複雑なイベントを作りたいときは、こちらを読むと参考になります。

以上で、条件分岐を使っていろんな人を使う方法の説明は終わりです。