【解決済】コモンイベントのイベント処理中断について

アバター
whgf
記事: 2
登録日時: 2021年4月19日(月) 02:42
連絡を取る:

【解決済】コモンイベントのイベント処理中断について

投稿記事by whgf » 2021年4月19日(月) 20:01

特定のコモンイベントを指定して中断させる方法があれば知りたいと思い質問をさせて頂きました。

コモンイベントAの中でコモンイベントBを呼び出し、
コモンイベントB中で『イベント処理の中断』を行うとコモンイベントBが消えAは残る、
というのは知っているのですが、
「Bを中断した際にAも中断させる方法」があれば知りたいと思っています。

現在はスイッチ処理で動作するようにしているのですが、
これが可能であればスイッチ数が減り助かるなと思ったもので……。
最後に編集したユーザー whgf on 2021年4月20日(火) 21:19 [ 編集 1 回目 ]

名無し蛙
記事: 302
登録日時: 2015年11月23日(月) 02:46

Re: コモンイベントのイベント処理中断について

投稿記事by 名無し蛙 » 2021年4月19日(月) 21:36

呼び出したコモンイベントから呼び出し元のコモンイベントは基本的に参照は出来ませんね
ただし並列イベントが絡まなければ一応可能です

コード: 全て選択

let interpreter = $gameMap._interpreter
while( interpreter._depth !== this._depth - 1 ) {
    if ( !interpreter._childInterpreter ) break;
    interpreter = interpreter._childInterpreter;
}
if ( interpreter._depth === this._depth - 1 ) {
    interpreter.command115();
}

これをイベントコマンド「スクリプト」でコモンイベントBの「イベントの中断」の前に挿し込めば中断されます。
「自動実行」なら問題ありませんがマップ並列にせよコモン並列にせよ、
並列が絡むとそれ用の対策処理を書かないといけませんね。
アバター
whgf
記事: 2
登録日時: 2021年4月19日(月) 02:42
連絡を取る:

Re: コモンイベントのイベント処理中断について

投稿記事by whgf » 2021年4月20日(火) 21:15

名無し蛙様

並列が絡まなければ可能な方法があるのですね!
早速テストしてみたところ、
ループ処理等も全て上手く中断する事ができたのでゲーム内に組み込んでみようと思います。
ご教授ありがとうございます。

“MV:質問” へ戻る