09. 命令ダイジェスト

公式マニュアル第10章の制作者向け抜粋版です。入門で触れなかった命令も、カテゴリごとに一覧できます。引数の詳細・エイリアス・実装差分は 公式 第10章 を正としてください。

実演の探し方: feature_demo.txt は目次 *menu から章を選べます。章のラベルは 9.11 の早見表 にあります。
Windows では lumina.exe --start-scenario=scenario/feature_demo --start-label=b_bg のように、章から直接始められます。
この章の命令は基本的に共通スクリプトとして扱えますが、動作結果が完全に同じとは限りません。特にプラグイン依存機能、ネイティブ UI、trans_begin → trans の演出は Windows / Android / ブラウザで差が出ます。

9.1 記法のおさらい

種類書き方例
コマンド行命令名で始まる1行bg 0 bg01a
メッセージ行行頭タブの行(タブの無い日本語の行も文章になります)(タブ)こんにちは。
ラベル*名前(または label 名前。コロンは付けません)*chapter01
コメント// がおすすめ(; や # で始まる行もコメント)// メモ
マクロ呼び出しマクロ名を1行BG_FADE bg01a 30
条件ブロック#if "条件" … #elif "条件" … #else … #endif(入れ子も可)#if "route == 1"
数字の単位使う命令
フレーム(60 = 1 秒)bg・chara_show / chara_change / chara_hide・move・BG_ マクロ(BG_CROSS を除く)
ミリ秒(1000 = 1 秒)fadein / fadeout / fadecolor・crossfade・wipe・fadethrough・trans・bgm / bgm_stop / bgmfade・wait・evcg_*・BG_CROSS
命令の別名(エイリアス)について
同じ動作をする組み合わせは次の通りです。どちらで書いても構いません。
命令別名内容
jumpgoto / jumpfileラベル・ファイルへ飛ぶ
endexit終了してタイトルへ戻る
choiceselect選択肢
bgmbgm_playBGM 再生
jumpstopscenestopシーン送りを止める場所
trans_beginbacklay場面まるごとの切り替えの準備
stopmoviemovie_stop動画を止める

次は名前が似ていますが、別の命令です: movie(終わるまで待つ)と movie_play(待たずに次へ)、vo(キャラ別の音量・ミュート・口パクが効く)と voice、evcg_show と eventcg、chara_show(立ち絵)と sprite(小さな絵)。

9.2 テキスト・メッセージ

命令用途例
msgshow / msghideウィンドウ表示/非表示msgshow
name話者名(name "" でクリア)name "太郎"
message明示メッセージmessage "…"
msgclear表示テキストクリアmsgclear
textspeed文字送り速度(1 文字あたりのミリ秒。0 で一度に表示)textspeed 30
showtext座標指定テキストshowtext "…" 100 200
waitミリ秒待機wait 1000
clickクリック待ちclick
本文のタグふりがな・色・大きさ<ruby=はる>春</ruby> <color=#ffd45a>…</color> <size=34>…</size>

9.3 背景

命令用途例
bg背景表示(フェード可。数字はフレーム)bg 0 bg01a 0 0 fadein 30 sync
clearbg背景クリアclearbg
crossfadeクロスフェードcrossfade bg01b 1000
wipeワイプ(方向 / ルール画像)wipe bg01b 800 left
wipe bg01b 800 1080p_rule10
bg(ルール)ルール画像(data7\rule)で背景を切り替えbg 0 bg01b 0 0 015 60
fadethrough単色を挟んで切り替えfadethrough bg01a 1000
trans_begin / trans場面まるごと(立ち絵ごと)をルール画像で切り替え。演出は Windows のみで、ほかの環境では演出なしで切り替わりますtrans_begin … 場面を変える … trans 015 1200
bg_scroll背景を流し続けるbg_scroll 0 bg02_scroll 0 0 40 0
move層の移動(フレーム)move 0 100 0 30

定型フェードは 07章 の BG_FADE などマクロが便利です。

9.4 立ち絵・スプライト・イベントCG

立ち絵

命令用途
chara_show表示(位置は center / left / right / middleleft / middleright)
chara_hide退場
chara_change表情差し替え
chara_clearまとめて消去
chara_fit映す割合(例: chara_fit 0 100 で全身)
chara_filter拡大縮小のなめらかさ
chara_voice_id / chara_lipsync / chara_voice_sync など声に合わせた口パク・表情の切り替え

スプライト・イベントCG

命令用途
sprite / spritemoveto / spritealpha / hidesprite / clearsprites小物スプライト(例: sprite 1 petal_1)
evcg_show / evcg_hideイベント CG(例: evcg_show "smile" 600)
evcg_change / evcg_move / evcg_layer差分の切り替え・寄り・差分レイヤー
cg_flagCG 既読フラグ(ギャラリー。例: cg_flag cg01 0)

9.5 音声

系統代表命令例
BGMbgm bgm_stop bgm_vol bgmfade bgm_pause bgm_resume setbgmloopbgm title 800
SEse stopse se_vol seloop se_panse sysse01
ボイスvo vo_wait stopvoice vo_pan vo_sync voice_volume voice_mutevo vo01_0001
声の間だけ BGM を下げるducking conf_voice_duckingducking 1 25

9.6 画面エフェクト・カメラ

命令用途
fadein / fadeout / fadecolor画面フェード(終わるまで待つ)
quake / shake画面揺れ
flashフラッシュ
color_monochrome / color_sepia / color_restore色調フィルタ
coloradjust / gamma / sharpness明るさ・コントラスト・彩度などの調整
snow / rain / sakura天候エフェクト(例: snow 150)
particle_playasset / stopparticle設定ファイル(data0\particle)からのパーティクル(例: particle_playasset sakura_soft)
camera / resetcameraカメラ移動・ズーム
effect_start / effect_stop汎用エフェクト
fx_line / fx_circle / fx_clearall など画像を使わない図形の演出(組み合わせは fxdraw.txt のマクロ)
blendmode / resetblend合成モード(加算など)

トランジションやカメラ系は、まず Windows で確認し、そのあと Android / ブラウザでも破綻しないかを見るのが安全です。

9.7 制御フロー・選択肢・変数

命令用途
jump / goto同じファイルは jump *ラベル、別のファイルは jump ファイル *ラベル
gosub / returnサブルーチン
end / exitシナリオ終了(タイトルへ戻る)
choice / select選択肢
#select_clear → #select_add → #select_show選択肢を 1 つずつ足して出す(3 つめの引数 0 で選べない項目)
#select_view画面を少し暗くして出す 1 行の選択肢
select_timeout 制限ms [既定]次の選択肢 1 回だけに制限時間を付ける(選択肢の直前の行に書く。# は付けない)。既定は時間切れで選ぶ番号(1 から)か *ラベル、省くと 1 つ目。残り時間の帯が出る。例: select_timeout 5000 *no_answer
setvar / addvar変数操作
if条件ジャンプ(ラベルの * は有無どちらでも可)
#if / #elif / #else / #endif条件ブロック
random / randomjump乱数
automode / skipmodeオート/スキップ
jumpstopシーン送り(メッセージ枠の ▶▶)が止まる場所。章の入口に置きます
sysscriptシステムスクリプトを 1 本動かす(例: sysscript Flowchart)
screen_show組み立て済みの画面を開き、選ばれた番号を変数に入れる

実践例は 06章 を参照。

9.8 シーン・ギャラリー・UI

命令用途
scene_startシーン回想の開始登録
scene_endシーン回想の解放
scenetitleセーブ一覧に出る場面名(オートセーブも 1 件残ります)
autosaveその場所でオートセーブ
cg_flagCG ギャラリー用フラグ
setclearflag / setsysflag / addsysflag / setflowflag / addflowflagどのセーブでも共通に残る永続フラグ(06章)
menubar上部メニューバー ON/OFF(on / off)
titleウィンドウのタイトル(題名)を変える

scene_start / セーブ UI との関係は 10章 を参照。

9.9 シナリオから呼べるオブジェクト記法

一部の命令は Object.method 形式でも書けます(現状は主に次の2つ)。ふだんは movie や se などの命令を使ってください。

オブジェクト例
MovieMovie.play("logo/lumina_logo") Movie.stop()
SoundSound.stop()
System.* などのシステム API は、シナリオ行からは呼べません。システムスクリプトを動かしたいときは sysscript 名前 を使います(10章)。

9.10 プラグイン依存(参照のみ)

Windows では、DLL フォルダのプラグインを、最初に使ったときに自動で読み込みます。読み込めるのは、system\Initialize.txt の setAllowedPlugins に書いた DLL だけです。Android / ブラウザでは、それぞれの環境向けの実装で動きます。

カテゴリ代表命令
動画movie movie_play playmovie stopmovie setmovievolume(3 つの環境で再生できます)
アニメ(mruanime)animeload animecreate animemotion
モーション(mrumotion)motionload motioncreate motionmotion
カテゴリWindowsAndroidブラウザ
通常のシナリオ命令ほぼ共通ほぼ共通ほぼ共通
確認ダイアログ(画像式)利用可利用可利用可
ネイティブメニュー / OS 標準のメッセージボックス利用可なしなし
場面まるごとの切り替え(trans_begin → trans)演出あり演出なし演出なし
DLL 前提の拡張利用可要個別確認要個別確認
動画再生可再生可再生可
時間制限付きの選択肢(select_timeout)利用可利用可利用可
ゲームパッド利用可(窓が前面のとき)利用可利用可

9.11 カテゴリ早見表(feature_demo)

ラベル主な内容
*menu目次(基本 *menu_basic〜*menu_basic4、応用 *menu_adv〜*menu_adv4)
*b_text / *b_rich文章の見せ方・本文のタグ
*b_bg背景の切り替え
*b_chara立ち絵
*b_sound / *b_sound2BGM・ボイス/音をあやつる
*b_select選択肢と変数
*b_branch分岐のいろいろ(条件・乱数・サブルーチン)
*b_sprite / *b_menubar / *b_autoskip / *b_playerスプライト・上部メニューバー・オートとスキップ・プレイヤーの機能
*a_fx / *a_fx2画像を使わない図形の演出
*a_effect / *a_color揺れ・色調・粒子/色調と合成モード
*a_camera / *a_scrollカメラと横長・縦長の背景/背景を流す
*a_evcg / *a_evcg2イベント CG・差分レイヤー
*a_lipsync / *a_lip2口パク
*a_screen画面プリミティブ(フローチャートなど)
*a_systemオート・オートセーブ・scenetitle
*a_splitシナリオをファイルに分ける
*a_macroマクロ
*a_particleパーティクル(設定ファイルから)
*a_flag2記録とフラグ
*a_movie動画