コンテンツにスキップ

文の行の書き方

文(*)の本文の各行は、行頭の文字で種類が決まります。

行頭 種類 詳細
$ 変数の代入 変数
> ≫ ≧ ジャンプ 制御構造
_ 選択肢 選択肢
→(文の1行目のみ) 話しかけ コミュニケート
それ以外 通常の行(喋る内容) このページ

通常の行

行の中の文字は、左から順に処理されます。

書かれたもの 処理
(…) 展開して、結果に置き換える(()の展開)
: 喋るキャラクターの切り替え(0 と 1 を交互に切り替える)
\ で始まるもの さくらスクリプト。そのまま出力される(さくらスクリプトの扱い)
% で始まるもの ベースウェアが展開する置換タグ(%month など)。そのまま出力される
その他 喋る文字。そのまま出力される

行の終わりで、$自動改行挿入が有効なら \n が付きます。

喋るキャラクター

トークは、最初は相方側(\1)が喋る状態で始まります。

  • : を書くたびに、本体側(\0)と相方側(\1)が交互に入れ替わります。最初の : で本体側になります。
  • characters.ini に名前を登録すると、さくら: のように名前で切り替えられます(replace)。
  • \0 \1 \h \u \p[n] も使えます。
  • キャラクターが 3 人以上のときは \p[n] か、characters.ini の名前を使います。
*OnBoot
:こんにちは。
:こんにちは、さくらさん。

サーフェスの切り替え

(数字) で、喋っているキャラクターのサーフェスを切り替えます((0) (10) (-1))。詳しくはスコープとサーフェス。

行の連結

物理的な行を連結したいときは、行末に φ を書くか、() の中で改行します(前処理)。

【タブ】について

このマニュアルのコード例にある 【タブ】 は、タブ文字(\t)1 文字を表します。表示上は半角スペースと見分けにくいので、【タブ】 と書いています(旧 Wiki と同じ表記です)。

  • 辞書に書くときは、【タブ】 の 5 文字ではなく、タブ文字 1 文字に置き換えます。半角スペースでは区切りになりません。
  • Web 版のマニュアルでは、コード例のコピーボタンを押すと、【タブ】 がタブ文字に置き換わってクリップボードに入ります。
  • 次のような場所で使います。
$名前【タブ】値
*名前【タブ】式
>名前【タブ】式
_ラベル【タブ】ID

replace.txt で 【タブ】 と書けるようにする

replace.txt に 1 行書くと、辞書にも 【タブ】 と書いたまま読み込めます。タブ文字が見えない環境でも、区切りを見分けやすくなります。書く行は、【タブ】 という 5 文字、区切りのタブ 1 文字、置換後のタブ 1 文字の順に並べたものです。つまり、行の中身は「【タブ】、タブ、タブ」です。

コピーボタンは使えません

この行はコード例にすると、コピーボタンが 【タブ】 をすべてタブ文字にしてしまうため、載せていません。エディタで 【タブ】 と打ってから、続けてタブを 2 回押して書いてください。

  • 置換は連結後の 1 行に対して行われます。カッコの中で続く行の行頭に 【タブ】 を書くと、行頭のタブとして無視されず、タブ文字が出力に残ります。字下げは実際のタブで書いてください。
  • replace.txt の文字コードは satori_bootconf.txt の is_utf8_replace で決まります(文字コード)。