忍者ブログ

へぷたなすくろーる

RPGツクールのブログです。イベント講座とRGSS3スクリプト配布をやってます♪

Home > > [PR] Home > イベントのすゝめ > イベントのすゝめ(14) 「○○と遭遇、○○を撃破」イベント

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

イベントのすゝめ(14) 「○○と遭遇、○○を撃破」イベント

このコーナーでは、主に初心者さんに向けたイベントのテクニックを紹介していきます。
RPGツクールVXAceで説明していきますが、多くはVXや他のツクールでも可能です。
合言葉は「第三の男、バトルイベント参上!」

第十四回は新たに0ターン目バトルイベントを使って
特定のモンスターと遭遇、撃破すると発生するイベントの作り方を紹介します。
簡単に作れるメインクエスト向きの組み方だけでなく
賞金首システムやサブクエストなどにも対応できる組み方も紹介していきますので
興味のあるかたはどうぞご覧になってください。 バトルイベントを使う
これまで紹介してきたのはマップイベントとコモンイベントだけでしたが
これらは基本的にマップ画面で使うことを前提にしていますので、バトル画面には手を出せません。
今回はランダムエンカウントにも対応したイベントにしたいため
敵が確定するバトル画面からバトルイベントを使って判定用の処理を組みます。

まずは適当にデータベースから敵グループを選び、バトルイベントを作成します。
条件は(0 + 0 * X)ターンに設定し、スパンはバトルを選択します。
詳しくはヘルプを参照して頂きたいですが「0ターン目(つまり行動開始前)に1回だけ起動」ということです。

遭遇イベント
スライムが入っている敵グループにバトルイベントを作り、スイッチ「スライムと遭遇」をonにします。
するとこのスイッチを条件にすることで、スライムと戦闘に入ったかどうかが判定できます。
例えば条件がスイッチ「スライムと遭遇」で、イベント内容の最後にスイッチ「スライムと遭遇」をoffにする
イベントを作れば、それはスライムと遭遇する度に起動するイベントになります。
また同じく条件がスイッチ「スライムと遭遇」で、イベント内容でセルフスイッチAをonにし
次のページの条件にセルフスイッチAを設定したイベントを作れば
それはスライムと初めて遭遇したときに発動するイベントになります。

このタイプのイベントは、逃げられない敵や絶対に倒せない敵との戦闘
或いはチュートリアルメッセージや戦闘後に敵の情報を教えてくれるなど
逃げるか倒すかが分かっている(もしくはどちらでも問題ない)場合に有効です。

撃破イベント
では他のケースで撃破したかどうかを知りたい場合はどうでしょう?
これはより簡単で、例えばスライムにドロップ率100%のアイテム「スライムの雫」を設定します。
そうすればこのアイテムがそのまま撃破数として扱うことができます。バトルイベントも要りません。
お使いクエストや退治クエストなども簡単に作れるので便利です。
但し欠点もあって、クエスト専用のモンスターでなければ
アイテムを売買されるケースやクエスト開始前に撃破しているケースに対応できません。

撃破イベント2
そこで、ドロップアイテムの設定に加えて
遭遇イベントと同じようにバトルイベントを設定します。
スイッチ「スライムと遭遇」
変数「アイテム数過去」にアイテム「スライムの雫」の所持数を代入
更にコモンイベント(条件:スイッチ「スライムと遭遇」、トリガー:並列処理)を作り
変数「アイテム数現在」にアイテム「スライムの雫」の所持数を代入
変数「アイテム数現在」 -= 変数「アイテム数過去」
変数「撃破数」 += 変数「アイテム数現在」
スイッチ「スライムと遭遇」をoff
と組みます。

こうすればバトル中に増えたアイテムの数を変数「撃破数」に加算していきますので
アイテムを売買したり何かに使って数が変わったとしても特に問題は起きません。
また、特定のクエスト中のみ撃破数をカウントしたい場合は
そのクエストの開始時に撃破数をリセットすれば良いわけです。

撃破イベントIII
さてさて、実際に使うとなるともうちょっと改良したい点があります。
スライム以外のモンスターにも対応できること、作り手にも分かりやすくミスを減らせることです。
バトルイベント
スイッチ「モンスターと遭遇」
変数「スライムアイテム数過去」にアイテム「スライムの雫」の所持数を代入
変数「ゴブリンアイテム数過去」にアイテム「ゴブリンのパンツ」の所持数を代入
変数「ゾンビアイテム数過去」にアイテム「ゾンビ肉」の所持数を代入
コモンイベント
条件:スイッチ「モンスターと遭遇」、トリガー:並列処理
条件分岐:スイッチ「スライム撃破カウント開始」がon
  変数「アイテム数現在」にアイテム「スライムの雫」の所持数を代入
  変数「アイテム数現在」 -= 変数「スライムアイテム数過去」
  変数「スライム撃破数」 += 変数「アイテム数現在」
条件分岐:スイッチ「ゴブリン撃破カウント開始」がon
  変数「アイテム数現在」にアイテム「ゴブリンのパンツ」の所持数を代入
  変数「アイテム数現在」 -= 変数「ゴブリンアイテム数過去」
  変数「ゴブリン撃破数」 += 変数「アイテム数現在」
条件分岐:スイッチ「スライム撃破カウント開始」がon
  変数「アイテム数現在」にアイテム「ゾンビ肉」の所持数を代入
  変数「アイテム数現在」 -= 変数「ゾンビアイテム数過去」
  変数「ゾンビ撃破数」 += 変数「アイテム数現在」
スイッチ「モンスターと遭遇」をoff
このイベントの解説
撃破数をカウントしたいモンスター1種類につき
「固有のドロップアイテム」「そのアイテム数の記録用変数」
「モンスターの撃破数」「カウントするかどうかのスイッチ」の4つを用意します。
バトルイベントでは、まず最初に戦闘後にコモンイベントを起動するためのスイッチをonにしたあと
敵グループに含まれているモンスター用のアイテム数を記録します。(未出現を含めて全部)
スイッチによって戦闘直後に起動するコモンイベントでは
モンスター毎に増えたアイテム数を撃破数に換算する処理を行っていますが
カウント開始のスイッチがoffの場合はカウントしないように条件分岐が組まれています。
なので新しく追加する場合は、まず1アイテム2変数1スイッチを新たに用意し
バトルイベントとコモンイベントに処理を追加すれば良いわけです。まとめてコピペしちゃいましょう。


*余談(使いやすさの工夫)*
なぜ撃破数をリセットする方法からスイッチでカウントするかどうかを判定する方法に変えたのか。
これは実際にイベントを組んでみると分かります。
リセットする方法で次のイベントを作ろうと思います。
「マイケルに話しかけるとクエスト開始。そこからスライムを10匹以上倒してジェニーに話しかけると報酬」
この場合、マイケルに話しかけて撃破数をリセットするだけではまずいです。
先にジェニーに話しかけてしまうと今までの撃破数で報酬を受け取れるからです。
なのでマイケルに話しかけてクエストが開始されたことを示すためにスイッチを1つ使います。
ジェニーはそのスイッチで判定して、更に撃破数で判定する形になりますね。
だったらコモンイベントのカウント時にスイッチで判定したほうが、手間は同じで間違いが少ないです。
コモンイベントは一箇所に全て同じ形式で並んでいるのでコピペしやすく、ミスはしにくいからです。
更に言えば、他にもスライム討伐を依頼するジョンがいた場合などは
マイケルの依頼を受けている途中でジョンの依頼を受けると今まで倒した撃破数がリセットされます。
そういう理由で、複雑になってきた最終バージョンはこちらの方法に変えたわけです。

拍手[3回]

PR
-->
Responses0 Responses
  • お名前
  • タイトル
  • メールアドレス
  • URL
  • パスワード

ブログ内検索

アーカイブ

最新コメント

[10/13 深海樹]
[08/02 ダイ二ホケンシツ]
[07/29 ダイ二ホケンシツ]
[07/29 ダイ二ホケンシツ]
[07/29 ダイ二ホケンシツ]

プロフィール

バナー

HN:奈々(なな)
RPGツクールVXAceを中心に製作を行っています。 スクリプト、イラスト、ドット絵など広くちょこちょこ手を出していますので、 できる範囲で他のツクーラーさんのお手伝いができたらなと思っています。