■終了 ENDA //リターン命令 NoFade; ENDA //イベント終了命令 ====== 条件イベント系 ====== ===== ターン条件 ===== ■増援 WORD $20540; POIN ????????; CALL $08A603AC //通常増援 WORD $20540; POIN ????????; CALL $08A603D4 //ハードのみ増援 LOAD1 1 ????????; ENUN //カメラ移動無し増援 ■AI変更 WORD $010540; BYTE $0 $0 0 0; CHAI $XX //XXを[$0,$0](突撃AI)に変更 ===== オブジェクト指定 ===== ■訪問(情報) HouseEvent(textID,background) //会話($YYY),背景($XX) ■訪問(アイテム) MUNO Text($XX,$YYY) //背景($XX)を表示して会話($YYY)発生 MUSI; CALL $085B9D24; SVAL 0x3 $XX //アイテムID GIVEITEMTO 0xFFFF; NoFade; ENDA or VillageEventItem(textID,background,item) //(会話,背景CG,貰えるアイテム) ■訪問(ゴールド) MUNO Text($XX,$YYY) //背景($XX)を表示して会話($YYY)発生 CALL $085B9D24; SVAL 3 $XXXX //報酬額 GIVEITEMTOMAIN 0x0; MUSI; NoFade; ENDA or VillageEventMoney(textID,background,money) //(会話,背景CG,貰える金額) ■マップ変化 TILECHANGE $XX //[XX]部分マップ変化を実行 SOUN $XX //[XX]効果音を鳴らす マップ変化IDはTiledなどで確認\\ ===== 会話条件 ===== ■もっとも単純な会話 Text(textID) NoFade; ENDA //イベント終了命令 ■曲変更会話 MUSS $XXX //BGM一時変化 STAL 33; TEXTSTART; TEXTSHOW $YYY //$YYY会話指定 TEXTEND; REMA; MURE 2 NoFade; ENDA //イベント終了命令 ■寝返り CUSA $XX //[XX]を自軍に変更 NoFade; ENDA //イベント終了命令 L会話イベントの最後をこれにする\\ ===== 範囲条件 ===== ■ユニット進入 SVAL 2 $XX; CALL $08A602D4 //XXが進入したら ■〇軍進入 SVAL 2 0; CALL $08A602F0 //自軍が進入したら SVAL 2 1; CALL $08A602F0 //友軍が進入したら SVAL 2 2; CALL $08A602F0 //敵軍が進入したら SVAL 2 0; CALL $08A602F0; ENUF $XXX; NoFade; ENDA //自軍進入でフラグ[XXX]OFF SVAL 2 2; CALL $08A602F0; CALL $085B9EE8; NoFade; ENDA //敵が進入したらゲームオーバー SVAL 2 0; CALL $08A602F0; WORD $010540; BYTE $0 $0 $0 $0; CHAI $XX; NoFade; ENDA //自軍進入で[XX]が突撃AIに ===== 分岐条件 ===== ■ジャンプ(命令無視) GOTO X //XXまでジャンプ LABEL X //ジャンプ先XX LABEL 0を分岐終了にするのがスマート\\ LABEL命令は、同じイベント中に同一のIDで二度出すことは不可能\\ ■フラグ分岐 ENUT $XXX //[XXX]フラグON ENUF $XXX //[XXX]フラグOFF CHECK_EVENTID $XXX //[XXX]フラグ条件 BEQ $XX 0xC 0 //オフの場合LABEL $XXまでジャンプ BNE $XX 0xC 0 //オンの場合LABEL $XXまでジャンプ ■生存ユニット分岐 CHECK_ALIVE $89 //ユニットXX生存条件 BEQ X 0xC 0 //死亡の場合LABEL Xまでジャンプ BNE X 0xC 0 //生存の場合LABEL Xまでジャンプ ■動作中ユニット分岐 CHECK_ACTIVE //動作中ユニットID取得 SVAL 7 $XX; BEQ $Y 0xC 7 //[XX]ならLABEL Yまでジャンプ ■会話グループ分岐 WORD $2E21 $FFFF3321 //動作中ユニットの会話グループ取得 SVAL 6 $XX; BEQ $Y 0xC 6 //[XX]ならLABEL Yにジャンプ 選択中ユニットが会話グループ[XX]かを照合 ===== 特殊 ===== ■離脱と復帰 REMU $XX //離脱フラグオン(データは残るがゲーム上では見えなくなる) REVEAL $XX //離脱フラグオフ(ゲーム上で見えるようになる) L新たなる旅立ちで違う方の主人公を消す命令 ■天候 WEA1 X //天気を変更する 00:晴れ 01:雪 02:吹雪 04:雨 05:マグマ 06:砂嵐 07:曇り VCWF XXXX //霧の濃さを調整 00:霧無し FFFF:マップ初期値 ■マップ切り替え LOMA $XX //[XX](座標指定されていればその座標にカメラ移動) ====== 演出イベント系 ====== ■待機 STAL 60 //1秒=60f待機 ===== 映像効果 ===== ■暗転 FADI $02 //[XX]の速さで暗転 FADU $02 //[XX]の速さで暗転解除 ■明転 FAWI $02 //[XX]の速さで明転 FAWU $02 //[XX]の速さで明転解除 01遅い<->一瞬$20 01は本当に遅い\\ ■会話 TEXTSTART TEXTSHOW $XXX; TEXTEND //会話実行 REMA //顔画像消去 ・背景変更 SetBackground($XX) //(XX)背景画像表示 ClearBackground //背景を消去してマップに戻る ■会話系略式 Text($XXX) //会話実行。会話後画像消去 Text($XX,$YYY) //背景($XX)を表示して会話($YYY)後にマップに戻す ■会話系詳細 TEXTCONT; TEXTEND //会話中イベント ・会話中イベント例(BGM変化) TEXTSHOW $XXX; TEXTEND //会話実行 MUSS $XXX; STAL 33 //BGM一時変化 TEXTCONT; TEXTEND //会話中イベント REMA L会話中に@0080@0004命令があると、TEXTEND~TEXTCONT間のイベント実行。 ■通常使わない命令 REMOVEPORTRAITS //マップ消去 SHORT $2140 $XX 0 0 //[XX]背景表示 CLEAN //背景画像消去(マップに戻る場合に使用) ■BGM関連 MUSC $XXX //通常のBGM変更 $1220 MUSCMID $7FFF //BGM消去 $1322 MUSS $XXX //BGM一時変化 $1420 MURE $4 //BGM一時変化解除 $1421 MUNO //会話前BGM小さく$1520 MUSI //会話後BGM大きく$1521 ■効果音を鳴らす SOUN $XX //効果音を鳴らす ■マップ変化 SOUN $XX //効果音 TILECHANGE $XX //[XX]IDマップ変化を実行 SHORT $2721 XX //[XX]IDマップ変化を戻す ■斬撃エフェクト WORD $4320 //画面全体を被うエフェクト表示 ===== ユニット効果 ===== ■ユニットXX消滅 DISA $XX //ユニット消去 Lデータから完全に抹消する\\ ENUN //ユニットが移動完了するまで待機 ■ユニット読み込み LOAD1 1 $XXXXXXXX; ENUN //ユニット読み込み1 特に特徴がないのが特徴 LOAD2 1 $XXXXXXXX; ENUN //ユニット読み込み2 味方を読んでも加入しない。未加入ユニットを読んだ場合はイベント終了時に即消滅する。死亡ユニットは出現しない LOAD1 0 $XXXXXXXX; ENUN //ユニット読み込み3 自軍ユニット加入? LOAD3 0 $XXXXXXXX; ENUN //ユニット読み込み4 ユニットIDを無視して、出撃表順に読み込む ■ユニット移動\\ MOVE 0 $ZZ [4,5]; ENUN //[00]の速さで[ZZ]が[XX,YY]へ移動 MOVEONTO 0 $XX $YY; ENUN //[00]の速さで[XX]を[YY]の上へ移動 MOVE_1STEP ZZ XX YY; ENUN //[ZZ]速さ(通常00)[XX]が[YY]方向(00:← 01:→ 02:↓ 03↑)で1マス移動 ■所属変更 CUSA $XX //XXの所属を自軍に CUSE $XX //XXの所属を敵軍に CUSN $XX //XXの所属を友軍に ■イベント戦闘\\ [[https://github.com/ngmansion/FE8/wiki/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB#%E6%88%A6%E9%97%98%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88|イベントサンプル]] ■ユニット死亡消滅 WORD $0B0540; SHORT $XX $YY; WORD $FFFE342D $FFFE342E //XXYYの座標のユニット死亡消滅 SET_SOMETHING $XX; DISA_IF $XX //ユニットID死亡消滅 ===== マップ効果 ===== ■ユニットカメラ CAM1 $XX //[ZZ]ユニットを画面に映す SHORT $2629 $XX //ユニットを画面中心に映す(画面隅は危険) ■座標カメラ移動 CAM1 [1,1] //[XX、YY]を中心に映す(画面隅指定は危険) SHORT $2620; BYTE XX YY //[XX、YY]を指定座標地点を映す ■ユニットに[]枠 FlashCursor(characterID,60) ■座標[]枠 FlashCursor(X,Y,60) 複数地点光らせる CUMO [X,Y] CUMO [X,Y] CUMO [X,Y] STAL 60; CURE ■カメラ追従 WORD $090228 //主人公にカメラ追従 WORD $090220 //主人公カメラ追従解除 ■現在地表示 BROWNBOXTEXT $ZZZZ [8,8] //[XX,YY]左上にZZZZテキスト表示 会話背景中でも可能\\ ■地震 EARTHQUAKE_START 0x100 //0x0101だと縦揺れ? STAL 180 EARTHQUAKE_END ■聖石を壊すエフェクト GLOWING_CROSS $XX //charID STAL 60 END_GLOWING_CROSS ===== 開始終了イベント ===== 開始や終了イベントほぼピンポ\\ ■消去\\ 自軍の場合は表示を消すだけ。他はメモリから抹消 CLEA 0x0 //自軍全消去 CLEE 0x0 //敵軍全消去 CLEN 0x0 //友軍全消去 ■進撃準備\\ LOAD1 1 $XXXXXXXX; ENUN //敵をロード CALL $085B9DBC //進撃準備呼び出し CAM1 [07,19] //カメラ中心 ENDA //終了 ■マップ切り替え\\ LOMA $XX //[XX](座標指定されていればその座標にカメラ移動) ■次のマップへ MNCH $XX //ワールドマップ有次のマップ??? MNC2 $XX //ワールドマップ無次のマップ??? MNC3 $XX //次のマップ(Exマップ用) MNC4 $0 //終章2で使われている? ■ASMコード読み込み ASMC $XXXXXXXX+1 ====== その他 ====== 作中1回くらいレベルの命令\\ ■エンディング総ターン表示 ASMC $080BD041; WORD $2220 ■CCイベント PROM Character Class Item