里々をSAORIとして使う方法†
里々はSAORIとしても使用することができます。
使用方法†
…といっても使うのに特別必要なものはなく、そのままSAORIとして呼び出すだけです。
YAYAであればFUNCTIONEX関数を、華和梨であればsaoriregist/callsaoriのKISといった具合に使用しているSHIORIのマニュアルに従って登録して下さい。
あとは引数(Argument0)で*トークまたは@単語群を指定します。
- satori.dllと必要に応じてreplace.txtやsatori_conf.txtなどを用意
- dic_なんとか.txt
*雑談
:(0)筋トレするための
筋トレするための
筋トレするための
筋肉が無い
*雑談
(11)ウワーッ国家権力!w9
以上の例でArgument0に「雑談」を指定して呼び出すと、上記の二つの候補から片方が選ばれ、里々のルールに則って整形されたスクリプトが返ります。
引数の詳細†
情報取得変数のシステム情報は普段と変わり、呼び出す時のArgument1以降はリファレンスに格納されます。
これはベースウェアからのイベントの時と同じく(R○)で参照できます。
Argument0 = トーク名または単語群名
Argument1 = (R0)
Argument2 = (R1)
Argument3 = (R2)
...
という感じ。
里々から関数やSAORIを呼び出した時の(S○)ではないので注意して下さい。
特徴と性質†
- 里々形式で辞書を書ける、最大の強み。
replace.txtによるウェイト操作からサーフェス加算値まできっちり使えるので、里々ゴーストとして作った単体のトークはまるごと流用もできます。
重複回避など、他のSHIORIでは自前で組まざるを得ないものまでもちろん利用可能。
さくらスクリプトが羅列されるソースは良し悪しで、改行や自動ウェイト、サーフェス指定の面から直感的にトークの修正をしやすい里々の形式はそれだけでメリットになり得ます。
- 里々をSAORIとして呼び出した場合でもSHIORIの時と同じ挙動をするので、satori_conf.txtやdicから始まるファイルなどを読み込み、satori_savedata.txtを生成します。
もちろん既にsatori_savedata.txtがあるのなら自動で読み込んでくれます。
セーブデータの「起動回数」も加算されていきますし、辞書内で変数をあれこれ弄れば記録されます。
- YAYA as SAORIなど、里々メインで他のSHIORIをSAORIとして機能を借りる方法と比べた場合、里々のSAORI化はそちらのSHIORIの方が処理を書きやすいという人向けになります。
もちろん両方のSHIORIに精通していなければならないのでハードルは高くなるものの、こちらは里々の「トークの書きやすさ」を借りると言い換えることができます。
注意点†
- 注意点もいくつかあります。
当たり前ですが制御はSHIORIの役割であり、SAORIで呼び出された里々がやるのは、あくまで指示されたトークの内容を(さくらスクリプトに整形し)返すことだけ。
ベースウェアからのイベントを受けるわけではないので、例えばOnSecondChangeなどを里々の側「だけ」書いてあっても意味がありません。
つつかれなどの独自イベントやランダムトークなど、呼び出すタイミングは大元のSHIORIでコントロールしなければならないということです。
もちろん情報取得変数で取得できなくなる情報もありますし、システム情報も普段とは変わります。
- 上記に関連しますが、里々の内部処理に代表されるスクリプトが自動的に加工されるものは使用するべきではありません。というかそのままではまず使えません。
具体的には「選択肢」で、タグの内容が編集されてバイト値が挿入されてしまうので、受け取るSHIORI側がこれを想定した作りにしないと選択肢先に正しく飛べないわけです。
特殊記号の _ と、さくらスクリプト \q を使用する際は注意して下さい。
選択肢には \__q[]~\__q を利用するのも手です。