トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

イベント命令2

Last-modified: 2017-04-02 (日) 12:56:22 (86d)

■終了

ENDA //リターン命令
WORD $70228 $120 //イベント終了命令

条件イベント系

ターン条件

■増援

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; WORD $70228 $0120

or

VillageEventItem(textID,background,item) //(会話,背景CG,貰えるアイテム)

■訪問(ゴールド)

MUNO
Text($XX,$YYY) //背景($XX)を表示して会話($YYY)発生
CALL $085B9D24; SVAL 3 $XXXX //報酬額 
GIVEITEMTOMAIN 0x0; MUSI; WORD $70228 $0120

or

VillageEventMoney(textID,background,money) //(会話,背景CG,貰える金額)

■マップ変化

TILECHANGE $XX //[XX]部分マップ変化を実行
SOUN $XX //[XX]効果音を鳴らす 

マップ変化IDはTiledなどで確認

会話条件

■もっとも単純な会話

Text(textID)
WORD $70228 $120 //イベント終了命令

■曲変更会話

MUSS $XXX //BGM一時変化
STAL 33; TEXTSTART; TEXTSHOW $YYY //$YYY会話指定
TEXTEND; REMA; MURE 2
WORD $70228 $120 //イベント終了命令

■寝返り

CUSA $XX //[XX]を自軍に変更
WORD $70228 $0120 //イベント終了命令

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; WORD $70228 $0120 //自軍進入でフラグ[XXX]OFF
SVAL 2 2; CALL $08A602F0; CALL $085B9EE8; WORD $70228 $120 //敵が進入したらゲームオーバー
SVAL 2 0; CALL $08A602F0; WORD $010540; BYTE $0 $0 $0 $0; CHAI $XX; WORD $70228 $0120 //自軍進入で[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の所属を友軍に

■イベント戦闘
イベントサンプル

■ユニット死亡消滅

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