一括表示

記事No: 21477
タイトル呼び出し元マップEvIDを取得したい
投稿日: 2022/11/08 18:02
投稿者NPC [rerrrLrW310(海外)]

質問失礼します。

並列処理から、現在処理中のマップEvIDを取得する機能はありますでしょうか?

イベントコマンド【変数操作+】に「処理中の自動/接触/決定キー起動Ev番号[コモンなら+500000]」という機能があるかと思いますが、これの“呼び出し元マップEvIDを取得する”版の機能を求めております。

色々と調べてみたものの該当機能が見つからず...
何卒よろしくお願いします。


記事No: 21478
タイトルRe: 呼び出し元マップEvIDを取得したい
投稿日: 2022/11/10 00:52
投稿者YADO [LerLWW459(海外)]

> 質問失礼します。
>
> 並列処理から、現在処理中のマップEvIDを取得する機能はありますでしょうか?
>
> イベントコマンド【変数操作+】に「処理中の自動/接触/決定キー起動Ev番号[コモンなら+500000]」という機能があるかと思いますが、これの“呼び出し元マップEvIDを取得する”版の機能を求めております。
>
> 色々と調べてみたものの該当機能が見つからず...
> 何卒よろしくお願いします。

イベントコマンド【変数操作+】の「その他」にある「このマップイベントID(コモンなら呼び出し元ID)」を使うと、
マップイベントからコモンイベントを呼び出した際、
呼び出したコモンイベントの中で呼び出し元のマップイベントのイベントIDを取得する事ができます。


記事No: 21479
タイトルRe: 呼び出し元マップEvIDを取得したい
投稿日: 2022/11/11 15:40
投稿者NPC [rWOeOrr1117(海外)]

> > 質問失礼します。
> >
> > 並列処理から、現在処理中のマップEvIDを取得する機能はありますでしょうか?
> >
> > イベントコマンド【変数操作+】に「処理中の自動/接触/決定キー起動Ev番号[コモンなら+500000]」という機能があるかと思いますが、これの“呼び出し元マップEvIDを取得する”版の機能を求めております。
> >
> > 色々と調べてみたものの該当機能が見つからず...
> > 何卒よろしくお願いします。
>
> イベントコマンド【変数操作+】の「その他」にある「このマップイベントID(コモンなら呼び出し元ID)」を使うと、
> マップイベントからコモンイベントを呼び出した際、
> 呼び出したコモンイベントの中で呼び出し元のマップイベントのイベントIDを取得する事ができます。


YADO様

回答いただきありがとうございます。

そちらの方法ですと、並列処理中のコモンイベント内では必ず-1を取得し、処理中イベントの呼び出し元マップEvIDを取得できないのではないかと思いますがいかがでしょうか?


>>並列処理から、現在処理中のマップEvIDを取得する機能はありますでしょうか?

質問に捕捉させていただきます。以下のようなイメージです。
1.マップイベント ⇒ コモンイベントA呼び出し
2.コモンイベントB(並列実行中) ← ここで「処理中の自動/接触/決定キー起動Ev番号[コモンなら+500000]」⇒「コモンイベントA」のID取得
                     ※ここで「コモンイベントA」ではなく「マップイベント」のIDを取得したい


記事No: 21480
タイトルRe: 呼び出し元マップEvIDを取得したい
投稿日: 2022/11/12 01:52
投稿者YADO [LerLWW459(海外)]

例えば「コモンイベントA」の中に呼び出し元のマップイベントのイベントIDを調べる処理を設定して、
その調べたイベントIDの情報を並列実行の中で使用すれば良いように思えます。

あとはマップイベントの最初に
■変数操作+: V0[イベントID(並列実行用)] = このマップイベント の イベントID
を設定して処理する方法も考えられます。

一応マップイベントの最初に
■ウェイト:1 フレーム
を設定すれば、一瞬だけ「処理中の自動/接触/決定キーEv番号[コモンなら+500000]」でマップイベントIDが読み取れるので、
そこで読み取ったイベントIDで処理する方法もあります。


記事No: 21481
タイトルRe: 呼び出し元マップEvIDを取得したい
投稿日: 2022/11/12 10:25
投稿者NPC [rerrrLrW310(海外)]

> 例えば「コモンイベントA」の中に呼び出し元のマップイベントのイベントIDを調べる処理を設定して、
> その調べたイベントIDの情報を並列実行の中で使用すれば良いように思えます。
>
> あとはマップイベントの最初に
> ■変数操作+: V0[イベントID(並列実行用)] = このマップイベント の イベントID
> を設定して処理する方法も考えられます。
>
> 一応マップイベントの最初に
> ■ウェイト:1 フレーム
> を設定すれば、一瞬だけ「処理中の自動/接触/決定キーEv番号[コモンなら+500000]」でマップイベントIDが読み取れるので、
> そこで読み取ったイベントIDで処理する方法もあります。

YADO様


回答ありがとうございます。
やはり直接取得する機能は無いのですね...

実はご紹介いただいた後者の方法は試したのですが、仮に並列実行側にウェイトを入れると、マップイベント側もその分「処理中の自動/接触/決定キーEv番号[コモンなら+500000]」前にウェイトが必要になるので使い勝手が悪いなと悩んでおりました。

詳しい方に解説いただき感謝します。ありがとうございました。