ファイル構成と初期設定 - SHIORI『真絵(mae)』仕様書
■ファイル構成
-
(ベースウェアの実行ファイルがあるディレクトリ) +-ghost +-(ゴーストの名前) +-ghost +-master +-shiori.dll +-mae.ini +-*.dic +-mae_corpus.txt +-mae_alias.txt +-mae_action.txt +-mae_surface.txt +-mae_commonfunc.txt +-mae_variable.txt +-mae_systemvar.txt +-mae_news.txt +-mae_wordinfo.txt +-mae_use.txt +-log.txt : +-descirpt.txt : +-shell
-
shiori.dll
SHIORI真絵の本体です。伺か側の設定descript.txtでのSHIORIファイル名の指定にあわせて、名称変更は可能です。
-
mae.ini
SHIORI真絵の初期設定ファイルです。 詳細はこちらを参照してください。
-
*.dic
単語登録のための辞書ファイルです。SHIORI真絵は拡張子が.dicのものをすべて読み込みます。 1つの単語に「品詞分類」「タイトル」「ジャンル」「価値観」などが設定可能です。 詳細はこちらを参照してください。
-
mae_corpus.txt
文章とプログラムを記述するファイルです。 文章はタグごとに管理され、タグごとに複数の条件とプログラムを持つことができます。 詳細はこちらを参照してください。
-
mae_alias.txt
辞書変数名の定義を記述するファイルです。 文章の中で単語に置き換わる変数には「システム変数」「辞書変数」「ユーザー変数」があります。 詳細はこちらを参照してください。
-
mae_action.txt
文章の定義で使用するタグ名の別名を定義するファイルです。 通常、タグ名はSHIORIのイベント名称がそのまま使用されますが、このファイルでイベント名称の別名が定義できます。 詳細はこちらを参照してください。
-
mae_surface.txt
サーフィス番号の別名を定義するファイルです。 詳細はこちらを参照してください。
-
mae_commonfunc.txt
mae_corpus.txtの中のプログラムで使用するユーザー関数を記述するファイルです。 詳細はこちらを参照してください。
-
mae_variable.txt
※書き換える必要はありません。
ユーザー定義変数が保存されるファイルです。変数の保存と読み込みは自動で行われます。 -
mae_news.txt
※書き換える必要はありません。
登録されたNewsが保存されるファイルです。Newsの保存と読み込みは自動で行われます。 -
log.txt
※書き換える必要はありません。
初期設定ファイルでログ取得指定をすると、生成されるファイルです。 SHIORI真絵が処理をした履歴がテキスト形式で、順次追加で出力されます。 -
mae_systemvar.txt
※書き換えることはお薦めしません。
システム変数が定義されているファイルです。 宣言文を変更することで、システム変数名の変更が可能です。 -
mae_wordinfo.txt
※書き換えることはお薦めしません。
品詞の名称ごとに、mae_alias.txtで使用可能な識別子を定義します。 詳細はこちらを参照してください。 -
mae_use.txt
※書き換えることはお薦めしません。
使用する品詞を定義するファイルです。*.dicを読み込んでもSHIORI真絵では使用しない品詞を除外することを目的としています。 詳細はこちらを参照してください。
■初期設定
-
初期設定ファイル - mae.ini
- ゴースト起動時の初期設定はmae.iniファイルに保存されています。ゴースト初回起動時に自動生成されるファイルです。
- ゴースト作成者が初期設定を変更したい場合は、プログラム中でsetini()関数を使用して変更してください。
- ゴースト作成者は配布アーカイブやネットワーク更新にmae.iniを含めてはいけません。ゴースト使用者が設定したユーザー名を上書きすることになります。
- ゴースト使用者はゴーストを終了させてから、mae.iniファイルを直接編集して設定変更することが可能です。 ゴースト起動中に編集しても、ゴースト終了時にメモリ上のデータで上書きされてしまいます。 一部の設定はゴースト作成者によるsetini()関数での指定で上書きされる可能性はあります。
- 設定は「キーワード=パラメータ」で指定してください。以下のキーワードが設定可能です。
-
LOG
log.txtへログを出力するかどうか(0:しない, 1:する)を指定します。非常に多くの情報を出力するので注意してください。
例) ログ出力をしない場合: LOG=0
-
SHIORI
伺か(ベースウェア)に返すSHIORIプロトコルのバージョン番号を指定します。3.0以上にしてください。
例) SHIORI/3.0でベースウェアへ返す場合: SHIORI=3.0
-
TALK_INTERVAL
通常トークを話し出す時間の間隔を指定します。単位は分です。実行変数%talkで文章中での変更が可能です。 TALK_INTERVAL_DETAILと併せて0が設定された場合、通常トークを話さなくなります。
例) 7分間隔で話し出させる場合: STALK_INTERVAL=7 TALK_INTERVAL_DETAIL=0
-
TALK_INTERVAL_DETAIL
通常トークを話し出す時間の間隔を指定します。単位は秒です。実行変数%dtalkで文章中での変更が可能です。 TALK_INTERVALと併せて0が設定された場合、通常トークを話さなくなります。
例) 30秒間隔で話し出させる場合: TALK_INTERVAL=0 TALK_INTERVAL_DETAIL=30
-
TALK_INTERVAL_ADDITION
通常トークを話し出す時間の間隔に、ランダムで追加する最大の時間を指定します。単位は秒です。
例) 7分30秒から8分の間隔でゴーストを話し出させる場合: TALK_INTERVAL=7 TALK_INTERVAL_DETAIL=30 TALK_INTERVAL_ADDITION=30
-
MIKIRE
見切れていると認識する連続の見切れ時間を指定します。単位は秒です。 見切れとは画面外にゴーストがいる状態を言います。
例) 20秒見切れが続いていた時に「見切れ」と判断する場合: MIKIRE=20
-
KASANARI
重なっていると認識する連続の重なり時間を指定します。単位は秒です。 重なりとは本体と相方が重なっている状態を言います。
例) 10秒重なりが続いていた時に「重なり」と判断する場合: KASANARI=10
-
SAWARI
触られていると判定するまでのマウスおよびホイールの移動量を指定します。
例) マウスおよびホイールの移動量が100になったら触られていると判断する場合: SAWARI=100
-
SECUTIRY_LEVEL
セキュリティレベルを指定します。数値が高いほどセキュリティは高くなります。 8以上は"external"のイベントを無視します。 (7以下はexternalイベントを受け入れて処理実行する、8以上はexternalイベントを破棄して処理実行しない) 実行変数%securityで文章中での変更が可能です。
例) externalイベントを受け入れる場合: SECUTIRY_LEVEL=4
-
USERNAME
※ゴースト作成者が設定する必要はありません。
ゴースト作成者が定義するデフォルトのユーザー名は文章定義ファイルの中で指定可能です。例) ゴースト利用者がユーザー名を「mae mako」に設定する場合: USERNAME=mae mako
-
タイムスロット - BEGIN_SLOP(0〜9),END_SLOP(0〜9)
何時台~何時台という区切りで、0~9のスロット番号を持つタイムスロットを定義して、タイムスロットで定義した時間ごとに文章を変更することが可能になります。 タイムスロットを定義しなくてもタグごとに条件を指定できますが、時間により文章を変更したい場合には、タイムスロットを使用すると条件記述の手間が省けます。
すべてのタグで、タグ名.slot(0~9)が利用可能です。重複する範囲指定があった場合、小さいスロット番号の定義が優先されます。 タイムスロットが0時をまたぐ場合も問題なく定義できます。例) BEGIN_SLOT1=4 END_SLOT1=7
この例の場合、4時台~7時台に伺かを起動をするとOnBoot.slot1というタグから文章が選ばれます。
-
UNDEFINED_WORD
要求された単語が辞書に定義されていない場合など、未定義情報の出力に利用する文字列を定義します。
例) 辞書に定義されていない単語においては、「アレ」という固定文字列を出力する場合: UNDEFINED_WORD=アレ
-
MAX_SENTI
気分の最大絶対値を設定します。気分は-MAX_SENTI~MAXSENTIの間で揺れ動くことになります。
例) 気分を-100〜100の範囲で変更させる場合: MAX_SENTI=100<
-
気分の閾値と調整値
気分を-5~5の感情レベルへ変換する際の閾値を設定します。 SHIORI真絵は気分の値を持っていますが、直接気分の値によって動作をすることは少なく、原則として感情レベルによって動作が変化します。 その閾値よりも多きな絶対値を持つ気分になった場合、該当する感情レベルになります。また各感情レベルによって、話す度に自動的に気分の値を変化させることができます。 これを調整値といいます。各感情レベルで気分の閾値と調整値が指定が可能です。
例) 感情レベル3の閾値を50、調整値を3に設定する場合: P3_SENTI_THRESHOLD=50 P3_SENTI_ADJUSTMENT=3