04. よく使う命令

入門に必要な命令だけを抜粋します。完全一覧は 公式マニュアル 第10章 を正としてください。

実演は GameData\data0\scenario\feature_demo.txt の各章にあります(*b_text / *b_bg / *b_chara / *b_sound / *b_select / *b_branch など)。

数字の単位に注意: 命令によって「フレーム」と「ミリ秒」が違います。
単位使う命令
フレーム(60 = 1 秒)bg・chara_show / chara_change / chara_hide・move・BG_FADE などの BG_ マクロ(BG_CROSS を除く)
ミリ秒(1000 = 1 秒)fadein / fadeout・crossfade・wipe・trans・bgm / bgm_stop / bgmfade・wait・evcg_show / evcg_hide・BG_CROSS

4.1 背景

bg 0 bg01a
bg 0 bg01c 0 0 fadein 30 sync
clearbg
要素意味
0層の番号
bg01a背景の名前(拡張子なし)
0 0位置(x と y)
fadein 30 sync30 フレームでフェードインし、終わるまで待つ

関連: crossfade bg01b 1000(重ねて切り替え)/wipe bg01b 800 left(方向つき)/fadethrough bg01a 1000(単色を挟む)。

ルール画像(data7\rule の白黒画像)でも切り替えられます。

bg 0 bg01b 0 0 015 60
wipe bg01b 1000 1080p_rule10

trans_begin
bg 0 bg01c
chara_show 0 smile center 0
trans 015 1200
trans_begin → trans の演出は Windows だけで効きます。ほかの環境では、演出なしで場面が変わります。
背景表示
キャプチャ差し替え images/04_bg.png

bg 命令で背景が表示された画面

図4-1: 背景 — 差し替え: images/04_bg.png

4.2 立ち絵

chara_show 0 smile center 30
chara_change 0 trouble 15
chara_hide 0 30
chara_clear
コマンド用途
chara_show 層 表情 位置 フレーム [sync]表示(位置は center / left / right / middleleft / middleright)
chara_change 層 表情 [フレーム]表情・差分の切替(位置はそのまま)
chara_hide 層 [フレーム]退場
chara_clear立ち絵をまとめて消す
chara_fit 層 割合絵の上から何 % を映すか(100 = 全身)

2 人並べるときは、層の番号を変えます。

chara_show 0 student_smile left 20 sync
chara_show 1 yukata_trouble right 20 sync

横の位置は、左から left(画面の 1/6)・middleleft(1/3)・center(中央)・middleright(2/3)・right(5/6)です。Windows・Android・ブラウザで同じ位置に出ます。

イベント CG は別系統です。差分の名前だけで出すと、ベースの絵が自動で下に敷かれます(data3\cg01)。

evcg_show "smile" 600
evcg_hide 500
立ち絵表示
キャプチャ差し替え images/04_chara.png
図4-2: 立ち絵 — 差し替え: images/04_chara.png

4.3 メッセージ・名前

msgshow
name "太郎"
	今日はいい天気だ。
name ""
msghide
コマンド用途
行頭タブの行文章の表示+クリック待ち
msgshow / msghideウィンドウの表示/非表示
name話者名(name "" で地の文に戻す)
message "…"明示的なメッセージ表示
msgclear表示中の文章を消す
textspeed 30文字送りの速さ(1 文字あたりのミリ秒。0 で一度に表示)
wait 1000ミリ秒待機
clickクリック待ち

文章の中で、ふりがな・色・大きさを変えられます。

	<ruby=はる>春</ruby>の光が、石畳に落ちています。
	<color=#ffd45a>色を変えた文字</color>と、<size=34>大きくした文字</size>も置けます。
メッセージ表示
キャプチャ差し替え images/04_message.png
図4-3: メッセージ — 差し替え: images/04_message.png

4.4 ラベルとジャンプ

*start
jump *ending
*ending
end
書き方意味
*nameラベル(label name とも書けます。コロンは付けません)
jump *ラベル同じファイルの中のラベルへ飛ぶ
jump ファイル *ラベル別のファイルのラベルへ飛ぶ(フォルダを書かなければ scenario\ の下)
jump ファイル別のファイルの先頭へ飛ぶ
gosub *ラベル / returnサブルーチン(呼んで、戻る)
end / exit終了してタイトルへ戻る(最後の行まで進んだときも同じ)

引数が 1 つで * が無いときは、まずラベルとして探し、無ければファイル名として扱います。同じファイルの中へ飛ぶときは、* を付けると打ち間違いに気づきやすく安全です。

4.5 選択肢

ラベルの * は、付けても付けなくても動きます。

コマンド形式(シンプル)

choice "はい" *yes_label "いいえ" *no_label

*yes_label
	選んだのは「はい」です。
jump *after_choice

*no_label
	選んだのは「いいえ」です。
jump *after_choice

*after_choice

1 つずつ足す形式(デモで多用)

#select_clear
#select_add "元気よく答える", *answer_a
#select_add "だまっている", *answer_b
#select_add "まだ選べない項目", *answer_b, 0
#select_show

最初は choice の方が読みやすいです。

時間制限付きの選択肢

選択肢の直前の行に select_timeout 制限ms [既定] を書くと、その選択肢に制限時間が付きます(# は付けません)。

select_timeout 5000 *no_answer
choice "はい" *yes_label "いいえ" *no_label

*no_answer
	……答えられないまま、時間が過ぎた。
選択肢
キャプチャ差し替え images/04_choice.png
図4-4: 選択肢 — 差し替え: images/04_choice.png

4.6 BGM / SE

bgm title 800
bgmfade 30 600
bgmfade 100 600
bgm_stop 800

se sysse01
stopse
命令意味
bgm 名前 [ミリ秒]曲を繰り返し再生(数字を付けるとフェードイン)
bgmfade 音量 ミリ秒音量を時間をかけて変える(例: 2 秒で 0 にするなら bgmfade 0 2000。止めるのは bgm_stop)
bgm_vol 音量音量をすぐ変える(0〜100)
bgm_stop [ミリ秒]止める(数字を付けるとフェードアウトしてから止める)
se 名前 [1]効果音(1 を付けると繰り返し)
stopse / se_vol 音量効果音を全部止める/音量
BGM(任意)
キャプチャ差し替え(任意) images/04_bgm.png
図4-5: BGM(任意) — 差し替え: images/04_bgm.png

4.7 画面フェード

fadeout 1000
fadein 1000
fadecolor out 600 255 255 255
fadecolor in 600 255 255 255
フェード(任意)
キャプチャ差し替え(任意) images/04_fade.png
図4-6: フェード(任意) — 差し替え: images/04_fade.png

4.8 よくある組み合わせ(テンプレ)

*scene_room
fadeout 500
INIT_ALL
scenetitle 広場にて
bg 0 bg01a
chara_show 0 smile center 0
fadein 500

name "ヒロイン"
	ようやく着いたわね。

name ""
choice "話す" *talk "見送る" *leave
行意味
INIT_ALL前の場面の残り(立ち絵・演出・音など)を 1 行で消すマクロ。何かを出す前に置きます(07章)。背景と曲を残すなら INIT_KEEP
scenetitle 広場にてセーブ一覧に出る場面名。最初の文章が出たところで、オートセーブも 1 件残ります

場面の終わりは、bgm_stop 800 → fadeout 800 → END_ALL の順に書くと、消えきってから後片付けできます。
区切りの良いところで autosave と書くと、その場所でオートセーブします。オートセーブは、環境設定のオートセーブが入のときだけ残ります。

4.9 コメントと sync

コメントは // がおすすめです(; や # で始まる行もコメントになります)。

// スラッシュコメント(おすすめ)
; セミコロンで始まる行もコメント

bg や chara_show の末尾に sync を付けると、演出が終わるまで次の行に進みません。

bg 0 bg01c 0 0 fadein 30 sync
chara_show 0 smile center 30 sync

fadein / fadeout は、sync を付けなくても終わるまで待ちます。暗転の途中で立ち絵がチラつくときは、前の命令に sync が付いているか確認してください。

4.10 ボイス(入門)

ボイスは data6 の下に、キャラごとのフォルダで置きます(例: data6\vo01\vo01_0001.opus)。シナリオには名前だけを書きます。

vo vo01_0001
	こんにちは。

vo vo02_0001
vo_wait

1 つめは、台詞と一緒に鳴らす形です(文章を読んでいる間に声が流れます)。2 つめは、鳴り終わるまで待ってから次へ進む形です。

命令用途
vo 名前ボイス再生。ファイル名の最初の _ までがキャラ ID になり、キャラ別の音量・ミュートが効きます
vo_wait鳴り終わるまで待つ
stopvoice途中で止める
voice_volume vo01 30キャラごとの音量(0〜100)。環境設定の値をシナリオから一時的に上書きします
voice_mute vo01 1キャラごとに黙らせる(0 で戻す)

キャラ ID の一覧は system\SoundInit.txt の表にあります。実演: feature_demo.txt の *b_sound / *b_sound2。コンフィグのキャラ別ミュートは 08章 を参照。

4.11 動画(入門)

動画は data8 に置き、名前だけで呼びます。

movie logo/lumina_logo

動画は Windows・ブラウザ・Android のどれでも再生できます。実演: feature_demo.txt の *a_movie。

4.12 次に読む章

やりたいこと章
好感度・ルート分岐06. フラグと分岐
背景フェードを短く書く07. マクロ
タイトルから本編を開く08. タイトルと設定
命令を一覧から探す09. 命令ダイジェスト
セーブ地点を設計する10. セーブとロード