← 仕様書・設計書一覧
KS スクリプト仕様書
かえでノベルゲームエンジンで使用する KS(Kaede Script) フォーマットの仕様書です。TyranoScript 風の記法を採用し、テキストファイル(.ks)でシナリオを記述します。
基本構文
テキスト表示
行頭に直接テキストを記述すると、TEXT_APPEND 命令に変換されます。
こんにちは、世界!
これは2行目のテキストです。キャラクター名付きテキスト
【】 で囲むとキャラクター名として認識され、テキストに who フィールドが付与されます。
【太郎】こんにちは!
【花子】はじめまして。コメント
;(セミコロン)で始まる行はコメントとして無視されます。
; これはコメントですラベル
* で始まる行はジャンプ先のラベルです。
*start
*ending_aコマンド一覧
コマンドは @ で始まります。
背景
@bg id
@bg id fade 500| 引数 | 説明 | 必須 |
|---|---|---|
id | 背景画像のアセットID | Yes |
fade ms | フェード時間(ミリ秒) | No |
キャラクター表示
@ch name pose pos
@ch name pose pos fade 500| 引数 | 説明 | 必須 |
|---|---|---|
name | キャラクター名 | Yes |
pose | ポーズ名 | Yes |
pos | 位置(left / center / right) | Yes |
fade ms | フェード時間(ミリ秒) | No |
BGM 再生
@bgm id効果音再生
@se idボイス再生
@voice idジャンプ
@jump labelウェイト
@wait click
@wait 1000選択肢
@choice_start と @choice_end で囲み、- で選択肢を列挙します。
@choice_start
- 選択肢A
- 選択肢B
- 選択肢C
@choice_end条件付き選択肢にも対応しています。
@choice_start
- 常に表示される選択肢
- 条件付き選択肢 if $flag == 1
@choice_end条件分岐
@if / @else / @endif で条件分岐を記述します。
@if $flag == 1
【太郎】フラグが立っています。
@else
【太郎】フラグは立っていません。
@endif変数操作
$ で始まる変数名を使い、代入・加算・減算ができます。
$flag = 1
$counter += 1
$hp -= 10| 演算子 | 説明 |
|---|---|
= | 代入 |
+= | 加算 |
-= | 減算 |
トークン型一覧
| LineType | 説明 |
|---|---|
COMMENT | コメント行 |
COMMAND | コマンド(@ で始まる行) |
TEXT | テキスト行 |
VAR_SET | 変数操作 |
CHOICE_START | 選択肢ブロック開始 |
CHOICE_OPTION | 選択肢の各項目 |
CHOICE_END | 選択肢ブロック終了 |
IF_START | 条件分岐開始 |
IF_ELSE | else 節 |
IF_END | 条件分岐終了 |
サンプルシナリオ
; プロローグ
*start
@bg classroom
@bgm school_bgm
【太郎】今日は転校生が来るらしい。
@ch hanako smile center fade 500
【花子】はじめまして!花子です。
$met_hanako = 1
@choice_start
- よろしく!
- ...(無視する)
@choice_end