ページ 11

コモンイベントの仕様的な何か

Posted: 2016年8月12日(金) 11:08
by まっつUP
他に誰かがまとめてるかもしれないけど役に立つかもしれんので。
MV準拠のコモンイベント中のイベントコマンドの仕様的なアレです。
もしも間違いがあれば、だれか訂正お願いします。

◆セルフスイッチの操作:A = ON
実行中のイベントでコモンイベントを処理すると実行中のイベントの
セルフスイッチがONになります。

(スクリプトコマンド)
this._eventId = 2
「このイベント」で別のIDのイベントを指定できます。
for(var i = 1; i <= $gameMap.events().length; i++){
key = [$gameVariables.value(1), i, "A"]
$gameSelfSwitches.setValue(key, true)}
どこからでもセルフスイッチ操作したい人向け
変数1のマップID中の全てのイベントのセルフスイッチAをtrueにします。
(カウンタ変数iのイベントIDのセルフスイッチAをtrueにしています)

・条件分岐中の条件のセルフスイッチやキャラクターの「このイベント」は
 コモンイベントの処理が入った実行中のイベントで判定されます。

◆ループ
◆コモンイベント:あ

:以上繰り返し
イベントの実行内容を以上のようにしてコモンイベント内に
ループの中断を置いてもループは抜けないので注意です。
もちろん、コモンイベント内でのループ処理はループの中断で抜けられます。

 処理
◆コモンイベント:あ
 処理2
イベント処理の中断をコモンイベント内においても処理2は実行されます。
コモンイベント中の処理だけ中断されます。

 ラベル:あ
 処理
◆コモンイベント:あ
 処理2
ラベルジャンプ:あをコモンイベント内においてもラベルジャンプしません。
したがって、そのまま処理2を処理します。
コモンイベント内に同名のラベル・ラベルジャンプがないと機能しません。

・コモンイベント中にコモンイベントの処理を入れると
 その処理を終えた後、元のコモンイベントに戻り以降の処理に続きます。
例:1,2,3,4,3,2,1の順に処理
(1,2,3にはそれぞれ昇順に次のコモンイベントに進むように
 イベントコマンド「コモンイベント」を設定。
 末尾の3,2,1ではそれぞれのイベントコマンド「コモンイベント」後の処理がされる。

・場所移動ではコモンイベントで処理が変わるわけではありませんが
 マップイベントで並列処理をしている途中に場所移動を入れると
 そのマップイベントのその後の処理はされません。(そのマップでのみ有効なため)
 データベースのコモンイベントでスイッチを条件に発生させる並列処理のイベントは
 全マップで有効なので使い分けたいところ。

・その他の、移動・キャラクター系のイベントコマンド
 「このイベント」がコモンイベントを実行したイベントIDです。

・コモンイベント内に戦闘の処理を入れるより下記のようにしたほうがまだいいです。
 ラベルジャンプの仕様に基づきイベントの実行内容に設定。
 (ランダムエンカウントと同じを使う場合はこの限りではない) 

◆ラベル:リトライラベル
◆コモンイベント:戦闘前処理
◆戦闘の処理:スライモ*2
:勝ったとき
◆コモンイベント:戦闘勝利処理

:逃げたとき
◆コモンイベント:戦いから逃げるな

:負けたとき
◆コモンイベント:リトライ処理
◆ラベルジャンプ:リトライラベル

:分岐終了

 処理
 メニュー画面を開く
 処理2
開いたメニュー画面でコモンイベントを設定したアイテムまたはスキルを
使用するとメニュー画面が閉じ処理2が終わった後に設定されたコモンイベントが処理されます。
正直これは使いにくい。

・コモンイベント内で「セーブ画面を開く」を実行した後の処理が
 その「セーブ画面を開く」の処理でセーブしたデータをロードしても
 実行されるようになりました。(VXACEからの変更点)

以上です。みんなもコモンイベントを使って自作システムを作ろう!
(作れるとは言っていない)

Re: コモンイベントの仕様的な何か

Posted: 2016年8月13日(土) 10:49
by まっつUP
一つ重要な仕様を書き忘れていたので追加します。

アイテムまたはスキルの使用効果に複数の使用効果「コモンイベント」を入れても
機能するのはそれらの内一番下に設定された使用効果「コモンイベント」のみです。
複数のコモンイベントの効果を発生させたい時は使用効果「コモンイベント」を
一つだけ設定して、そのコモンイベントの実行内容の中に
イベントコマンド「コモンイベント」を置いて別のコモンイベントを呼び出す形に
するのが無難かと思います。
(適用するプラグイン次第ではこの限りではない。)

Re: コモンイベントの仕様的な何か

Posted: 2016年8月27日(土) 19:23
by まっつUP
変数の操作から、ゲームデータの「このイベント」のマップx座標などを取得することもできますね。
このようにコモンイベントで取得した値を下に条件分岐などでセルフスイッチをONにして
イベントページを切り替えるのも面白いかもしれません。

Re: コモンイベントの仕様的な何か

Posted: 2016年11月14日(月) 19:36
by まっつUP
忘れていたことを思い出したので追記します。

Aceからの変更点で
使用効果「コモンイベント」つきのスキル等を使って
ダメージによるいずれかのグループ全滅などで戦闘が終了した時
その実行されていないコモンイベントは戦闘終了後実行されなくなりました。

Re: コモンイベントの仕様的な何か

Posted: 2019年8月03日(土) 19:30
by まっつUP
あまりに読みにくすぎたり、間違っている内容があったりしたので修正しました。
トピック内の情報は以下に修正したうえで全て含んでいます。
RPGツクールMV準拠のコモンイベント中のイベントコマンドの仕様や注意点です。
(デフォルト前提の内容の上、すべての仕様を記しているわけではありません。)
もしも間違いがあれば、だれか訂正お願いします。

◆セルフスイッチの操作:A = ON
実行中のイベントでコモンイベントを処理すると実行中のイベントの
セルフスイッチがONになります。

◆ループ
◆コモンイベント:あ(ループの中断)

:以上繰り返し
実行内容を以上のようにしてコモンイベント内に
ループの中断を置いてもループは抜けないので注意です。
もちろん、コモンイベント内でのループ処理はループの中断で抜けられます。

 処理
◆コモンイベント:あ(イベント処理の中断)
 処理2
イベント処理の中断を◆コモンイベント:あ内においても処理2は実行されます。
コモンイベント中の処理だけ中断されます。

 ラベル:あ
 処理
◆コモンイベント:あ(ラベルジャンプ:あ)
 処理2
ラベルジャンプ:あを◆コモンイベント:あ内においてもラベルジャンプしません。
したがって、そのまま処理2を処理します。
コモンイベント内に同名のラベル・ラベルジャンプがないと機能しません。

 処理
◆メニュー画面を開く
 処理2
開いたメニュー画面でコモンイベントを設定したアイテムまたはスキルを
使用すると処理2以下が終わった後に設定されたコモンイベントが処理されます。

・条件分岐中の条件のセルフスイッチやキャラクターの「このイベント」は
 コモンイベントを呼び出した実行中のイベントで判定されます。
移動・キャラクター系のイベントコマンドの「このイベント」も同様です。

・コモンイベント中にコモンイベントの処理を入れると
 その処理を終えた後、元のコモンイベントの残りの処理を実行します。
スキルの使用効果「コモンイベント」はそのリストの最後に予約したコモンイベントしか
 実行できないので活用したいところです。

・使用効果「コモンイベント」つきのスキル等を使って
ダメージによるいずれかのグループ全滅などで戦闘が終了した時
その実行されていないコモンイベントは戦闘終了後実行されます。

・場所移動ではコモンイベントで処理が変わるわけではありませんが
 マップイベントで並列処理をしている途中に場所移動を入れると
 そのマップイベントのその後の処理はされません。(そのマップでのみ有効なため)
 データベースのコモンイベントでスイッチを条件に発生させる並列処理のイベントは
 全マップで有効なので使い分けたいところ。

・イベント中にセーブしてロードした場合
 通常のイベントコマンドの処理はマップのリロードにかかわらず
 セーブ時の実行内容リストのもの(文章内容を含む)が実行されるが
 その内まだ呼び出されていないコモンイベントは
 ロード時の実行内容になる。(データベースの読み込みがあるため。)
 なお、コモンイベント中でセーブした場合は前述の通り。

・コモンイベント内で「セーブ画面を開く」を実行した後の処理が
 その「セーブ画面を開く」の処理でセーブしたデータをロードしても
 実行されるようになりました。(VXACEからの変更点)

以上です。みんなもコモンイベントを使って自作システムを作ろう!
(作れるとは言っていない)