初心者向けRPGツクールVX講座、第15回目です。
第14回では、魔王城のマップを描いて、そこにワナを置いてみました。
今回は、プレイヤーが「魔王城」の奥に進むためにクリアしなければならない仕掛けを作っていきます。
プレイヤーが簡単に先へ進めないようにするにはどうすればいいでしょうか? ひとつは魔物の洞窟で作ったような鍵つき扉を置くといった仕掛けが考えられます。そこで、同じ扉でも魔王城では少し凝った仕掛けに挑戦してみたいと思います。
魔王城・1階の仕掛けを考えてみました。
まず2階へ続く階段の手前の通路に鍵穴のない扉を作り、先へ進めないようにします。1階の3箇所に石版(イベント)を配置して、それらを調べることで壊せるようにします。そして3つの石版すべてを壊した時点で鍵穴のない扉が開く(扉のイベントが消える)ようにします。ここで重要となるのが、3つの石版をすべて調べた(壊した)という判断をどのように行なうかということです。
最初に思い浮かぶのはスイッチを使うことです。しかし、スイッチが判断できるのははON/OFFの区別のみです。これではそれぞれの石版が壊れたか壊れていないかの判断しかできません。3つすべてが壊されたことを判断するのに使うのが“変数”です。“変数”については次のステップから説明していきますが、『RPGツクールVX』をマスターするにあたって必須とされる要素のひとつです。仕組みさえわかってしまえば非常に便利なものなので、がんばって覚えてしまいましょう。
それでは“変数”を使ってイベントを組んでみる前に、その概念について説明しておきましょう。
第4回にて「スイッチとはゲーム内で行なわれた処理を記録しておくための目印」という説明をしました。“変数”も役割としてはスイッチと同じく「ゲーム内で行なわれた処理を記録しておくための目印」です。スイッチと大きく違うのは、スイッチはON/OFFのふたつの状態しか記憶できないのに対して、変数はその中に数値を記憶しておくことができる点です。
変数を操作する際の基本は、中学校の数学で習う“代入”です。0001番の変数を例に説明します。変数0001番の初期状態は「0」です。ここで、イベントコマンドを使って「変数0001番に5を代入する」という命令を実行したとします。するとゲーム内では「変数0001番の中にある数値は5である」として参照できるようになります。そのあとで「変数0001番に7を代入する」という命令を実行すれば、今度は「変数0001番の中にある数値は7である」として参照できるようになります。また、数値として扱っているので、変数の中の数値に対して、任意の数値を足したり(加算)、引いたり(減算)、かけたり(乗算)、割ったり(除算)することもできます。
たとえば初期状態の変数0001番(中の数値は「0」)に「1を足す」という命令を実行すると、実行後の変数0001番の中の数値は「1」になります。もういちど「1を足す」という命令を実行すればさらに「1」が加算されて、変数0001番の中の数値は「2」になります。変数とは「数を覚えておけるスイッチ」という風に覚えておくとよいでしょう。
これだけの説明では、変数がどういうものなのかピンとこない人も多いと思います。そこで実際にイベントを組みながら使い方を学んでいくことにしましょう。
変数とは「数を覚えておけるスイッチ」であると説明しました。これは具体的にいうと特定のアイテムの所持数や特定の行動の回数を数えて、変数の中に覚えておけるということです。ちょっとだけピンときたでしょうか?そうです。プレイヤーが壊した3つの石版の数を、この変数を使って覚えておけば(数えれば)よいのです。それではどのような操作で数えればよいのか、実際に組みながら説明します。
壊せる石版のイベントを組んでいきます。
[モード]を[イベント]にします。
1枚目の石版は「魔王城・1階」(045,035)に置きます。ここにカーソルを合わせて右クリック、ポップアップメニューから[イベントの作成]を選びます。
石版のグラフィックは「Tileset-C」にあります。[プライオリティ]は[通常キャラと同じ]にしておきます。[自律移動][オプション][トリガー]は初期設定のままでかまいません。
プレイヤーが石版を壊したことを認識できるように、メッセージで教えてあげるようにしましょう。[実行内容]の下にある「◆」のマークをダブルクリック、イベントコマンド一覧の1ページ目にある[文章の表示]を選びます。
[文章の表示]の下にある「◆」のマークをダブルクリック、イベントコマンド一覧の1ページ目にあるイベントコマンド[変数の操作]を選んでください。
設定できる項目がたくさんあるので一瞬迷ってしまいますが、必要な設定は3項目だけです。
まず[変数]です。この項目ではスイッチと同じく実際に操作したい変数を指定します。ここでは[単独]にチェックがつた状態で右にある「…」をクリック、0001番の変数を選びます。
スイッチと同じく名前をつけることができますので、名前をつけておきましょう。名前はわかりやすく「石版を壊した数」としました。
[操作]とは、指定した変数に対して行なう操作(代入や加算など)のことです。ここでは[加算]にチェックを入れてください。
聞きなれない言葉ですが、[オペランド]とは、指定した変数に対して実際に代入されたり、足したりされる数値のことです。直接数値を入力することもできますし、アイテムの所持数のようにゲーム中の情報を参照にすることもできます。ここでは“定数”にチェックを入れて、数値を「1」と入力してください。
これまでの操作で、変数[0001:石版を壊した数]に定数「1」を[加算]する設定になりました。ここで「1」を[加算]することにしたのは、プレイヤーが3つ配置する石版のうちのどれから調べるかがわからないからです。ひとつ調べるたびに変数[0001:石版を壊した数]が1増えていくようにすれば、どの石版から調べても、1枚目を調べたときに変数[0001:石版を壊した数]の数値が1に、2枚目を調べたときに変数[0001:石版を壊した数]の数値が2に、そして3枚目を調べたときに変数[0001:石版を壊した数]の数値が3になります。そして変数[0001:石版を壊した数]の数値が3になれば、石版を3枚とも調べた(すべて壊した)ことになるわけです。
同じ内容のイベントが繰り返されないようにセルフスイッチを使って管理します。[変数の操作]の下にある「◆」のマークをダブルクリック、イベントコマンド一覧の1ページ目にあるイベントコマンド[セルフスイッチの操作]を選んでください。
[セルフスイッチ]は「A」を、[操作]は「ON」を選びます。
2ページ目の役割は壊した後の石版を表現することにあります。イベントの編集画面の上の方にある[イベントページ作成]をクリックして2ページ目を新規作成します。
イベントの出現条件は[セルフスイッチ]にチェックを入れます。「A」がONとなっていればOKです。
「Tileset-C」から壊れた石版のグラフィックを選びましょう。[自律移動][オプション][プライオリティ][トリガー]は初期設定のままでかまいません。
これで石版のイベントができました。すでにお気づきの人もいるかもしれませんが、実は残りふたつの石版のイベントもまったく同じ内容となります。理由は、どの石版から調べてもいいように、いずれのイベントも変数[0001:石版を壊した数]が1増えていく内容にしているからです。またイベントの管理にセルフスイッチを使っているので、通常のスイッチを使った場合と違ってイベントごとに専用のスイッチを設定し直す必要もありません。そのため、これら3つのイベントはすべて同じ内容でもよいわけです。
「魔王城・1階」(045,035)の石版のイベントにカーソルを合わせて右クリック、ポップアップメニューから[コピー]を選びます。
次に、新たに石版のイベントを置きたい場所にカーソルを合わせて右クリック、ポップアップメニューから[貼り付け]を選びます。ここでは、残りふたつの石版を(010,020)と(047,007)に貼り付けました。
2階へ続く階段の前に立ち塞がる、鍵穴のない扉のイベントを作ります。このイベントは2ページ構成となります。1ページ目は、壊した石版の数が3枚に満たないのときの内容。2ページ目は石版を3枚すべて壊したときの内容です。
イベントを置く場所は「魔王城・1階」(028,017)です。カーソルを合わせて右クリック、ポップアップメニューから[イベントの作成]を選びます。
1ページ目は壊した石版の数が3枚に満たないのときの内容です。この場合、扉は開きません。メッセージを表示して、そのことをプレイヤーに知らせます。
[グラフィック]をダブルクリックして扉の絵を設定します。!Door1の下の段、右から2番目の絵を選択します。[自律移動][オプション][プライオリティ][トリガー]の設定は変更しません。
[実行内容]と書かれた下にある「◆」のマークをダブルクリックして、イベントコマンドの一覧から[文章の表示]を選択します。[文章]の枠内にカーソルを移動させてメッセージテキストを入力します。
魔物の洞窟をクリアしたプレイヤーは、この扉もカギで開くものと考えるかもしれません。そこでメッセージの中に開け方についてのヒントを表示してあげましょう。これで扉を調べたときに開け方がわかるはずです。
2ページ目の役割は3枚すべての石版が壊された後の状態、つまり扉が消えている状態を表現することです。イベントの編集画面の上の方にある[イベントページ作成]をクリックして2ページ目を新規作成します。
イベントの出現条件は[変数]にチェックを入れます。ここで参照する変数は[0001:石版を壊した数]です。[0001:石版を壊した数]の中の値が3以上になっていれば、石版は3枚壊されていることになりますので、ここでは「3」を入力します。
イベントの出現条件以外、2ページ目の内容は設定しません。グラフィックは選択せず、[プライオリティ][自律移動][オプション][トリガー]も初期設定のままにします。これで鍵穴のない扉のイベントは完成です。
最後にテストプレイでチェックしておきましょう。チェックポイントは以下の項目です。
石版を2枚しか壊していないのに扉が開いてしまった、石版を3枚すべて壊したのに扉が消えないといった場合には、変数の加算が正しく行なわれているか、同じイベントが繰り返されていないかを重点的にチェックしてみてください。
第15回はここまでです。 いよいよ魔王城のイベントも佳境に入ってきました。複雑なイベントを組むと、それだけデバッグも大変になってくるかと思います。そこで次回は魔王城の2階のイベントを作る前に、テストプレイで使えるデバッグ機能など、知っておくと便利な機能を紹介したいと思います。