前回、各ダンジョンに出現する敵グループをランダムで決定する処理を作りました。
ツクールのコモンイベントでシンボルエンカウントを管理しよう!【第一部】
今回はまず現在いるマップに合わせてそれらを呼び出す処理と、戦闘から逃げた場合の処理を作りたいと思います。
それらを作った後、マップイベントでの処理を作ればシンボルエンカウントの完成です。
それでは、早速作っていきましょう!
<スポンサードリンク>
変数に現在のマップIDを代入し、条件分岐を設定しよう
前回作った敵グループを各ダンジョンに合わせて出現させるには、現在プレイヤーがいるマップを把握する必要があります。
その処理は変数から行えるので、まずは変数に現在のマップが何番なのかを代入しましょう。
変数の操作で空いている変数に「現在マップ」など適当に名前を付けます。
操作は代入にして、オペランドは「ゲームデータ」を選びます。
ゲームデータではアイテムやアクターのレベルや向きなど、様々なデータを呼び出す事が出来ます。
マップIDは「その他」の項目に含まれていますので、選択しましょう。
次に条件分岐を設定します。
先ほどの「現在マップ」という変数がダンジョンのマップIDと同じ時にしたいのですが、肝心のマップIDの確認は何処でするかご存知でしょうか?
マップIDはツクールのウィンドウの一番下に小さく書いてあります。
※左から「マップID」「マップ名」「マップサイズ」となっています。
ダンジョンとして作っているマップをクリックして確認しましょう。
また、左のマップデータを右クリックし「編集」を選んでマップの設定を呼び出してもIDを知ることができます。
※この場合、左上に小さく書かれています。
確認したら条件分岐に設定し、そのマップで出現させたい敵グループを設定したコモンイベントを呼び出します。
あとは「それ以外のとき」に今作った処理をコピー&ペーストし、マップIDや呼び出すコモンイベントを変えれば良いだけです。
この方法なら後で追加したい時も簡単にできますね!
これでエンカウント処理は完成です。
続いて戦闘から逃げた場合の処理を作りましょう。
<スポンサードリンク>
シンボルエンカウントで戦闘から逃げたらしばらく消すなど工夫をしよう!
シンボルエンカウントにぶつかって戦闘が開始しても逃げたい時ってありますよね?
第一部の時に作った処理で逃げられるように設定してあるので、逃げようと思えば逃げられます。
しかし、今のままでは戦闘から逃げた瞬間にまたぶつかって戦闘が始まるという状態なのです。
だって、逃げた時にシンボルエンカウント用のマップイベントにどうしてほしいか設定していませんからね!
勝った時は一時消去で消えるようになっているので、実質このままでは勝つまで戦闘が続く状態なのです。
これではストレスがたまってしまうので、逃げた時は少しの間エンカウントしないように設定しましょう。
先ほどのエンカウント処理の下あたりに「逃げた時処理」など適当に名前を付けます。
次に移動ルートの設定で「このイベント」の「不透明度」を「100」にします。
これは見ただけで今はエンカウントできない状態だとわかるようにキャラチップを半透明にする処理です。
不透明度は0~255まで設定でき、0は全く見えない状態です。
次に半透明状態をどれくらい継続するかを設定しましょう。
イベントコマンドのタブ2からウェイトを選び、任意の時間を設定しましょう。
ウェイトは秒ではなくフレーム単位での設定で、60フレームで1秒となります。
今回は360フレームに設定しようと思います。
あとは360フレーム経ったら半透明状態を元に戻すよう移動ルートで不透明度を255に設定します。
ここでセルフスイッチをOFFにしておきましょう。
これで逃げた時の処理ができました。
それではラストスパート、マップイベントの設定に入りましょう!
シンボルエンカウントをマップ上に配置しよう
まずはダンジョンのマップを開き、適当な場所でダブルクリックしてイベントを作りましょう。
イベント名やキャラチップは任意に設定してください。
1ページ目ではエンカウント処理のコモンイベントを呼び出します。
このページは、このイベントがプレイヤーにぶつかってきたら戦闘が始まるという仕組みにしたいので、左下のトリガーはイベントから接触にしましょう。
速度や頻度はお好みで変えてください。
また、移動ルートですが、私はカスタムにしています。
プレイヤーに近づくという設定もあるのですが、これを使うとずーっとプレイヤーを追いかけまわしてくる状態になります。
もちろん、それでも良いと思います。
ただ、複数の敵を配置している場合だと囲まれてしまう事が稀に起きます。
こうなると四方にいる敵全てを倒すまで連戦&移動できない、なんて事にもなりかねません。
急いでいる時や体力などがピンチの時にはかなりストレスな状況です。
この場合の対処としては移動頻度を最高以外にするか、移動ルートをカスタムにしてプレイヤーに近づく以外の処理を挟むなどがあります。
私は移動頻度を最高にしているので、後者の方法を使っているというわけです。
2ページ目では逃げた時処理のコモンイベントを呼び出します。
こちらのトリガーは並列処理にしましょう。
並列処理にすることで、プレイヤーが移動している間にも処理が実行されるようになります。
自動実行にしてしまうと、処理が終わるまでプレイヤーが動けなくなるので必ず並列実行にしてください。
また、出現条件のセルフスイッチはAがオンの時にしてください。
以前作った戦闘処理で逃げた時にセルフスイッチをオンにしたと思います。
この時の処理で2ページ目を出現させているんですね。
そして、呼び出したコモンイベント内で設定した時間が経過するとセルフスイッチAがOFFになり、1ページ目に戻るという仕組みです。
お好みですが、すり抜けにチェックを入れておくと通行の妨げにならないのでお勧めです。
逆に障害物として残しておくのも良いかもしれませんね。
3ページ目は個人的に設定しているだけなのですが、何かイベントが起きている時を条件にエンカウント用のキャラを消すようにしています。
重要なイベントに水を差されたくありませんからね!
こちらのページは絶対に入れなければならないという事はないので、お好みで入れるか入れないか調整してください。
最後に各ダンジョンに今作ったマップイベントをコピー&ペーストしてください。
数はお好みで調整してください。
これで、コモンイベントで管理できるシンボルエンカウントの完成です!
移動ルートなどのマップイベント側で設定する項目以外の修正は全てコモンイベントのみで行えるので、かなり作業が楽になると思います。
また、マップイベントをコピペするのが面倒と感じる方はトリアコンタン様が公開されているEventReSpawnというプラグインの導入を検討してみてください。
こちらのプラグインはマップイベントをコピーして生成してくれるという素晴らしいプラグインとなっています。
セルフスイッチやイベントの一時消去にも対応されているので、普通にコピペしたのと同じ状態で生成されます。
コピーしたイベントの配置場所も設定でき、またランダムにすることもできますのでお勧めです。
※前作ソルシエール年代記~騎士と魔道士編~で使用しています
管理が大変だからシンボルエンカウントを諦めていた方も多いと思いますので、少しでもそういう方々のお力になれていればと思います。
それでは、今回はこの辺で(`・ω・´)ゞ