今回は改造無しで解析のみ行います。今回の内容は「どうやらそうらしい」というだけで正しいかどうかについては確証が持てないということに注意してください。バハラタグプタ関連イベントです。1,2,3はマップ進入時の初期化処理中のNPCの部分で呼び出されます。$07785Fの引数として呼び出されているようです。$07785Fはおそらくイベント登録用のSRと思われます。イベントの中でよく出てくるのが、$0DADBB~$0DB091のSR群です。現在公開しているDQ3SFCEditorに付属しているRommap.xmlでは「フェードインまでxxxms?」としていますが、大嘘でした。これらのSRの中をよく見るとわかりますが、$7E3434をカウンタとして、$0DADBB~$DAEAAまではカウンタに特定の値をセットするSRで、$0DAEB1~$0DB091まではカウンタが特定の値になるまで処理を待つ、という機能のようです。したイメージが持てないのですが、イベントは複数のスレッドのようなものが同時に走っていて、カウンタの値が変わるなどの条件で何らかのアクションを起こす、という仕組みになっているようです。したイベントは、NPC間の動作だけでは成り立たず、イベントをドライブするメインとも言うべきSR(今回のケースでは$0CE653)がないと動作しないようです。上図のように、イベントは分解するとカウンタセット→アクション→待機の繰り返しで成り立っているといえます。メニューモードONとなります(完全ではないですが)。$0B2D1Bでタニアの祖父に話し掛けたときに行われます。見てわかるように、複数のSR内でカウンタをセットしたり待機したりしているのでイベントを自作する場合は、どのSRでいくつのカウンタをセットするのか、いくつのカウンタを待機するのか簡単にまとめておくといいでしょう。当然のことですが、カウンタをセットし忘れるといつまでたっても処理が進まず、フリーズしたようになります(内部的には無限ループが発生している状態ですね)。このSRをサンプルに取り上げたのは他にも理由があります。キャラクターの移動、マップからの消滅が含まれているからです。初めは「なんで移動先の座標設定と移動をいっしょにやらないのだろう」と思いましたが、移動方法を指定する必要があるため、ということに気が付きました。$0CD58Cの近辺に同様のSRが複数存在しますが、Y軸→X軸の順で移動するSRなどが定義されています。状況に応じて使い分けてください。$075930はマップからキャラクターを消すSRです。今回のストーリー変更で必要なSRです。コメントをキャンセルメールアドレスが公開されることはありません。コメントは管理者の承認後表示されます。