ffbin @Wiki

FF5 イベント

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

一連の処理


(1)個々に設定された、会話イベント(条件分岐)IDを読み込みます。
  会話イベント(条件分岐)IDは各キャラクターの配置情報に含まれており、
  会話イベント(条件分岐)オフセットは0E0000-0E073Fにある
  ※指定のIDから指定の(ID+1)までの範囲を読み込むので、
   新規で追加する場合は2つのオフセットを調整する必要があります。
  (例)6A 09 7C 09 : 096A~097Bを読み込む

※注意/会話イベントIDはその人物が出現するかどうかを決めるフラグにも関わっています。

(2)以下の条件分岐判断を行います

(3)条件分岐後イベントを実行します

条件分岐命令一覧


色々と複雑ですが、"F9","FA"等の命令はかなりの応用が利きます。
(例)LV2,1,1,4型の場合は別イベント等

(+a):読み込みアドレスへ加算する数値

F0 ;(終端)
F1 :(未定義)
F2 xx yy :(GBA)[フラグ分岐]
     ・yyxx = 81F3 で暗黒魔法(ドレインタッチ)を習得していない場合は
      イベントを飛ばす。

F3 xx :(GBA)[フラグ分岐]
     ・該当フラグ=0で実行,1でその列のイベントを飛ばす
F4 xx :(GBA)[フラグ分岐]
     ・該当フラグ=1で実行,0でその列のイベントを飛ばす

F5 xx yy zz:[ 8bit 条件分岐 / $7E0500-7E44FF まで指定可能 / & = AND演算 ]

     ・( $7E0500 + yyxx(mod 0x4000) ) & zz = 0
      で 次の命令を実行(+4)
     ・( $7E0500 + yyxx(mod 0x4000) ) & zz ≠ 0
      で その列のイベントを飛ばす(*1)

F6 :[(配置イベントの場合のみ / 会話イベントには使えない)](未調査)
     ・Aボタンが押されればその列のイベントを実行
     ・Aボタンが押されなければその列のイベントを飛ばす

F7 xx :[ 会話位置分岐 / 00:↑ , 01:→ , 02:↓ , 03:← ]
     ・xx = $7E0ADB で次の命令を実行(+2) ,
     ・xx ≠ $7E0ADB でその列のイベントを飛ばす

F8 xx yy zz :[ 8bit 条件分岐 / $7E0500-7E44FF まで指定可能 / & = AND演算 ]
     ・( $7E0500 + yyxx(mod 0x4000) ) & zz ≠ 0 で
      次の命令を実行(+4)
     ・( $7E0500 + yyxx(mod 0x4000) ) & zz = 0 で
      その列のイベントを飛ばす

F9 xx yy zz ww;[16bit 条件分岐 / $7E0500-7E44FF まで指定可能 ]
     ・yyxx の bit14-15 = 0
       ( $7E0500 + yyxx(mod 0x4000) ) = wwzz で次の命令を実行(+4?)
                         ≠ wwzz でその列のイベントを飛ばす
     ・yyxx の bit14-15 = 1
       ( $7E0500 + yyxx(mod 0x4000) ) ≧ wwzz で次の命令を実行(+5)
                         < wwzz でその列のイベントを飛ばす
     ・yyxx の bit14-15 = 2
       ( $7E0500 + yyxx(mod 0x4000) ) < wwzz で次の命令を実行(+5)
                          ≧ wwzz でその列のイベントを飛ばす

FA xx yy zz;[ 8bit 条件分岐 / $7E0500-7E44FF まで指定可能 ]
     ・yyxx の bit14-15 = 0
       ( $7E0500 + yyxx(mod 0x4000) ) = zz で次の命令を実行(+4)
                         ≠ zz でその列のイベントを飛ばす
     ・yyxx の bit14-15 = 1
       ( $7E0500 + yyxx(mod 0x4000) ) ≧ zz で次の命令を実行(+4)
                         < zz でその列のイベントを飛ばす
     ・yyxx の bit14-15 = 2
       ( $7E0500 + yyxx(mod 0x4000) ) < zz で次の命令を実行(+4)
                         ≧ zz でその列のイベントを飛ばす

FB xx ;[フラグ分岐]
     ・($7E0A34+[xx/8]) の bit xx (mod 8) = 0 で 次の命令を実行(+2) ,
     ・($7E0A34+[xx/8]) の bit xx (mod 8) = 1 で その列のイベントを飛ばす

FC xx ;[フラグ分岐]
     ・($7E0A34+[xx/8]) の bit xx (mod 8) = 1 で 次の命令を実行(+2) ,
     ・($7E0A34+[xx/8]) の bit xx (mod 8) = 0 で その列のイベントを飛ばす

FD xx ;[フラグ分岐]
     ・($7E0A14+[xx/8]) の bit xx (mod 8) = 0 で 次の命令を実行(+2)
     ・($7E0A14+[xx/8]) の bit xx (mod 8) = 1 で その列のイベントを飛ばす

FE xx ;[フラグ分岐]
     ・($7E0A14+[xx/8]) の bit xx (mod 8) = 1 で 次の命令を実行(+2) ,
     ・($7E0A14+[xx/8]) の bit xx (mod 8) = 0 で その列のイベントを飛ばす

FF xx yy ;[イベント実行]
    ・イベントyyxxを実行する。

(例)
FF 01 00 : Stock00の会話(F0 ~ F*(次の条件分岐開始) 間がストック)


単純な会話イベントを追加するだけなら、
FF 01 00[F0]xx yy : yyxx = メッセージIDでokです


(*1)次の"FF xx yy"の次まで読み込みアドレスを移動させる。下の例のような感じ。

コルナゴの壷のおじさんの例


FE 0C [FF 02 00] フラグ$7E0A15 の bit4 = 0 で↓
FA 49 04 00 F9 47 84 10 27 FA 15 00 5F [FF 56 02] 65536G以上で↓へ,10000G以上で↓,キャラID:00がMonID 5Fを捕らえていなければ↓
FA 49 04 00 F9 47 84 10 27 FA 65 00 5F [FF 56 02] 65536G以上で↓へ,10000G以上で↓,キャラID:01がMonID 5Fを捕らえていなければ↓
FA 49 04 00 F9 47 84 10 27 FA B5 00 5F [FF 56 02] 65536G以上で↓へ,10000G以上で↓,キャラID:02がMonID 5Fを捕らえていなければ↓
FA 49 04 00 F9 47 84 10 27 FA 05 01 5F [FF 56 02] 65536G以上で↓へ,10000G以上で↓,キャラID:03がMonID 5Fを捕らえていなければ↓
FA 15 00 5F [FF 68 02] キャラID:00がMonID 5Fを捕らえていなければ↓
FA 65 00 5F [FF 69 02] キャラID:01がMonID 5Fを捕らえていなければ↓
FA B5 00 5F [FF 6A 02] キャラID:02がMonID 5Fを捕らえていなければ↓
FA 05 01 5F [FF 6B 02] キャラID:03がMonID 5Fを捕らえていなければ↓
FD 0C [FF 01 00] フラグ$7E0A15 の bit4 = 1 で↓
[F0] 終端
EA 07 Stock:00
EC 07 Stock:01
17 04 Stock:02

1列目:もう渡してしまった「クッ クッ クッ…」
2~5列目:捕らえてはいるがお金がないケース
6~9列目:条件を満たしているケース
10列目:「カエルがほしいんじゃ」
11列目:終端

イベント命令表


見づらくて申し訳ないです。
(テキストにコピーした方が見やすいと思います)

<10-41> 用のサンプル画像


------------------------------------------------------------------------
制御コード	実行アドレス	詳細
------------------------------------------------------------------------
<00>		($C0:C98A) 	その場で動く (ジャンプ設定時など)	
<01>		($C0:C98A)	1 マス上へ移動
<02> 		($C0:C98A)	1 マス右へ移動
<03> 		($C0:C98A)	1 マス下へ移動
<04> 		($C0:C98A)	1 マス左へ移動  
<05>		($C0:C93A)	1 マスジャンプ

				[備考]
				<00> - <04> などを後ろに置く

<06>		($C0:C944)	2 マスジャンプ

				[備考]
				<00> - <04> などを後ろに置く

<07-08>		--------	------------------------
<09>		($C0:C94E)	グラフィック表示オン
<0A>		($C0:C958)	グラフィック表示オフ
<0B>		($C0:C960)	移動時グラフィック固定解除
<0C>		($C0:C96A)	移動時グラフィック固定
<0D-0F>		--------	------------------------
<10-41>		($C0:C96E)	各ポーズ
<42-6F>		--------	------------------------
<70>		$C0:BCCE	15 フレームウェイト (0.25 秒)
<71>		$C0:BCCE	30 フレームウェイト (0.50 秒)
<72>		$C0:BCCE	45 フレームウェイト (0.75 秒)
<73>		$C0:BCCE	60 フレームウェイト (1.00 秒)
<74>		$C0:BCCE	90 フレームウェイト (1.50 秒)
<75>		$C0:BCCE	120 フレームウェイト (2.00 秒)

<76>		$C0:C27C	移動速度 1
				$7E:0AFA = 0x00

<77>		$C0:C28A	移動速度 2
				$7E:0AFA = 0x01

<78>		$C0:C282	移動速度 1/2
				$7E:0AFA = 0xFF

<79>		$C0:BA98	世界地図確認
<7A>		$C0:BD0D	名前変更モード
<7B>		$C0:BAFF	乗り物にのる際の動作[?]
<7C>		$C0:C56F	時間経過イベントリセット
				$7E:0AFB = 0		; タイマーカウント設定
				$7E:0AFC(16b) = 0 	; タイマー

<7D>		$C0:C64B	色効果リセット
				$7E:0B46 = 0		; 色値
				$7E:0B44 = 0		; 色値変化量
							; 正で減少
							; 負で増加
				$7E:0B47 = $7E:0B48	; 初期化
				$7E:0B49 = $7E:0B4A	; 初期化
				[備考]
				$7E:0B4C
				bit 0-4: 色の値
				bit 5: 赤
				bit 6: 緑
				bit 7: 青
				
				$00:212D = $7E:0B49	; Subscreen Designation
				$00:2131 = $7E:0B47	; Color Math Designation
				$00:2132 = ( ($7E:0B4C & 0xE0) | ($7E0B46 >> 3) )
				; Fixed Color Data

<7E>		$C0:C6A7	明度変化停止
				$7E:0B43 = 0

<7F>		$C0:BB24	乗物から降りる際の動作[?]

<pp xx>		$C0:C7F9	キャラクター動作制御 [pp: 0x80-0x9F]
				対象キャラクター: pp - 0x80

<pp 00>		$C0:C7DA	その場に移動 (ジャンプ設定時など)
<pp 01>		$C0:C7DA	1 マス上へ移動
<pp 02>		$C0:C7DA	1 マス右へ移動
<pp 03>		$C0:C7DA	1 マス下へ移動
<pp 04>		$C0:C7DA	1 マス左へ移動
<pp 05>		$C0:C815	1 マスジャンプ設定
				$7E:1488,Y  = 0x40
				$7E:1485,Y &= 0xFB

<pp 06>		$C0:C829	2 マスジャンプ設定
				$7E:1488,Y  = 0x80
				$7E:1485,Y |= 0x04

<pp 07>		$C0:C83B	[??]
				$7E:1482,Y ^= 0x10

<pp 08>		$C0:C84E	[??]
				$7E:1484,Y ^= 0x10

<pp 09>		$C0:C85D	キャラクターを透明にする
				$7E:1485,Y |= 0x01

<pp 0A>		$C0:C86E	キャラクターを透明状態から戻す
				$7E:1485,Y &= 0xFE

<pp 0B>		$C0:C88A	キャラクターの動作切り替え
				$7E:1485,Y ^= 0x08
				$7E:147D,Y  = 0x00

<pp 0C>		$C0:C89E	キャラクターの移動切り替え
				$7E:147E,Y ^= 0x04
				$7E:147D,Y  = 0x00

<pp 0D>		$C0:C8B2	[??]
				$7E:1485,Y &= 0x3F

<pp 0E>		$C0:C8C0	[??]
				$7E:1485,Y &= 0x3F
				$7E:1485,Y |= 0x80

<pp 0F>		$C0:C8D0	[??]
				$7E:1485,Y |= 0xC0

<pp 10-13(nn)>	$C0:C8E0	動作スピード
				<pp 10>: 8
				<pp 11>: 2
				<pp 12>: 4
				<pp 13>: 16

				$7E:147E,Y &= 0xFC
				$7E:147E,Y |= nn - 0x10

<pp 14>		$C0:C8F5	[??]
				$7E:1482,Y ^= 0x08

<pp 15>		$C0:C903	[??]
				$7E:1484,Y ^= 0x08

<pp 16>		$C0:C911	[??]
				$7E:1487,Y ^= 0x01

<pp 17>		$C0:C91F	[??]
				$7E:1487,Y ^= 0x02

<pp 18-1F>	--------	------------------------

<pp 20-FF>	($C0:C929)	キャラクターのグラフィックパターン
				(対象によって微妙に異なるようです)

<A0 xx>		$C0:C735	メッセージ xx を表示 
				(条件分岐設定でストックしてあるもの)

				[メッセージ番号の格納アドレス]
				$7E:13D6-

<A1 xx>		$C0:BD1E	お店 xx [xx: 0x00-0x3F]
				0x3E, 0x3F は値引きになります
	
<A2 xx>		$C0:C758	イベントフラグ xx をオン [$7E:0A14-]

				[詳細]
				$7E:(0A14 + xx / 8) |= (1 << (xx & 7))
				
				$7E:0A14 |= 0x01 (xx == 0x00)
				$7E:0A14 |= 0x02 (xx == 0x01)
				...
				$7E:0A15 |= 0x01 (xx == 0x08)
				...
				$7E:0A33 |= 0x80 (xx == 0xFF)

<A3 xx>		$C0:C77C	イベントフラグ xx をオフ [$7E:0A14-]
<A4 xx>		$C0:C76A	イベントフラグ xx をオン [$7E:0A34-]
<A5 xx>		$C0:C78E	イベントフラグ xx をオフ [$7E:0A34-]
<A6 xx>		$C0:BAEF	フラグ xx をオン [$7E:09B4-]
				[未使用?]

<A7 xx>		$C0:BAF7	フラグ xx をオフ [$7E:09B4-]
				[未使用?]

<A8 xx>		$C0:C04B	現在 HP 増減設定

				[xx]
				bit 6-7: 対象
				 0x00: バッツ
				 0x40: レナ
				 0x80: ガラフ/クルル
				 0xC0: ファリス

				bit 5: 増減設定 
				 0x00: 増加
				 0x20: 減少

				bit 0-4: 変化量
				 0x00:   10
				 0x01:   20
				 0x02:   50
				 0x03:  100
				 0x04:  200
				 0x05:  500
				 0x06: 1000
				 0x07: 2000
				 0x08-0x1E: (アドレス範囲外)
				 0x1F: HP 全快 / HP 0

<A9 xx>		$C0:C0E0	現在 MP 増減設定

				[xx]
				bit 6-7: 対象
				 0x00: バッツ
				 0x40: レナ
				 0x80: ガラフ/クルル
				 0xC0: ファリス

				bit 5: 増減設定 
				 0x00: 増加
				 0x20: 減少

				bit 0-4: 変化量
				 0x00:   10
				 0x01:   20
				 0x02:   50
				 0x03:  100
				 0x04:  200
				 0x05:  500
				 0x06: 1000
				 0x07-0x1E: (アドレス範囲外)
				 0x1F: MP 全快 / (アドレス範囲外)

<AA xx>		$C0:BF92	アイテム xx を 1 つ入手 (99 個まで)
<AB xx>		$C0:BFC0	アイテム xx を 1 つ減らす (0 個の場合無変化)
<AC xx>		$C0:BC64	魔法入手フラグ xx をオン [$7E:0950-] (bit7->0)
				 
				[詳細]
				$7E:(0950 + xx / 8) |= (0x80 >> (xx & 7))
				
				$7E:0950 |= 0x80 (xx == 0x00)
				$7E:0950 |= 0x40 (xx == 0x01)
				...
				$7E:0951 |= 0x80 (xx == 0x08)
				...
				$7E:096F |= 0x01 (xx == 0xFF)

<AD xx>		$C0:BB4C	宿屋	
				[xx]
				0x00: 10 ギル
				0x01: 20 ギル
				0x02: 30 ギル
				0x03: 40 ギル
				0x04: 50 ギル
				0x05: 60 ギル
				0x06: 70 ギル
				0x07: 80 ギル
				0x08-0xFF: (アドレス範囲外)

<AE xx>		$C0:BAE1	モザイク設定
				$7E:16AA = xx		; モザイク値変化量 [0x00-0x0F]
				$7E:16AB = 0x1E00 	; モザイク値
	
<AF xx>		$C0:BF07	ギル獲得
				[xx]
				0x00-0x7F: xx * 10 ギル
				0x80-0xFF: (xx & 0x7F) * 1000 ギル

<B0 xx>		$C0:BF10	ギル減少
				[xx]
				0x00-0x7F: xx * 10 ギル
				0x80-0xFF: (xx & 0x7F) * 1000 ギル
				
<B1 xx>		$C0:C6D4	主人公のグラフィック変更
				$7E:0ADA = xx	; グラフィック番号
				$7E:0BA1++ (=1)	; グラフィック転送フラグ

<B2 xx>		$C0:C70B	xx フレームウェイト (xx/60 秒)
				
				[備考]
				xx == 0 の場合は 約 1092 秒 (?)

<B3 xx>		$C0:C71C	xx / 4 秒ウェイト
				
				[備考]
				xx == 0 の場合は 約 16384 秒 (?)

<B4 xx>		$C0:C212	BGM を xx に変更
<B5 xx>		$C0:C25A	効果音 xx を鳴らす	
<B6 xx>		$C0:BAD9	特殊効果
				[xx]
				0xF0: エンディング
				0xF1: タイトル画面
				0xF2: 隕石落下[1]
				0xF3: 隕石落下[1]追跡
				0xF4: 隕石落下[2]
				0xF5: 隕石落下[2]追跡
				0xF6: 隕石落下[3]
				0xF7: エクスデス復活時の演出
				0xF8: エクスデス封印確認(?)の演出
				0xF9: エクスデス封印時の演出
				0xFA: 第二世界突入時の演出
				0xFB: エンディング時の長老の樹への演出

<B7 xx>		$C0:BE62	仲間加入/離脱設定
				[xx]
				bit 7: 加入/離脱
				 0x00: 加入
				 0x80: 離脱

				bit 3: 性別
				 0x00: 男性
				 0x08: 女性

				bit 0-2: キャラクター
				 0x00: バッツ
				 0x01: レナ
				 0x02: ガラフ
				 0x03: ファリス
				 0x04: クルル

<B8 xx>		$C0:C67D	色調補正 / 加算
				(2 回実行すると元の値に向けて変化する)

				[xx]
				bit 5-7: 色
				 0x20: 赤
				 0x40: 緑
				 0x80: 青

				bit 3-4: 変化速度
				 0x00: 1
				 0x08: 2
				 0x10: 4
				 0x18: 4

				bit 0-2: 制限値
				 0x00: 0x03
				 ...
				 0x06: 0x1B
				 0x07: 0x1F

<B9 xx>		$C0:C692	色調補正 / 減算
				(2 回実行すると元の値に向けて変化する)

				[xx]
				bit 5-7: 色
				 0x20: Red
				 0x40: Green
				 0x80: Blue

				bit 3-4: 変化速度
				 0x00: 1
				 0x08: 2
				 0x10: 4
				 0x18: 4

				bit 0-2: 制限値
				 0x00: 0x03
				 ...
				 0x06: 0x1B
				 0x07: 0x1F

<BA xx yy>	$C0:BFF1	キャラクター xx の状態異常 yy 以外を解除

				[yy] ($7E:051A-) 
				0x01: 暗闇
				0x02: ゾンビー
				0x04: 猛毒
				0x08: レビテト
				0x10: ミニマム
				0x20: 蛙
				0x40: 石化
				0x80: 戦闘不能
	
<BB xx yy>	$C0:C00F	キャラクター xx に状態異常 yy を付与
<BC xx yy>	$C0:C02D	キャラクター xx の状態異常 yy を反転	
<BD xx yy>	$C0:BD8D	[xx]
				bit 7: 戦闘後の画面
				 0x00: 明るくする
				 0x80: 暗いまま

				bit 0-6: 固定戦闘

				[yy] 背景設定 (0xFF でマップ指定の背景)

<BE>		$C0:C6C4	画面動作効果
				bit 6-7: 周期
				 0x00: [oooo] ; 1 フレーム毎に 1 度
				 0x40: [oxox] ; 2 フレーム毎に 1 度
				 0x80: [ooxx] ; 4 フレーム毎に 2 度ずつ(?)
				 0xC0: [oxxx] ; 4 フレーム毎に 1 度

				bit 4-5: 背景設定
				 0x00: 全て
				 0x10: レイヤー 1
				 0x20: レイヤー 2
				 0x30: レイヤー 3

				bit 2-3: Y 方向変化量
				 0x00: 0
				 0x04: 1
				 0x08: 3
				 0x0C: 7
				 
				bit 0-1: X 方向変化量
				 0x00: 0
				 0x01: 1
				 0x02: 3
				 0x03: 7

<BF xx>		$C0:A672	(分岐)
<BF 00>		$C0:B044	リセット
<BF 01>		$C0:B04C	テレポ設定
<BF 02>		$C0:B0A7	クリスタルが割れる演出
<BF 03>		$C0:B6B0	ロンカ遺跡浮上
<BF 04>		$C0:B259	バハムート出現による半島沈没
<BF 05>		$C0:B185	バハムート出現
<BF 06>		$C0:B548	ギードの祠沈没
<BF 07>		$C0:AC37	次元の狭間エフェクト[入]
<BF 08>		$C0:AC4A	次元の狭間エフェクト[出]
<BF 09>		$C0:AC65	次元の狭間エフェクト
<BF 0A>		$C0:AC71	次元の狭間エフェクト
<BF 0B>		$C0:B5B1	ウォルスの塔沈没
<BF 0C>		$C0:B834	??
<BF 0D>		$C0:B848	次元の狭間 / ワープ演出[出]
<BF 0E>		$C0:B83A	次元の狭間 / ワープ演出[入]
<BF 0F>		$C0:AC01	エンディング演出 (「無」が最初にあった…)
<BF 10>		$C0:AC1C	物知りじいさんの演出
<BF 11>		$C0:B10B	バハムート戦闘前の演出
<BF 12>		$C0:AB65	カタパルトへの飛空艇着陸
<BF 13>		$C0:AB49	カタパルトからの飛空艇離陸
<BF 14>		$C0:A98B	ムーアの大森林が燃やされる演出
<BF 15>		$C0:A86D	火力船沈没
<BF 16>		$C0:B052	クリスタルが元に戻る演出復活	
<BF 17>		$C0:B60E	ロンカ遺跡落下(崩壊)
<BF 18>		$C0:A766	エクスデス城がバリアを張る演出
<BF 19>		$C0:A7C9	エクスデス城のバリアを解除する演出
<BF 1A>		$C0:A685	バリア演出[?] (未確認)
<BF 1B-1F>	$C0:0000	[予備]

<C0 xx>		$C0:BC6C	周囲に画面効果(円)

				[xx]
				bit 7: 設定
				 0x00: 半透明[?]
				 0x80: 不透明(黒)[?]
				
				bit 0-6: 半径
				
<C1 xx>		$C0:C6CB	グラフィック転送
				[xx]
				0x01: 爆発
				0x02: クリスタルのかけら
				0x03: 次元の狭間の演出のビリビリ
				0x04: カタパルト開閉
				0x05: 火力線沈没の際のグラフィック

<C2 xx>		$C0:C1AA	乗り物を非出現状態にする
				0x01: ボコ
				0x02: 黒チョコボ
				0x03: 飛竜
				0x04: 潜水艦
				0x05: 船
				0x06: 飛空艇

<C3 xx>		$C0:C6AC	画面を明るくする 
				xx: 明度変化量 ($7E:0B43 = xx)

				[備考]
				$7E:0B45 = 0x10 (初期明るさ設定)
				$00:2100 = ( $7E:0B45 >> 4 )	

<C4 xx>		$C0:C6B7	画面を暗くする
				xx: 明度変化量 ($7E:0B43 = (xx | 0x80))

				[備考]
				$7E:0B45 = 0xF0

<C5 xx>		$C0:C65A	画面発色
				[xx]
				bit 5-7: 色
				 0x20: 赤
				 0x40: 緑
				 0x60: 黄
				 0x80: 青
				 0xA0: 紫[マゼンタ]
				 0xC0: 水色[シアン]
				 0xE0: 白
				bit 0-4: 未使用	

<C6 xx>		$C0:BEE9	ジョブ取得フラグ xx をオン [$7E:0840-] (bit0->7)
<C7 xx>		($C0:A270)	今後 xx バイトは同時に処理を行う
				
				[備考]
				キャラクターを複数同時に動かす場合に使います

<C8 xx yy>	$C0:C7A4	メッセージ yyxx を表示

				[yyxx]
				bit 15: 位置
				 0x0000: 上
				 0x8000: 下
				bit 0-14: メッセージ番号
	
<C9 xx yy>	$C0:C1ED	サウンド設定
				<C9 08 0F>: BGM 復帰
				<C9 48 0F>: BGM 復帰
				<C9 68 0F>: BGM 復帰
				など

<CA xx yy>	$C0:C9CE	出現フラグ yyxx をオン [$7E:0A54-] (bit0->7)
<CB xx yy>	$C0:C9E4	出現フラグ yyxx をオフ
<CC>		--------	------------------------
<CD xx yy>	($C0:A292)	サブイベント yyxx を実行 

				[備考]
				多重実行は 8 回までできそうですが, 
				<C7 xx>, <CE xx yy>, <CF xx yy> も同等の扱いになるので, 
				7 回以内にしておいた方がよさそうです。
				
<CE xx yy>	($C0:A288)	今後 yy バイトを xx 回処理する (順次)
<CF xx yy>	($C0:A27C)	今後 yy バイトを xx 回処理する (同時)
<D0 xx yy>	$C0:BCB4	サウンド設定
				<D0 F1 00>
				<D0 F2 00>
				<D0 82 40>
				などなど
				
<D1 xx yy zz>	$C0:C5FB	約 xx 秒後に, イベント zzyy を実行 (タイマーは表示されない)
				
				[備考]
				$7E:0AFB = 1		; タイマー不可視
				$7E:0AFC = xx * 60 + 1	; タイマー
				$7E:0AFE = zzyy		; 実行イベント

<D2 xx yy zz	$C0:C1BB	乗り物配置設定
 ww>				[xx]: マップ
				0x00: 第一世界
				0x01: 第二世界
				0x02: 第三世界
				
				[yy]: X 座標
				[zz]: Y 座標
				[ww]:
				bit 5-7: 乗り物設定
				 0x20: ボコ
				 0x40: 黒チョコボ
				 0x60: 飛竜
				 0x80: 潜水艦
				 0xA0: 船
				 0xC0: 飛空艇
				
				bit 2-4: 乗り物属性設定
				 0x00: ?
				 0x04: ボコ
				 0x08: 黒チョコボ
				 0x0C: 飛竜
				 0x10: 潜水艦
				 0x14: 船
				 0x18: 飛空艇
				 0x1C: ?
				
				bit 0-1: グラフィック設定

<D3 xx yy zz>	$C0:C5C4	キャラクター(瞬間)移動設定
				xx:
				 bit 7: (未使用?) ; 区別するために 1 に設定されている模様
				 bit 0-6: キャラクター番号

				yy: X 座標など
				 bit 6-7: 向き
				 bit 0-5: X 座標
				zz: Y 座標

<D4 xx yy zz>	$C0:C236	サウンド関連	
<D5 xx yy zz>	$C0:C266	サウンド関連

<D6 xx yy zz>	$C0:C362	X, Y 座標固定フィールドマップ移動

				[yyxx]
				bit 13: 座標補正設定 ?
				 0x0000: あり
				 0x2000: なし

				bit 0-12: 移動先マップ
				
				[zz]: 乗り物設定など
				bit 5-7: 乗り物
				 0x00: なし
				 0x20: ボコ
				 0x40: 黒チョコボ
				 0x60: 飛竜
				 0x80: 潜水艦
				 0xA0: 船
				 0xC0: 飛空艇

				bit 2-4: 乗り物属性設定
				 0x00: (なし)
				 0x04: ボコ
				 0x08: 黒チョコボ
				 0x0C: 飛竜
				 0x10: 潜水艦
				 0x14: 船
				 0x18: 飛空艇
				 0x1C: ?
				
				bit 0-1: グラフィック設定

<D7 xx yy zz>	$C0:C623	約 xx * 4 秒後に, イベント zzyy を実行 (タイマーが表示される)
				
				[備考]
				$7E:0AFB = 2		; タイマー可視
				$7E:0AFC = xx * 240 + 1	; タイマー
				$7E:0AFE = zzyy		; 実行イベント

<D8 xx yy>	$C0:C57A	キャラクター(瞬間)移動設定 
				[主人公の位置からの相対座標]

				[xx]
				 bit 6-7: 向き
				 bit 0-4: キャラクター番号

				[yy]
				 bit 7: X 座標補正 符号
 				 bit 4-6: X 座標補正
				 bit 3: Y 座標補正 符号
				 bit 0-2: Y 座標補正

<D9 xx yy>	$C0:BAA8	16 色パレット取得
				xx: 変更する 16 色パレット番号 [0x00-0x0F]
				yy: 取得パレット [0x00-0x0F] ($DF:FE00-)

<DA xx yy zz>	$C0:B9EF	爆発エフェクト
				<C1 01>	を実行しておく必要あり(?)

				[xx]
				 bit 6-7: 消滅までの時間 [乱数取得幅]
				 bit 3-5: ???
				 bit 0-2: X 座標の誤差? [乱数取得幅]

				[yy]: X 座標設定 (この 4 倍が大体の位置 ?)
				[zz]: Y 座標設定 (この 4 倍が大体の位置 ?)

<DB>		$C0:BA9E	生存しているキャラクター中で先頭の人の画像を取得する
				(ミニマム, 蛙も考慮)

<DC xx>		$C0:BCF5	デモメニュー
				xx: 0x00-0x07

<DD xx yy zz>	$C0:B9E5	[値変更]
				$00:(0500 + yyxx) = xx
				
				[備考]
				ここの処理では DBR($00) の影響が出そうなので $00:____ で表記

<DE-DF>		--------	------------------------
<E0 mm nn	$C0:C3D3	マップ移動 ( 暗くする -> 移動する -> 明るくする)
 xx yy zz>			
				[nnmm]

				bit 15: マップ名表示設定
				 0x0000: なし
				 0x8000: あり

				bit 14: テレポ設定
				 0x0000: テレポ設定なし
				 0x4000: 移動元がフィールドの場合, テレポの移動先として設定

				bit 13: 座標補正設定 ?
				 0x0000: なし
				 0x2000: あり

				bit 0-9: 移動先マップ

				[xx]: X 座標, 向き
				bit 0-7: X 座標 (移動先がフィールド)
				
				bit 6-7: 向き
				 0x00: 上
				 0x40: 右
				 0x80: 下
				 0xC0: 左

				bit 0-5: X 座標 (移動先がマップ)

				[yy]: Y 座標
				
				[zz]: 乗り物設定など
				bit 5-7: 乗り物
				 0x00: なし
				 0x20: ボコ
				 0x40: 黒チョコボ
				 0x60: 飛竜
				 0x80: 潜水艦
				 0xA0: 船
				 0xC0: 飛空艇

				bit 2-4: 乗り物属性設定
				 0x00: (なし)
				 0x04: ボコ
				 0x08: 黒チョコボ
				 0x0C: 飛竜
				 0x10: 潜水艦
				 0x14: 船
				 0x18: 飛空艇
				 0x1C: ?
				
				bit 0-1: グラフィック設定

<E1 mm nn	$C0:C3F7	(画面が暗い際の)マップ移動 ( -------- -> 移動する -> ----------)
 xx yy zz>

<E2 xx yy	$C0:BDBC	固定戦闘設定 [分岐]
 __ __ __ __>			勝利/退却の場合 __ __ __ __ の 4 バイトを飛ばす

<E3 mm nn	$C0:C418	マップ移動 ( 暗くする -> 移動する -> ----------)
 xx yy zz>			移動後, 画面が明るくなるまでにイベントを実行したい時など (?)
				しばしば <EA> などと合わせる

<E4>		$C0:B9D5	ファンファーレ終了待ち
<E5>		$C0:B9DD	効果音終了待ち(?)
<E6>		$C0:B9CF	グレースケール変換処理
<E7>		$C0:B991	エンディング用分岐
				(n-1) * 4 バイト分ジャンプする
				全員が死亡している場合は 252 バイト分ジャンプすると思われる

				[生存キャラ]	[n]
				バッツ		+1
				レナ		+2
				クルル		+4
				ファリス	+8

<E8 xx yy>	$C0:BD36	エンディング用固定戦闘
				[xx]
				bit 0-6: 固定戦闘番号
				bit 7: 未使用

				[yy] 背景設定 (0xFF でマップ指定の背景)

<E9 xx>		$C0:B8C8	キャラクターデータの入れ替え(?)
				エンディング途中にある戦闘の前に設定

<EA>		$C0:B8A0	画面を明るくする + マップ名表示 (?)
<EB>		$C0:B8B7	画面を明るくする + ? ; イベント[00EC]のみ
<EC-EF>		--------	------------------------
<F0 xx yy	$C0:C2AF	選択肢会話
 __ __ __ __>			[yyxx]
				bit 15: 位置
				 0x0000: 上
				 0x8000: 下 (但し正常に表示できない)

				bit 0-14: メッセージ番号

				[備考]
				いいえを選択した場合は __ __ __ __ の 4 バイトを飛ばす

<F1 xx **>	$C0:C292	確率分岐 (乱数判定は $C0:4F2B)

				[xx]
				0x01: 2 種類に分岐
				0x03: 4 種類に分岐
				0x07: 8 種類に分岐
				...
				0xFF: 256 種類に分岐

				[備考/例]
				4 バイト単位でジャンプする
				
				<F1 01> 
				   <CD xx yy FF> 
				   <CD xx yy FF>
				
				<F1 03> 
				   <CD xx yy FF> 
				   <CD xx yy FF>
				   <CD xx yy FF> 
				   <CD xx yy FF>

<F2>		--------	------------------------	
<F3 xx yy YX	$C0:C504	マップ変化 [絶対座標指定]
 **>				[xx]
				bit 6-7: レイヤー設定
				 0x00: レイヤー 1
				 0x40: レイヤー 2
				 0x80: レイヤー 3

				bit 0-5: X 座標

				[yy] Y 座標

				[**]
				(X+1) * (Y+1) バイト分の地形番号

<F4 xx yy YX	$C0:C4E0	マップ変化 [相対座標指定]
 **>				[xx]
				bit 6-7: レイヤー設定
				 0x00: レイヤー 1
				 0x40: レイヤー 2
				 0x80: レイヤー 3

				bit 0-5: X 座標補正

				[yy] Y 座標補正

				[**]
				(X+1) * (Y+1) バイト分の地形番号

<F5-FE>		--------	------------------------
<FF>		($C0:A29C)	終端コード
------------------------------------------------------------------------

資料


効果音一覧

00 素手クリティカル?
(略)
43 扉を開ける音
44 ゴチゴチザフン ズガーン
45 斬鉄剣
46 メテオ
47 ブレイク
48 呪文詠唱?
49 スカ音
4A 津波?
4B
4C ??
(略)
B0 鳴き声系
B1- (恐らく)未定義

FF5(SFC)とFF5Aコードとの対応表


FF5(SFC)とFF5Aとのイベントコードとの対応表です。

FF5(SFC)コード FF5Aコード 備考
-- 00 効果音??
-- 01 効果音??
-- 02 キャラのターンの効果音?
-- 03 キャラのターンの効果音?
-- 04 エクスデス戦のBGM?
D0 xx yy 05 xx yy BGM調整
-- 06 xx yy ミュートとか?
-- 07 ??
-- 08 ??
-- 09 BGM停止?
10 0E
12 0F
14 10
16 11
?? 12 ??
01 13
02 14
03 15
04 16
05 17
09 19
0A 1A
0B 1B
0C 1C
70 1D
71 1E
72 1F
73 20
74 21
75 22
76 23
77 24
78 25
79 26
7A 27 名前変更モード
7B 28
7C 29 タイマーリセット
7D 2A 画面効果リセット
7E 2B
7F 2C
A0 xx 2D xx?
A1 xx 2E xx?
A2 xx 2F xx? イベントフラグ[0]xxを1にする。
A3 xx 30 xx? イベントフラグ[0]xxを0にする。
A4 xx 31 xx? イベントフラグ[1]xxを1にする。
A5 xx 32 xx? イベントフラグ[1]xxを0にする。
-- 33 xx イベントフラグ[2]xxを1にする。
-- 34 xx イベントフラグ[2]xxを0にする。
AA xx 39 xx yy アイテム増加
B2 xx 41 xx ?
B4 xx 43 xx BGM
B5 xx 48 xx 効果音
B9 XX 4D xx yy zz ※画面効果
BD xx yy 52 xx xx yy ※戦闘
BE XX 53 xx yy zz ww ※画面動作効果
BF xx 54 xx 特別アニメーション等
C3 xx 58 xx
C4 xx 59 xx
C5 xx 5A xx
C6 xx 5B xx ジョブフラグ
C8 xx yy 5C xx yy メッセージ表示
CA xx yy 5F xx yy 人物フラグyyxxを1にする
CB xx yy 60 xx yy 人物フラグyyxを0にする
CD xx yy 61 xx yy サブイベントyyxx
CE XX YY 62 xx yy yy zz zz 相対アドレスyyyy-zzzzまでの動作をxx回行う
CF XX YY 63 xx yy yy zz zz 相対アドレスyyyy-zzzzまでの動作をxx回(同時に)行う
D1 xx yy zz 65 xx yy zz
E0 aa bb XX YY cc 69...
E1 aa bb XX YY cc 6A...
E3 aa bb XX YY cc 6B...
E4 6C
E5 6D
F0 xx yy 73 xx yy ※仕様が違う
F1 xx 74 xx 確率分岐
F3 ... 75 ... ※仕様が違う
F4 xx yy zz ww 76 xx yy zz ?? ?? ww ?
FF 77 終端
11 78 上,左足踏み込み
13 79 右,踏み込み
15 7A 下,左足踏み込み
17 7B 左,踏み込み
7C 右手万歳
7D 右手上げる
26 82
28 84
34 90 流されポーズ(┐)
35 91 流されポーズ(┌)
36 92 笑いポーズ
37 93 笑いポーズ2
38 94 下,踏ん張り
39 95 両手万歳
3A 96 ビックリポーズ
3C 97 下,気張り口開け
3D 98 上,両手上げ
3E 99 上,両手つかみ
3F 9A 下,首振り左
40 9B 下,首振り右
D3 8x yy zz 9D 8x zz ww aa ※仕様が違う
D7 xx yy zz A1 xx yy zz 制限時間イベント
D9 xx yy A3 xx yy アニメーションyyxx
DA XX YY ZZ A4 xx yy zz ww aa
8x ?? A6 8x 1秒ポーズ
8x 01 A7 8x キャラ8xを上へ
8x 02 A8 8x キャラ8xを右へ
8x 03 A9 8x キャラ8xを下へ
8x 04 AA 8x キャラ8xを左へ
8x 20 AB(AC)8x キャラ8xを上向きへ
8x 21 AD 8x キャラ8xを上で固める
8x 22 AE(AF)8x キャラ8xを右向きへ
8x 24 B0(B1)8x キャラ8xを下向きへ
8x 26 B2(B3)8x キャラ8xを左向きへ
8x 05 B4 8x キャラ8xを1マスジャンプ(その後の動作)
B5 8x キャラ8xを2マスジャンプ(その後の動作)
B6 8x ??
B7 8x ??
8x 09 B8 8x キャラ8xを出現
8x 0A B9 8x キャラ8xを消す?
8x 0B BB 8x キャラ8xの動作を固定
8x 23 ?? 8x キャラ8xを右で固める
8x 25 ?? 8x キャラ8xを下で固める
8x 27 ?? 8x キャラ8xを左で固める
8x 28 ?? 8x キャラ8xを上下に振り向かす
8x 30 ?? 8x 下,右手万歳
8x 31 ?? 8x 下,右手万歳
8x 32 ?? 8x 下,右手アチャー
8x 33 ?? 8x 下,左手万歳
8x 34 ?? 8x 下,左手万歳
8x 35 ?? 8x 下,左手アチャー
8x 36 ?? 8x 上,右手上げる
8x 37 ?? 8x 上,右手上げる2
8x 38 ?? 8x 上,左手上げる
8x 39 ?? 8x 猛ダッシュ
8x 3A ?? 8x 左万歳
8x 3B ?? 8x 左戻す
8x 3C ?? 8x 右万歳
8x 3D ?? 8x 右戻す
8x 3E DF 8x 下落胆
8x 3F E0 8x 上落胆
8x 40 E1 8x 下落胆
8x 41 E2 8x 右落胆
8x 42 E3 8x 死亡
8x 43 E4 8x ??
8x 44 E5 8x 意味不明ポーズ
8x 45 E6 8x ??
8x 46 E7 8x 下笑
8x 47 E8 8x 下大笑い
8x 48 E9 8x 下ふんばり
8x 49 EA 8x 下万歳
8x 4A EB 8x 下びっくり
-- FB xx yy zz 暗黒魔法xxを取得していた場合は次のイベントyyzzを実行

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

添付ファイル
記事メニュー
目安箱バナー