イベント実装 一覧

DQ3 ひとさらいのアジトイベント解析

今回も改造無しで解析のみ行います。

前回の解析でキャラクターの動かし方は大体わかりましたが、「はじめはいなかったキャラクターが後からマップに登場する」やり方がまだわかりません。そういう条件に該当するイベントがないか調べてみると、「ひとさらいのアジトB2F」のイベントが思い当たりました。このイベントは、最初はマップにはいなかったカンダタ(2回目)と子分二人がグプタとタニアを牢から出した後マップに現れます。というわけでこの部分を真似ればよさそうです。

続きを読む


DQ3 バハラタイベント解析

今回は改造無しで解析のみ行います。また、今回の内容は「どうやらそうらしい」というだけで正しいかどうかについては確証が持てないということに注意してください。

さて、関係するのは

  1. SR: $0B2CD8 NPC1_MoveSR_0170(タニアの祖父)
  2. SR: $0B2D1B NPC1_TalkSR_0170(タニアの祖父)
  3. SR: $0B2B79 NPC1_MoveSR_016F(グプタ)
  4. SR: $0CE653 バハラタグプタ関連イベント

です。1,2,3はマップ進入時の初期化処理中のNPCの部分で呼び出されます。4は$0A49C9-でSR: $07785Fの引数として呼び出されているようです。SR: $07785Fはおそらくイベント登録用のSRと思われます。さて、イベントの中でよく出てくるのが、$0DADBB~$0DB091のSR群です。現在公開しているDQ3SFCEditorに付属しているRommap.xmlでは「フェードインまでxxxms?」としていますが、大嘘でした。これらのSRの中をよく見るとわかりますが、$7E3434をカウンタとして、$0DADBB~$DAEAAまではカウンタに特定の値をセットするSRで、$0DAEB1~$0DB091まではカウンタが特定の値になるまで処理を待つ、という機能のようです。いまいちはっきりしたイメージが持てないのですが、イベントは複数のスレッドのようなものが同時に走っていて、カウンタの値が変わるなどの条件で何らかのアクションを起こす、という仕組みになっているようです。

20090703185556.jpg

続きを読む


スポンサーリンク