#author("2023-05-06T03:45:49+09:00","","")
#author("2023-05-06T03:48:10+09:00","","")
*シナリオコマンド [#l5c1544f]
シナリオコマンドはシナリオスクリプトに記述することができる命令群です。シナリオコマンドを使うことによって、簡易作成では生成することのできない複雑な構成の文章を生成することも可能になります。

注意)シナリオコマンドで使用する記号はすべて半角になります。Wikiの仕様上、半角表示ができないものもあるため全角で表示している場合があります。

#contents

**コメント行 [#r53cf473]
行頭に“#“がある場合、コメント行となります。

**シーンを作るデータを指定 [#da480558]
 **[データ名]( ,オプション:値,… )
[データ名]で指定したファイルからシーン[センテンスの集合]を作ります。

例)サンプルシナリオ(“サンプル.json”)を使う

 **サンプル,進度1:1
オプション
進度1	進度1の表示行数を指定します。~
進度2	進度2の表示行数を指定します。~
進度3	進度3の表示行数を指定します。~
進度4	進度4の表示行数を指定します。~
重複	“重複:可”で重複有り、”重複:不可”で各進度で同じ行が表示されるのを防ぎます。~
タグ	指定したタグに該当する行だけを対象に抽出します。~
**テキストを挿入 [#oa6dfd27]
 *(read=[テキストファイル] )
 *read=[テキストファイル] 
[テキストファイル]で指定したテキスト文を挿入します。挿入直後に[置換]が実行されます。

例)追加サンプル.txt を挿入する。
 *read=C:\追加サンプル.txt
**置換ファイルを指定 [#he23c7e8]
 *replace=[置換ファイル](,[置換ファイル2],…)
テキストを置き換えるファイルを指定します。置換ファイルはカンマで区切ることで複数指定できます。置換ファイルが複数指定されている場合は、前から後の順で実行していきます。

例)置換A.rpl を指定する。

 *replace=置換A
置き換えファイルの他に置換文字列を指定することもできます。置換前文字列の頭に“$”がなくても構いません。

 *replace=置換前文字列:置換後文字列
※特殊置換
 @@replace=[置換ファイル](,[置換ファイル2],…)
 @@で置換を指定した場合、最初にシナリオスクリプトを読み込んだ時点で実行されます。通常スクリプト内に記述されたシナリオコマンド自体は置換の対象になりませんが、このコマンドを使うことでシナリオコマンドを含め、最初に読み込んだシナリオスクリプト全体に対して置換を行うことができます。

**文書出力のスタイル指定 [#r98b734f]
 *(style [novel/ss] )
 *style [novel/ss] 
novel
小説スタイルで出力します。

ss
冒頭にキャラ名が表示されるssスタイルで出力します。

**文書出力のフォーマット指定 [#gf70651a]
 *(format=[text/html/tyrano/hachi4] )
 *format=[text/html/tyrano/hachi4] 
文章の出力フォーマットを指定します。

text
通常のテキストとして出力します。

html
文末に改行文字が入ります。

tyrano
文末に[l][r]が入ります。

hachi4
hachi4のキャラクタ指定が入ります。

**デバッグモード [#dbbc7883]
 *(debug [on/off] )
 *debug [on/off] 
データから出力される各行の頭に進度を表示します。

**改行挿入 [#zbef6bb6]
 *(liefeed [on/off] )
 *liefeed [on/off] 
各行に空行を追加します。

**最終行固定 [#d555d613]
 *(fixlast [on/off] )
 *fixlast [on/off] 
進度最終行機能を使用します。データのタグに“> *”が入っている行が候補になります。“on”にすると各進度毎の最終行には“> *”が入っている行のいずれかが表示されます。

**ストック行挿入 [#w95681cd]
 *(stock=[文書] )
 *(set [数値] )
 *stock=[文書] 
 *set [数値] 
挿入する文章をそのままシナリオに挿入せずストックに追加し、“*set”を実行したときにストックされた文章群の中から、ランダムに抽出された文章のみを挿入します。詳細はストック行挿入の使い方を参照してください。

**乱数挿入(%d表記) [#v1d9a196]
 %(d[数値] )
 %d[数値] 
数値の範囲で乱数を挿入します。

> %d[最小値,最大値] 最小値~最大値の範囲で乱数を挿入します。

**乱数ストック(%dtock表記) [#e3ef9486]
 %(d表記と同じ乱数を挿入します。その時の値はストックされ、%dstock[]で呼び出すことができます。 )
 %d表記と同じ乱数を挿入します。その時の値はストックされ、%dstock[]で呼び出すことができます。 

> %dstock[数値] 数値の範囲で乱数を挿入します。結果の値はストックされます。

 %(dstock[最小値,最大値] )
 %dstock[最小値,最大値] 
最小値~最大値の範囲で乱数を挿入します。結果の値はストックされます。

 %(dstock[] )
 %dstock[] 
ストックされている値を挿入します。


**カウント挿入(%c表記) [#g3a685b3]
 %(c)
 %c
カウントされた数字が挿入されます。カウント値はストックされます。カウントはアプリ起動時に1にリセットされます。また[]内に数値を記述するとそこからカウントが始まります。

 %(cstock)
 %cstock
ストックされた数値を挿入します。

**その場で選択 [|] [#db7fcadd]
[文字列1|文字列2|文字列3…]
 指定した文字列の中から1つをランダムに選択して表示します。

システムコマンド
 @@output=[ファイルパス]
シナリオ作成時に、出力結果を指定されたファイルとして出力。

 @@outputrun=[ファイルパス]
シナリオ作成時に、出力結果を指定されたファイルとして出力後に実行。

 @@run=[ファイルパス]
シナリオ作成直後に、指定されたファイルを起動。

 @@changepath(=[フォルダパス])
指定されたフォルダパスをカレントパスにします。フォルダパスが未指定の場合はデフォルトのカレントフォルダに変更。

 @@runnovel(=[シナリオパス])
指定されたシナリオパスにあるnovelゲームを起動します。パスが未指定の場合はカレントフォルダのnovelを起動。

 @@clearsetting
シナリオ作成時のパラメータをデフォルトに戻します。コマンドのシナリオ中の位置に関わらず最初に実行され、その後シナリオ内の設定が適用されます。

***画像合成コマンド [#o189fc7b]
 @@imagefactory
 画像合成を行う宣言。ファイル出力後(*output/*outputrun)後に画像合成を行います。

 *(canvas=[幅],[高さ] )
 *canvas=[幅],[高さ] 
 合成を行うための画面サイズを指定します。

 *(add=[画像ファイル](,オプション) )
 *add=[画像ファイル](,オプション) 
 合成する画像を追加します。

オプション
x:[数値],y:[数値]	合成する画像の位置を指定します。
zoom:[数値]	画像の倍率を指定します。
width:,height:	画像の幅と高さを指定します。
reverse:yes	画像をY軸反転させます。
 *(addtext=[文字列](,オプション) )
 *addtext=[文字列](,オプション) 
 合成する文字列を追加します。

オプション
x:[数値],y:[数値]	合成する画像の位置を指定します。
FontName:[フォント名]	フォントを指定します。
FontSize:[数値]	フォントサイズを指定します。
color:[色名]	フォントの色を色名[black/white/red/blue/yello/green]で指定します。
 *(save=[保存するファイル] )
 *save=[保存するファイル] 
 合成後の保存ファイル名を指定します。

***システム情報 [#n66dc0ca]
 %(scenario_path[] )
 %scenario_path[] 
 現在開かれているシナリオフォルダのパスを返します。

 %(app_path[] )
 %app_path[] 
 シナリオファクトリーがあるフォルダのパスを返します。

 %(datettime[] / )
 %datettime[]  
 日付・時刻を返します。
 %datetime_year[] → 現在の年を返します。
 %datetime_month[] → 現在の月を返します。
 %datetime_day[] → 現在の日を返します。
 %datetime_hour[] → 現在の時間を返します。
 %datetime_minute[] → 現在の分を返します。
 %datetime_second[] → 現在の秒を返します。
 %(desktop_path[] )
 %desktop_path[] 
 デスクトップのパスを返します。

 %(mydocument_path[] )
 %mydocument_path[] 
ドキュメントのパスを返します。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS