今回は久々に第2次Gのイベントコードを解析してみました。前回は不明だったマップ上イベントのコードがいくつか追加されています。調査中のコードに関しては詳細が判明次第内容を公開する予定です。
0x0003 ウェイト。 03 xx yy
指定時間だけ操作受付禁止。xx yyは待ち時間。
0x0004 指定アドレスにジャンプ。 04 xx yy
xx yyはROM(RAM)内のアドレス。
経過ターンによるイベント制御の際はEDと組み合わせて「ED zz 04 xx yy」となる。
0x0020 ??? 20 xx
調査中。
0x0049 BGMの開始。 49 xx
xxはBGM番号。F6との違いは不明。
基本的にはF6が使われている事が多い。
0x0080 コントローラー操作を受け付け開始。 80
コントローラーによるボタン操作や十字キー操作などを受け付けるようにする。
0x0081 イベントページの終わり。 81
イベントページの実行を全て終了して次のフェイズに移行。
0x0084 パイロット参入。 84 xx yy
xxはパイロットID。yyはレベル。
0x0085 機体入手。 85 xx
xxは機体ID。
0x0086 パイロット離脱。 86 xx
xxはパイロットID。
0x0087 機体離脱。 87 xx
xxは機体ID。
0x0088 強制乗り換え 88 xx yy
xxはパイロットID、yyは機体ID。
0x0089 自軍にユニット(パイロット搭乗済みの機体)が参入。 89 xx yy zz
xxはパイロットのID、yyはパイロットのレベル、zzは機体のID。
0x008A フラグONならば指定アドレスにジャンプ。 F2 XX YY 8A xx yy
xx yyはROM内のアドレス。「F2 XX YY」と組み合わせて使用。
0x008B フラグOFFならば指定アドレスにジャンプ。 F2 ww xx 8B yy zz
または9B 8B xx yy
xx yyはROM内のアドレス。「F2 XX YY」と組み合わせて使用。
択一イベントの場合は「9B」と組み合わせ。
選択肢の二番目を選ぶとxx yyにジャンプ。
0x008C 指定ターンになったら指定アドレスにジャンプ。 XX 8C YY ZZ
EDと組み合わせて使用。xxは指定ターン。yy zzは指定アドレスの座標。
0X0091 ユニット強制配置。 91 xx yy zz …FF FF
xx yyはマップ上のX座標及びY座標。
zzはパイロットIDで、そのパイロットが乗った機体が指定したXY座標に配置される。
必要な人数分だけ入力後、「FF FF」で命令終了。
0x0092 会話イベント開始。 92 xx yy zz
xxはパイロットID。yy zzはメッセージID。
0X0094 ??? 94
調査中。
0x0095 カーソルの座標指定。 95 xx yy
xx yyはマップ上のX座標及びY座標。
指定したマップ上の座標にカーソルをクローズアップ。
0x0097 敵側パイロットの会話。 97 xx yy zz
指定した敵パイロットにカーソルを合わせて会話イベントを開始。
xxはパイロットID、yy zzはメッセージID。
0x0098 マップ上のその場にて会話イベント開始。 98 xx yy zz
xxはパイロットID。yy zzはメッセージID。
カーソルが表示されている位置で会話イベントを開始する。
0x009A メッセージ呼び出し。 9A xx yy
顔アイコンのないメッセージを表示する。
xx yyはメッセージID。
0x009B 択一イベント開始。 9B 8B xx yy
基本的に「8B xx yy」と一緒に使用。
選択肢の二番目を選ぶとxx yyにジャンプ。
0x009E ワールドMAPを呼び出してポインタを付ける。 9E ww xx yy zz
wwはワールドMAPのID、xxは地名ID、yy zzはMAP上の座標。
0x009F 指定座標にポインタを動かす。 9F xx yy zz
xxは地名ID、yy zzは目標座標。
0X00A0 出撃機体数、及び出撃座標指定。 A0 aa xx yy xx yy …FF FF
そのマップで出撃できる機体数を指定し、出撃順にマップ上に配置する。
aaはその命令で出撃できる機体数、xx yyは出撃した機体が配置される場所。
aaの数だけxx yyを入力し、規定数の分を入力したらFF FFで終了。
0x00A4 表示ウィンドウを消す。 A4
表示されているメッセージウィンドウを消去してマップのみを表示する。
0x00C8 指定機体の改造引き継ぎ。 C8 xx yy
指定した機体同士の武器、及び機体改造状態を引き継ぐ。
xxは引き継ぎ元の機体ID、yyは引き継ぎ先の機体ID。
0x00C9 指定パイロットを出撃禁止にする。 C9 xx
xxはパイロットID。
CAで解除するまでそのパイロットは出撃準備画面に表示されなくなる。
ついでに搭乗中の機体も乗り換えやパラメーター確認の対象外になる。
0x00CA 指定パイロットの出撃禁止を解除する。 CA xx
xxはパイロットID。
0x00CE 次のシナリオの指定。 CE xx
xxはシナリオのID。
0x00E1 指定パイロットが経験値を取得。 E1 xx yy zz
xxはパイロットID、yy zzは取得する経験値。
0x00ED ターンチェック開始。 ED xx yy
規定のターンになるまでxx yyの座標にジャンプ。
この後に「zz 8C xx yy」と続いていき、zzのターンになったらxx yyの座標にジャンプ。
最終イベントへのジャンプ命令は「zz 04 xx yy 」となり、
このzzターンを超過した後は最初のED xx yyの座標にジャンプするようになる。
0x00F0 指定フラグをONにする。 F0 xx yy
xx yyはフラグ番号
0x00F1 指定フラグをOFFにする。 F1 xx yy
xx yyはフラグ番号。
0x00F2 指定フラグを参照する。 F2 xx yy
8A、8Bと組み合わせて「F2 xx yy 8A XX YY」や「F2 xx yy 8B XX YY」と記述し、
分岐条件チェック(条件を満たす、または満たさないとXX YYにジャンプ)として使用。
xx yyはフラグ番号。
0x00F4 資金を入手。 F4 xx yy
資金を増やすイベント。
xx yyは入手する資金の額。
0x00F6 BGMの開始。 F6 xx
xxはBGM番号。49との違いは不明。
BGMのIDに+80hでBGM終了まで操作受付不能処理が可能?
基本的にはF6が使われている事が多い。
コメント
コメントを投稿