華和梨テンプレート「パリパリ」
■ 概要
構成ファイル数の少なさと実装イベントの両立を最優先にした華和梨テンプレート。
書式以外において、基本機能及び一般的な挙動面でも強力なものを備える『里々』の長所を出来るだけ取り込んでいます。同時にファイルサイズの減量、各要素に跨るロジックを極力排す等でシンプルながらそれなりの機能を有します。
代償として里々と華和梨両方の知識が必要で、『里々』熟練者向けの特殊な準汎用フォーマットです。
■ 使用時の注意
本テンプレートの使用には『里々』『華和梨』の知識が必要不可欠です。
- 里々
- ポストと狛犬をテンプレ通り改造するだけでなく、ssuやリファレンスの使い方などの基本的なゴースト制作の知識が欠かせません。必然的に、辞書の構造もある程度理解している必要があります。
- 華和梨
■ ファイル構成
ver3.02以降は、里々と同じく「名前がdicから始まるファイル」を自動的に読み込みます。
この範囲ならば自由に辞書ファイルを追加・編集することができます。例:dic01_talk.txt、dic_sample.dicなど
明らかに辞書ではない拡張子(exe,dll,bmp,jpg,gif,png,wav,mp3,ico)は読み込みません。
- kawarirc.kis
- 華和梨の、そしてパリパリのシステムファイル。
- 初期設定(homeurlや触り反応の感度など)の項目がありますので、まずこれを編集して下さい。
- 設定箇所以下の行は定義がずらずらと記述されていますが、中身は「referenceの短縮」「セーブロードの定義」「独自関数の定義」「reference参照時のセキュリティ対策」「起動時の辞書読み込み」の5つだけです。
- dic_event.txt
- 辞書ファイルその1。
- 栞イベントとnotifyイベントを処理する辞書。言い換えれば、ゴーストの動作定義はほぼ全てこの中に記述されています。実際にトークさせる部分については dic_basic.txt にまとめてあるので、通常はこのファイルを編集する必要はありません。
- dic_basic.txt
- 辞書ファイルその2。
- ランダムトーク以外のトークに関する定義、つまりダブルクリックメニューや触り反応、コミュニケート、時報、おすすめリンクの設定まで全てまとめた辞書です。
- dic_talk.txt
- 辞書ファイルその3。
- ランダムトークのみをまとめた辞書。
- shiori.dll
- descript.txt
■ 関数・コマンド
- 命令
- ★ ${セーブ}
- 実行した時点でセーブデータの手動セーブを行います。常に上書き。
- ★ ${ロード}
- 実行した時点でセーブデータの手動ロードを行います。変数初期値設定での修復も行います。
※ kawarirc.kisで使用しているため、起動時やリロード時は自動的に実行されています。従って、辞書で使う意味は薄いです(ダブり対策処理済みなので使用しても問題は起きませんが…)。
- 関数
- ★ talk関数
- 里々の重複回避機能を模した機能です。使い方は ${エントリ名} の代わりに $(talk "エントリ名") と記述します。
- 使用時に ${エントリ名_satoritemp} というチェック用の予約エントリが作成されます。
-
重複回避 ...里々の重複回避=有効時の挙動で、 「ランダムだが一巡するまでは同じトークを選択しない」機能です。
- 本テンプレではランダムトークや触り反応トークに仕込まれています。
- ★ reload関数
- 辞書をリロードするコマンドで、 $(reload) と記述して使用します。
- 実行された時点で「全エントリをクリア」し、kawarirc.kisをロードします。従って、descript.txtの内容やシェルなどの変更は更新されません。これらのリロードは、SSPの開発者向けメニュー機能で行って下さい。
- 全エントリをクリアする性質上、コマンド使用前に ${セーブ} をセットで行って下さい。
- ★ 辞書フォルダ変更関数
- 里々の「$辞書フォルダ」を模した機能で、 $(辞書フォルダ変更 "フォルダ名") と記述して使用します。
-
辞書フォルダを指定すると、読み込む辞書ファイルをghost\masterのものではなく、さらに下位に作成した任意のフォルダに設定できます。これを利用すると、同じゴーストで複数のキャラクターを作ることが容易になります。
- 辞書フォルダを元のmaster以下に戻したいときは、里々同様に「半角ピリオド」を指定するか、または存在しないフォルダ名を指定して下さい。ちなみにフォルダ指定時も通常と同様、「名前がdicから始まるファイル」を自動的に読み込みます。
- 読み込む辞書(dic〜から始まるファイル)のフォルダを変更するだけなので、kawarirc.txtとセーブデータは常に共用です。
- ※ver5.20 里々同様、コンマで区切って複数指定が可能になりました。 例/$(辞書フォルダ変更 "フォルダ名1,フォルダ名2,フォルダ名3") や $(辞書フォルダ変更 ".,フォルダ1") (masterとその直下のフォルダ1を同時に使う)
■ 実装機能・イベント
- 会話時サーフェス戻し /4.20 append
- 里々の「$会話時サーフェス戻し」の分割版。トーク前に「デフォルトサーフェス」指定に戻すのは同じですが、待機中自動でデフォルトサーフェスに戻る「レストア」が個別に設定できます。
また、冒頭に記述する必要のあるさくらスクリプト(\C)はこの機能がonの時にも使用可能です。
- 待機時サーフェス戻し /4.20 append
- ↑からレストアイベントを独立させたもの。里々では「$会話時サーフェス戻し」を無効にするとレストアイベントまで無効にされてしまいますが、本テンプレではレストアだけをon/offできます。
- セーブデータ
- ファイル名と保存するエントリ名、内容を暗号化するかどうかを指定可能。
- つつき・なでられ・ホイール各種反応
- 里々のものと同一。最適化した「つつかれ」「なでられ」「ころころ」と、追加で「ころころ上」「ころころ下」「ころくり」があります。感度指定可能。
反応を作っていない箇所をつついた場合、デフォルトではランダムトークを行います。
- ランダムトーク
- 里々のものと同一。「喋り間隔」秒数ごとにランダムトークを行います。
- 次のトーク
- 里々のものと同一。「次のトーク」に次回ランダムトークの代わりに呼びたいエントリ名を入力して使用します。
例: $(push 次のトーク "食べ物に関するトーク続き") 等。「次のトーク」エントリは順次popされていくので、setstrコマンドよりpushコマンド推奨です。
- 隣のゴーストに話しかける
- ダブルクリックメニュー
- ランダムトークの実行、隣のゴーストに話しかける、喋り間隔やユーザ名の変更など基本的な例を実装しています。
- 入力ボックス
- コミュニケート
- ユーザからのコミュニケートと、ゴーストからのコミュニケート、両方共通の3つに対応。
コミュニケートはワードの断片で対応可能です。
別のゴーストにコミュニケートを投げるには、華和梨の基本ルールに従って $(setstr System.Response.Reference0 "相手の\0名") とします。これは里々でいう「$Value0」と全く同じです。1以降はリファレンスとして追加情報を設定可。
逆に言えば、特に命令がなければコミュニケートは1回限りで終了です。
- ゴースト交代反応
- 交代前のゴーストの直前ワードを断片で分岐し、それぞれ対応可能です。
- 時報
- 時計が0分の時に時報を行います。それぞれトーク内容を指定可。
デフォルトでは自動的に ${セーブ} も実行しています。
- 台本コミュニケート
- キーボードイベント
- 簡単に対応可能。デフォルトでtキーでランダムトーク、rキーで辞書リロードに割り当てています。
- 自動ウェイト挿入
- OnTranslateを利用した置換ワードを設定できます(ウェイト以外にも利用可)。デフォルトではoff。
- 変数の初期値
- 里々のsatori_conf.txt内にある「*初期化」に相当します。
フラグや好感度などの初期値設定に有効で、内容が消えた時の保険としても働きます。
- GET/NOTIFY対応 /5.00 append
- 評価する時に ${get.イベント名} 又は ${notify.イベント名} があるかどうか確認して、無ければ従来通り ${イベント名} を評価するように改めました。GETとNOTIFYで個別の処理をさせたい場合に有効です。
- 起動時間関連 /5.22 append
- ${累計時} ${累計分} ${累計秒} でゴーストの起動時間の累計
${起動時} ${起動分} ${起動秒} で今回の起動時間の合計
${起動間隔日} ${起動間隔時} ${起動間隔分} ${起動間隔秒} で前回終了時からの日数や時間
をそれぞれ取得できます。
■ 余談とか
華和梨は里々と比べ以下の利点を持ちますが、本テンプレートは里々を模しているため、これらを活かさないと意味を成しません。
- 強力なエントリ処理
- 華和梨は里々で用意されているコマンドに比べ、popやpushなど融通の利く変数処理コマンドが多数用意されています。配列処理も簡単にこなせる上、四則演算やビット演算なども可能です。これらを利用すれば、独自の機能を搭載したゴーストの作成もできます。
- セーブするエントリを管理できる
- 里々は「設定した変数は必ず保存される」という仕様があります。そのため、運用によっては矢鱈と大量に変数が保存される事になり、あとで必要な変数が何なのかごちゃごちゃになりがちです。その点、華和梨は保存したいエントリ以外は自動的に破棄されるので、セーブ内容の管理がしやすくなります。
- ファイル管理など
- ファイル管理を行う命令を持たないため機能そのものはYAYAに劣りますが、テキストファイルの編集などは華和梨単体で十分に可能です。
- ソースを縦に短くできる
- 里々は全角文字や改行を多用する性質上、ソースが汚くなりがちです。華和梨なら一つの単語定義を一行でまとめられる為、使い方次第ではかなりスリムに見やすくできます。
- トークする内容を正確に制御できる
- 華和梨の利点……というより、里々は自動ウェイト挿入や自動改行、頭に挟まれるサーフェス戻しなどによってトークが装飾されますが、これらの融通が利かないため効率的な制御が難しいという短所があります。3体以上の多キャラの制御も手間が要ります。
- イベントをGETとNOTIFYで個別に処理できる
- リクエストヘッダ等と組み合わせて細かい挙動の制御が可能です。
■ 栞クレジット
プログラマブル準AI華和梨 Phase 8.2.8