制御文字コード表(ポケ3以降)

主にサクセスのテキスト等で使われるパワポケ3以降の制御文字コード表のページ。
見やすさのために制御文字コード表は16進数で表記している。
F8の制御文字より前はパスワードで使う文字と同じなので、文字コード表(ポケ3以降)を参照。



F800番台

コード 3 4 5 6 1・2 7 8 9 10 11 12 13 14 処理
F800 ▼が出てボタンを押さない限り、テキストが進まなくなる。
F801 ▼が出てボタンを押すと表示されていたテキストが消去され、新規にテキストを進める。
F802 進行しているイベントを強制終了させる。
F803 テキストの進行速度を速くする。
F804 テキストの進行速度を元に戻す。
F805 テキストの進行速度を遅くする。
F806 テキストの進行速度を更に遅くする。
F807xxxx xxxxで指定した音を鳴らす。
BGMから効果音までこれで指定。
F808 F808の後のテキストをF809が指定されるまでずっと文字を強調する。
選択肢に出すテキスト内では機能しない。
F85Aの文字色変更とはまた別管理で混同しない。
F809 F808の処理の終端。
F80Axx xx番目の参照先のアドレスのバイトを下位バイト、その次のバイトを上位バイトとして、2バイト分の数値を表示する。
F80Bxx xxまたはxxxxで真ん中の絵を表示する。
GBA時代がxxでDSがxxxx。
甲子園シリーズでは使用しない?DSでの電話の向こうなどを示す青枠はここで指定。
F80Bxxxx
F80Cxx xxで左の立ち絵を表示する。
FDxxで入りきらない分の立ち絵を表示?
フェードインアウト動作は指定しても無効。
F80Dxx xxで右の立ち絵を表示する。
FExxで入りきらない分の立ち絵を表示?
フェードインアウト動作は指定しても無効。
F80Exxyyyy xx番目のアドレスの値にyyyyを代入する。
指定するアドレスは最上位バイトが0x02でないと機能しない。
7の時限付き選択肢は、この制御で特定の時限カウント管理アドレスに猶予時間をフレーム単位で指定している。
F80Fxxyyyy xx番目のアドレスの値にyyyyで加算する。
指定するアドレスは最上位バイトが0x02でないと機能しない。


F810番台

コード 3 4 5 6 1・2 7 8 9 10 11 12 13 14 処理
F810xxyyyy xx番目のアドレスの値にyyyyで減算する。
指定するアドレスは最上位バイトが0x02でないと機能しない。
F811xxyyyy GBA時代の乱数生成。
xx番目のアドレスに0〜yyyyの範囲の乱数を生成し代入する。(フレーム変動)
指定するアドレスは最上位バイトが0x02でないと機能しない。
F812xxyyyy GBA時代の乱数生成。
xx番目のアドレスに0〜yyyyの範囲の乱数を生成し代入する。
何の乱数生成器からの代入かは不明。
F813xxyy xx番目のアドレスにyyの番目のアドレスの値を代入する。
指定するアドレスは最上位バイトが0x02でないと機能しない。
F814xxyyyy xx番目のアドレスにyyyyの分のまだ立っていないフラグを立てる。
指定するアドレスは最上位バイトが0x02でないと機能しない。
F815xx xx択の選択肢を出し、その後に続くテキストデータを選択肢で出るテキストにする。
各選択肢のテキストの終端はF8F8を置いて区切る。
選択した値を特定のアドレスに格納している?
GBA作品ではxxを01にすることでYES/NOの二択の選択肢を設定できる。
F816xx F815xx同様に選択肢制御だが違いは不明。
F817xx xx番目のアドレスの値を使い、それ以降に続くF81818〜F81F1FもしくはF818xxを用いて比較分岐をする。
各プログラム言語でcaseを用いる構文に近い感じの制御。
F81818 F817xxで定義した数値が0の時の分岐始点。
F818xx F817xxで定義した数値とF818xxのxxの値が一致している時の分岐始点。
こちらは従来の0〜7の値までではなく0〜255まで扱える?
F81919 F817xxで定義した数値が1の時の分岐始点。
F81A1A F817xxで定義した数値が2の時の分岐始点。
F81B1B F817xxで定義した数値が3の時の分岐始点。
F81C1C F817xxで定義した数値が4の時の分岐始点。
F81D1D F817xxで定義した数値が5の時の分岐始点。
F81E1E F817xxで定義した数値が6の時の分岐始点。
F81F1F F817xxで定義した数値が7の時の分岐始点。


F820番台

コード 3 4 5 6 1・2 7 8 9 10 11 12 13 14 処理
F820 各Case分岐の終端。
複数のCaseが同じ結果になる場合は、複数のCase分岐制御を複数繋げてからF820で括る。
F82121 F817xxのCase分岐制御の終端。
F822xx そして・・・等の汎用イベントの割り込み?
xx番目のアドレス先に指定されているアドレス(大体FFの次にあるアドレスに指定されている)にジャンプし、ジャンプ先のイベント終端まで進めた後、F822xx命令の後に帰ってきてイベントを進める。
F823xx イベントの割り込み?
xx番目のアドレス先に指定されているアドレス(大体FFの次にあるアドレスに指定されている)にジャンプし、ジャンプ先のイベント終端まで進めた後、F823xx命令の後に帰ってきてイベントを進める。
F824 オリ変名?
F825 サクセスのキャラメイクで命名した主人公名が表示される。
F826 主人公のポジションが表示される。
F827
F828 主人公の所属球団が表示される。
甲子園シリーズではチームメイトや彼女の名前を表示する。
F829xx xxフレームの時間ディレイする。
F82A
F82Bxx xx番目のアドレス先の何かのスプリクトの呼び出し?
F82Cxx xx番目のアドレス先の何かのスプリクトの呼び出し?F82Bとの違いは不明。
F82D00yyzz yy番目のアドレスのフラグ=zz、zzzz、zzzzzzzzの条件式。
F82Dの次の1バイトで取り扱うバイト数のモードを指定している。
F82D01yyzzzz
F82D02yyzzzzzzzz
F82E2E 条件式で、条件を満たさなかった場合のelse処理をF82E2Eの後に指定し、F82F2Fで括る。
条件を満たさなかった場合の処理が特に無くてもF82E2EとF82F2Fは指定する。
F82F2F F82E2Eの処理の終端。


F830番台

コード 3 4 5 6 1・2 7 8 9 10 11 12 13 14 処理
F83000yyzz yy番目のアドレスの数値=各種数値zの条件式。(正負あり)
F83001yyzzzz
F83002yyzzzzzzzz
F83100yyzz yy番目のアドレスの数値<>各種数値zの条件式。
F83101yyzzzz
F83102yyzzzzzzzz
F83200yyzz yy番目のアドレスの数値>各種数値zの条件式。
F83201yyzzzz
F83202yyzzzzzzzz
F83300yyzz yy番目のアドレスの数値>=各種数値zの条件式。
F83301yyzzzz
F83302yyzzzzzzzz
F83400yyzz yy番目のアドレスの数値<各種数値zの条件式。
F83401yyzzzz
F83402yyzzzzzzzz
F83500yyzz yy番目のアドレスの数値<=各種数値zの条件式。
F83501yyzzzz
F83502yyzzzzzzzz
F83600yyzz yy番目のアドレスのフラグ=zz、zzzz、zzzzzzzzの条件式。
F82D〜F835までの各条件文の中に更に条件を追加する場合に用いる。
F83601yyzzzz
F83602yyzzzzzzzz
F836 else構文?
F83737 F836〜F83Eの条件式のelse括りの始点。
F83838 F83737の括りの終端。
F83900yyzz yy番目のアドレスの数値=各種数値zの条件式。(正負あり)
F82D〜F835までの各条件文の中に更に条件を追加する場合に用いる。
F83901yyzzzz
F83902yyzzzzzzzz
F83A00yyzz yy番目のアドレスの数値<>各種数値zの条件式
F82D〜F835までの各条件文の中に更に条件を追加する場合に用いる。
F83A01yyzzzz
F83A02yyzzzzzzzz
F83B00yyzz yy番目のアドレスの数値>各種数値zの条件式。
F82D〜F835までの各条件文の中に更に条件を追加する場合に用いる。
F83B01yyzzzz
F83Bxxyyzzzzzzzz
F83C00yyzz yy番目のアドレスの数値>=各種数値zの条件式。
F82D〜F835までの各条件文の中に更に条件を追加する場合に用いる。
F83C01yyzzzz
F83C02yyzzzzzzzz
F83D00yyzz yy番目のアドレスの数値<各種数値zの条件式。
F82D〜F835までの各条件文の中に更に条件を追加する場合に用いる。
F83D01yyzzzz
F83D02yyzzzzzzzz
F83E00yyzz yy番目のアドレスの数値<=各種数値zの条件式。
F82D〜F835までの各条件文の中に更に条件を追加する場合に用いる。
F83E01yyzzzz
F83E02yyzzzzzzzz
F83F00yyzz yy番目のアドレスのフラグ=zz、zzzz、zzzzzzzzの条件式。
F836〜F83Eまでの各条件文の中に更に条件を追加する場合に用いる。
F83F01yyzzzz
F83F02yyzzzzzzzz


F840番台

コード 3 4 5 6 1・2 7 8 9 10 11 12 13 14 処理
F84040 F83F〜F847の条件式のelse括りの始点。
F84141 F84141の括りの終端。
F84200yyzz yy番目のアドレスの数値=各種数値zの条件式。(正負あり)
F836〜F83Eまでの各条件文の中に更に条件を追加する場合に用いる。
F84201yyzzzz
F84202yyzzzzzzzz
F84300yyzz yy番目のアドレスの数値<>各種数値zの条件式。
F836〜F83Eまでの各条件文の中に更に条件を追加する場合に用いる。
F84301yyzzzz
F84302yyzzzzzzzz
F84400yyzz yy番目のアドレスの数値>各種数値zの条件式。
F836〜F83Eまでの各条件文の中に更に条件を追加する場合に用いる。
F84401yyzzzz
F84402yyzzzzzzzz
F84500yyzz yy番目のアドレスの数値>=各種数値zの条件式。
F836〜F83Eまでの各条件文の中に更に条件を追加する場合に用いる。
F84501yyzzzz
F84502yyzzzzzzzz
F84600yyzz yy番目のアドレスの数値<各種数値zの条件式。
F836〜F83Eまでの各条件文の中に更に条件を追加する場合に用いる。
F84601yyzzzz
F84602yyzzzzzzzz
F84700yyzz yy番目のアドレスの数値<=各種数値zの条件式。
F836〜F83Eまでの各条件文の中に更に条件を追加する場合に用いる。
F84701yyzzzz
F84702yyzzzzzzzz
F84800yyzz yy番目のアドレスのフラグ=zz、zzzz、zzzzzzzzの条件式。
F83F〜F847までの各条件文の中に更に条件を追加する場合に用いる。
F84801yyzzzz
F84802yyzzzzzzzz
F84949 F848〜F850の条件式のelse括りの始点。
F84A4A F84949の括りの終端。
F84B00yyzz yy番目のアドレスの数値=各種数値zの条件式。(正負あり)
F83F〜F847までの各条件文の中に更に条件を追加する場合に用いる。
F84B01yyzzzz
F84B02yyzzzzzzzz
F84C00yyzz yy番目のアドレスの数値<>各種数値zの条件式。
F83F〜F847までの各条件文の中に更に条件を追加する場合に用いる。
F84C01yyzzzz
F84C02yyzzzzzzzz
F84D00yyzz yy番目のアドレスの数値>各種数値zの条件式。
F83F〜F847までの各条件文の中に更に条件を追加する場合に用いる。
F84D01yyzzzz
F84D02yyzzzzzzzz
F84E00yyzz yy番目のアドレスの数値>=各種数値zの条件式。
F83F〜F847までの各条件文の中に更に条件を追加する場合に用いる。
F84E01yyzzzz
F84E02yyzzzzzzzz
F84F00yyzz yy番目のアドレスの数値<各種数値zの条件式。
F83F〜F847までの各条件文の中に更に条件を追加する場合に用いる。
F84F01yyzzzz
F84F02yyzzzzzzzz


F850番台

コード 3 4 5 6 1・2 7 8 9 10 11 12 13 14 処理
F85000yyzz yy番目のアドレスの数値<=各種数値zの条件式。
F83F〜F847までの各条件文の中に更に条件を追加する場合に用いる。
四重にした後の条件のため、使われる機会が限定的でGBAのどの作品でも使われていないが、構文の規則性から行くと恐らく存在していると思われる。
F85001yyzzzz
F85002yyzzzzzzzz yy番目のアドレスの数値<=各種数値zの条件式。
F83F〜F847までの各条件文の中に更に条件を追加する場合に用いる。
F851 それまでの能力加減算を精算し、ステータス変化のテキストを表示する。
F852xxyy xxで加算するステータス項目もしくは特殊能力を指定し、yyで0~127の増加量を補正付きの値で、もしくは取得フラグを立てる。
yyの数値に0x80を加算した設定にすると、1〜設定した数値の範囲で常時ランダムに変動する数値になる。
F853xxyy xxで減算するステータス項目もしくは特殊能力を指定し、yyで0~127の減少量を補正付きの値で、もしくは取得フラグを消す。
yyの数値に0x80を加算した設定にすると、1〜設定した数値の範囲で常時ランダムに変動する数値になる。
F854xxyy xxで加算するステータス項目もしくは特殊能力を指定し、yyで0~127の増加量もしくは取得フラグを立てる。
yyの数値に0x80を加算した設定にすると、1〜設定した数値の範囲で常時ランダムに変動する数値になる。
F854xxxxyyyyyyyy xxxxで変化させるステータス項目を指定し、yyyyyyyyで変化させる値を設定する。(正負あり)
yyyyyyyyの数値に+方向なら0x8000を加算、-方向なら-0x8000を減算した設定にすると、1〜設定した数値の範囲で常時ランダムに変動する数値になる。
F855xxyy xxで減算するステータス項目もしくは特殊能力を指定し、yyで0~127の減少量もしくは取得フラグを消す。
yyの数値に0x80を加算した設定にすると、1〜設定した数値の範囲で常時ランダムに変動する数値になる。
F855xxxxyyyyyyyy xxxxで変化させるステータス項目を指定し、yyyyyyyyで変化させる値を設定する。(正負あり)
yyyyyyyyの数値に+方向なら0x8000を加算、-方向なら-0x8000を減算した設定にすると、1〜設定した数値の範囲で常時ランダムに変動する数値になる。
F856xxyyyyyyyy xxで加算するステータス項目を指定し、yyyyyyyyで増加量を指定する。(正負あり)
F856xxxxyyyyyyyy xxxxで変化させるステータス項目を指定し、yyyyyyyyを補正付きで変化させる値を設定する。(正負あり)
yyyyyyyyの数値に+方向なら0x8000を加算、-方向なら-0x8000を減算した設定にすると、1〜設定した数値の範囲で常時ランダムに変動する数値になる。
F857xxyyyyyyyy xxで減算するステータス項目を指定し、yyyyyyyyで減少量を指定する。(正負あり)
F857xxxxyyyyyyyy xxxxで変化させるステータス項目を指定し、yyyyyyyyを補正付きで変化させる値を設定する。(正負あり)
F858xxyy xxで主人公の変化させるステータス項目を指定し、yyを補正付きの値で能力変化させる。(正負あり)
F859xxyy xxで主人公の変化させるステータス項目を指定し、yyの値で能力変化させる。(正負あり)
F85Axx F85Axxを指定した後のテキストの文字色を変更する。
F85Bxxyy xx番目のアドレスの値にyyで代入。
指定するアドレスは最上位バイトが0x02でないと機能しない。
F85Cxxyy xx番目のアドレスの値にyyで加算。
指定するアドレスは最上位バイトが0x02でないと機能しない。
F85Dxxyy xx番目のアドレスの値にyyで減算。
指定するアドレスは最上位バイトが0x02でないと機能しない。
F85Exxyy xx番目のアドレスに0~yyの範囲の乱数値を代入。(フレーム変動)
指定するアドレスは最上位バイトが0x02でないと機能しない。
F85Fxxyy 何かの変数操作?


F860番台

コード 3 4 5 6 1・2 7 8 9 10 11 12 13 14 処理
F860xxyy イベントの変数操作?
F861xxyy イベントのフラグ操作?
F862xxyyyyyyyy xx番目のアドレスの値にyyyyyyyyを代入する。
DSでの時限選択肢や、裏サクセスでの戦闘に入る時等に使われている。
F863xxyyyyyyyy xx番目のアドレスの値にyyyyyyyyを加算する。
F864xxyyyyyyyy xx番目のアドレスの値にyyyyyyyyを減算する。
F865xxyyyyyyyy DS作品でxx番目のアドレスに64ビットの乱数器を使って0〜yyyyyyyyの範囲の乱数を生成し代入する。
F866xxyyyyyyyy フラグ関係?
F867xxyy xx番目のアドレスにyyの番目のアドレスの値を代入する。
指定するアドレスは最上位バイトが0x02でないと機能しない。
F868xxyyyyyyyy xx番目のアドレスにyyyyyyyyの分のまだ立っていないフラグを立てる。
指定するアドレスは最上位バイトが0x02でないと機能しない。
F869xx xx番目のアドレスの変数表示。(1バイト分)
ダッシュの石取りゲームイベントで石の数表示等に使われている。
F86Axx xx番目のアドレスの変数表示。(4バイト分)
参照先のアドレスのバイトを下位バイト、3つ先のバイトを上位バイトとして扱う。
F86Bxx F86Bxx制御の後に指定されたF80CxxとFDxxの立ち絵の服装を変更する。
ただし、別の服装の立ち絵がソフト内に元から用意されてないと変更されない。
F86Bxx xxで吹き出しを変更する。
00で吹き出し表示なし。
F86Cxx F86Cxx制御の後に指定されたF80DxxとFExxの立ち絵の服装を変更する。
ただし、別の服装の立ち絵がソフト内に元から用意されてないと変更されない。
F86D 直近の2バイト文字の上にルビを振る。
ルビの文字コードは通常の1バイト文字と同じ?
F86E F86Dのルビ制御の終端。
F86Fxxxx


F870番台

コード 3 4 5 6 1・2 7 8 9 10 11 12 13 14 処理
F870xxyy xxで部員の変化させるステータス項目を指定し、yyの補正付きの値で能力変化させる。(正負あり)
F871xxyy xxで部員の変化させるステータス項目を指定し、yyの値で能力変化させる。(正負あり)
F872 チームメイト名を表示する。
F873 高校名を表示する。
F874xx xxで左の立ち絵を変更する。
F878xx xxで右の立ち絵を変更する。
F87Exx xxで吹き出しを変更する。
00で吹き出し表示なし。


F880番台

コード 3 4 5 6 1・2 7 8 9 10 11 12 13 14 処理
F880 県名を表示する。
F88181xx


F890番台~F8F0番台

コード 3 4 5 6 1・2 7 8 9 10 11 12 13 14 処理
F8AAxxyy z1×8 z2×8 z3×8 z4×8 何かの参照先定義?z1〜z4は、4バイトずつ何かのアドレスの参照先となる必要なアドレスデータを下位バイトから順に入れていく。
F8F8 F815制御の各選択肢のテキストの終端。


その他

コード 3 4 5 6 1・2 7 8 9 10 11 12 13 14 処理
FA テキストが進んでいる時に改行する。
FB ▼が出てボタンを押すと改行されてテキストが進む。
FCxx xxもしくはxxxxで背景を変更する。
FFもしくは0000で黒背景になる。
ダッシュを除くGBA時代は1バイト指定で、甲子園シリーズを除くDSからは2バイト指定になっている。
FCxxxx
FDxx xxもしくはxxxxで左の立ち絵を変更する。
ダッシュを除くGBA時代は1バイト指定で、甲子園シリーズを除くDSからは2バイト指定になっている。
GBAではFF、DSでは0000で左絵を表示しない。
FDxxxx
FExx xxもしくはxxxxで右の立ち絵を変更する。
ダッシュを除くGBA時代は1バイト指定で、甲子園シリーズを除くDSからは2バイト指定になっている。
GBAではFF、DSでは0000で右絵を表示しない。
FExxxx
FF FFを指定した後、最寄りのアドレスの下一桁が0、4、8、Cになる手前まで00で埋めてアドレス位置の調整をし、
その後4バイトずつアドレスの参照先となる必要なアドレスデータを下位バイトから順に入れていく。
FFの後の最初のアドレスは後に続くアドレス群を使うイベントの始点と、F822xxとF823xxのアドレスの指定先として使われる。
参照先の0番目に01234567、1番目に89ABCDEF設定例 FF000000 ******** 67452301 EFCDAB89

ダッシュ以外のGBAでの立ち絵の動き

FDxxもしくはFExxのxxの部分
F7 立ち絵フェードイン(速度:非常にゆっくり)
F8 立ち絵フェードイン(速度:ゆっくり)
F9 立ち絵フェードイン(速度:普通)
FA 立ち絵フェードイン(速度:速い)
FB 立ち絵フェードアウト(速度:非常にゆっくり)
FC 立ち絵フェードアウト(速度:やや早い)
FD 立ち絵フェードアウト(速度:早い)
FE 立ち絵フェードアウト(速度:非常に速い)

ダッシュの立ち絵の動き

FDxxxxもしくはFExxxxのxxxxの部分
0102 立ち絵フェードイン(速度:非常にゆっくり)
0103 立ち絵フェードイン(速度:ゆっくり)
0104 立ち絵フェードイン(速度:普通)
0105 立ち絵フェードイン(速度:速い)
0106 立ち絵フェードアウト(速度:非常にゆっくり)
0107 立ち絵フェードアウト(速度:やや早い)
0108 立ち絵フェードアウト(速度:早い)
0109 立ち絵フェードアウト(速度:非常に速い)
010A 立ち絵を一瞬光らせる
010B 立ち絵を一瞬暗転させる
010C 立ち絵の向いている逆向きに走り去る
010D 立ち絵ブルブル

DSでの立ち絵の動き

FDxxxxもしくはFExxxxのxxxxの部分
FFFA 立ち絵ブルブル
FFFB 立ち絵フェードアウト
FFFC 立ち絵フェードイン
FFFD 立ち絵が通常向いている逆を向く
FFFE 立ち絵の通常向いている逆向きに走り去る
FFFF 立ち絵の通常向いている向きに走り去る


設定例

選択肢例1

選択肢2択の場合
F81502(選択肢2択、特定のアドレスに選択した値を代入)
選択肢Aのテキスト
F8F8(選択肢テキスト端)
選択肢Bのテキスト
F8F8(選択肢テキスト端)
F83001 ** 0000(選択肢0番を選んだ場合)
選択肢A(0番)のイベント
F82E2E
選択肢B(1番)のイベント
F82F2F

選択肢例2

選択肢3択の場合(ポケ3〜ポケ9)
F81503(選択肢3択、特定のアドレスに選択した値を代入)
選択肢Aのテキスト
F8F8(選択肢テキスト端)
選択肢Bのテキスト
F8F8(選択肢テキスト端)
選択肢Cのテキスト
F8F8(選択肢テキスト端)
F817xx(Case分岐、以下xx番目のアドレスの値を比較)
F81818(Case値0始点)
選択肢Aのイベント
F820(Case分岐端)
F81919(Case値1始点)
選択肢Bのイベント
F820(Case分岐端)
F81A1A(Case値2始点)
選択肢Cのイベント
F820(Case分岐端)
F82121(Case分岐終了)

選択肢例3

選択肢3択の場合(ポケ10以降)
F81503(選択肢3択、特定のアドレスに選択した値を代入)
選択肢Aのテキスト
F8F8(選択肢テキスト端)
選択肢Bのテキスト
F8F8(選択肢テキスト端)
選択肢Cのテキスト
F817xx(Case分岐、以下xx番目のアドレスの値を比較)
F81800(Case値0始点)
選択肢Aのイベント
F820(Case分岐端)
F81801(Case値1始点)
選択肢Bのイベント
F820(Case分岐端)
F81802(Case値2始点)
選択肢Cのイベント
F820(Case分岐端)
F82121(Case分岐終了)

選択肢例4

選択肢が5択あり、うちC以外の4択が同じイベント結果になる場合(ポケ3〜ポケ9)
F81505(選択肢3択、特定のアドレスに選択した値を代入)
選択肢Aのテキスト
F8F8(選択肢テキスト端)
選択肢Bのテキスト
F8F8(選択肢テキスト端)
選択肢Cのテキスト
F8F8(選択肢テキスト端)
選択肢Dのテキスト
F8F8(選択肢テキスト端)
選択肢Eのテキスト
F8F8(選択肢テキスト端)
F817xx(Case分岐、以下xx番目のアドレスの値を比較)
F81818 F81919 F81B1B F81C1C(Case値0,1,3,4始点)
選択肢Cの以外イベント
F820(Case分岐端)
F81A1A(Case値2始点)
選択肢Cのイベント
F820(Case分岐端)
F82121(Case分岐終了)

乱数による分岐例

0〜3の乱数を使って実質75%の確率で何かしらのイベントを発生させるようにする場合
F865 00 00000003(0〜3までの乱数を生成し、00番目のアドレスに代入)
F81700(Case分岐、以下00番目のアドレスの値を比較)
F81800(Case値0始点)
イベント1
F820(Case分岐端)
F81801(Case値1始点)
イベント2
F820(Case分岐端)
F81802(Case値2始点)
イベント3
F820(Case分岐端)
F82121(Case分岐終了)

GBAのイベント呼出の設定例

設定はF822xxとF823xx共通。

あるところに
08012340 0C 0A DB DB DB 2E D8 C9 CB CB C9 FF 40 23 01 08
というデータがあり、これを呼び出したいとする。
データの内訳としては以下になる。
しあ〜〜〜ん!○@@○[終端] 0x08012340

終端の次にあるデータは終端の前にあるイベントの始点を示すアドレスで、この場合は0x02012340がイベントの始点とみなされる。これ以降にアドレスがある場合はイベント内の制御で使われる0番目からのアドレス参照先になる。

またあるところに
08034560 ** ** ** F8 23 00 FF 00 63 45 03 08 4C 23 01 08
があるとする。
データの内訳としては以下になる。
 ** ** ** [イベント呼出,アドレス参照0番目][終端] 0x08034563 0x0801234C

終端の次のアドレス0x08034563は先のイベントと同様にイベントの始点、その次のアドレスはF823xxのイベント呼出制御で0番目の呼出先として扱われる。
よって、今回はF823xxのイベント呼出制御でアドレス0x0801234Cから4バイトで指定されているアドレス0x08012340(イベント始点)にジャンプし、イベントを進める。
呼出したイベントが終わったら、F8 23 00を指定したところに戻り、後のイベントを進める。

If分岐のデータ設定例

GBA
F83001yyzzzz(IF アドレスyy番目=zzzz)
条件と一致する時の処理
F82E2E(else)
条件を満たさなかった場合の処理
F82F2F(IF分岐終端)

DS
DSでは条件制御のxxの部分は4バイト数値を示す02固定。
F83002yyzzzzzzzz(IF アドレスyy番目=zzzzzzzz)
条件と一致する時の処理
F82E2E(else)
F836(必要あれば)
条件を満たさなかった場合の処理
F82F2F(IF分岐終端)

ランダムステータス変化例

GBA
能力の種類0x18をランダムに4〜10加算させる場合。
F852 18 03(種類0x18に3加算する)
F852 18 87(種類0x18に1〜7の範囲でランダムに加算する)
F851(能力精算)

能力の種類0x0151をランダムに1〜30減算させる場合。
F854 0151 FFFF7FE2(種類0x151に1〜30の範囲でランダムに減算する)
F851(能力精算)

ルビ制御例

E800(2バイト文字で亜)
F86C(ルビ制御)
01(亜の上に表示させるあを設定)
F86D(ルビ終端)


最終更新:2025年05月24日 15:57