SAORIについて。 簡単にいうとゴーストに機能を追加するプラグイン。dllやexe形式で提供されます。
難しく言うとSHIORIから利用するプラグイン。見た目は関数っぽい何か。
さおこれさおりんなど外部サイトも参照。

wiki内関連ページ:SAORI/YAYASAORI/YAYA/統合関数一覧

 



SAORIの使うには

  1. ghost\master\saoriフォルダに、使いたいSAORIの本体を置く。
  2. satori_conf.txtの「@SAORI」以降の行に次のように書いて登録する。
    登録名,saori/SAORI本体のファイル名
  3. 呼び出すには次のように書く。
    (登録名[,引数n…])

登録名には好きな名前を付けられます。
特に決まりはなく、そのSAORIの名前をそのまま使ったり、短縮したものなど、自分が把握しやすいものがいいでしょう。
呼び出す方法は、関数のそれと全く同じです。
引数が必要ないSAORIなら、(登録名)だけでOK。

使用例

MIYさんのmciaudio.dllを組み込む例。

tips

SAORI使用説明書の補足

配布されているさおり同梱の説明は里々以外の栞に向けて書かれている事が多いので、ちょっと補足。

Argument
これはSAORIの引数です。
「第○パラメータ」と書かれてる事もあります。
里々では引数1,引数2...と指定します。
(登録名,Argument0,Argument1,…)
Value
SAORIからの返り値です。
里々ではValue0なら(S0)、Value1なら(S1)…と書いて取得します。
ウィンドウハンドル(HWND)
引数にウィンドウハンドルを要求するSAORIもあります。後述しますが、大抵は(本体ハンドル0)を使えばOK。

使用テクニック

同期呼び出し

関数はもちろん、SAORIの呼び出しも例外なく、そのトークが呼ばれた時点で実行されます
なので、トークを再生中のあるタイミングでSAORIを実行させたい場合、文中にただ書いただけではダメ。
これを実現するには二つの方法があります。
どちらも@SAORIに

fill_desktop,saori/fill_desktop.dll
fill_red,saori/fill_desktop.dll,255,0,0

が設定されているとします。

sync関数
里々で用意されたsync関数を使う方法。
:3・2・1・(sync,fill_red)はい!\w9\w9
(sync,fill_desktop)びっくりした?\w9\w9
\![raise,]
さくらスクリプトの\![raise,~]を使い、任意のタイミングで別のセクションを呼ぶ方法。
*
:3・2・1・\![raise,塗りつぶし]はい!\w9\w9
\![raise,塗りつぶし解除]びっくりした?\w9\w9

*塗りつぶし
(fill_red)

*塗りつぶし解除
(fill_desktop)

これで想定したタイミングで発生します。
戻り値は捨てられます。挿入されたりはしません。

ウィンドウハンドル

ウィンドウハンドルの通知時に *hwnd が呼ばれます。
ここで変数に保存するか、SAORIに直接渡しましょう。
(R0)には本体ウィンドウ、(R1)にはバルーンウィンドウのハンドルが入ります。
それぞれ、\0,\1,\2...(\2以降はCROW/SSP限定)のハンドルがバイト値1で区切られたもの。
これをsplitで分割して、目的のウィンドウハンドルを得る事になります。

*hwnd
(split,(R0),(sprintf,%c,1))
$本体ハンドル0=(S0)
$本体ハンドル1=(S1)
(split,(R1),(sprintf,%c,1))
$バルーンハンドル0=(S0)
$バルーンハンドル1=(S1)

#\0・\1の本体・バルーンのハンドルを変数に保存する。~
#この変数をハンドルを必要とするさおり呼び出しに使用する。~
#(S2)以降を参照することで\2以降のハンドルも取得できるが、~
#ウィンドウが初期化されていない場合無効なハンドルが~
#渡されてくるかもしれない。(未検証)~

引数がSAORIで処理する前に計算されてしまうのを防ぐ

例えばこう記述して「1+1+1」内の「+」を消そうとすると

(erase、1+1+1、+)

「1+1+1」がerase処理前に計算され、「111」ではなく「3」という結果が出てしまう。
計算されなくても全角数字にが勝手に半角になってしまい困る場合もある。
これを防ぐには、特殊変数$SAORI引数の計算を使おう。

$SAORI引数の計算【タブ】無効

ただし、これを無効にしたままだと他のSAORIが正常に動かなくなる可能性があるので、用が済んだら「$SAORI引数の計算【タブ】自動」に戻すようにしよう。

$SAORI引数の計算【タブ】有効
計算する。
$SAORI引数の計算【タブ】無効
計算しない。
$SAORI引数の計算【タブ】自動
各引数の先頭文字が数値または+、-記号のいずれかであれば計算する。
何も指定しなければこれ。今までと同じ動作。

SHIORIをSAORIとして使う

栞(SHIORI)の中には、SAORIとしても使えるようになっているものもあります。
特に文/YAYAや華和梨を使ってその関数を借りれば、里々の簡単さを損なわないままに、できる事を大幅に拡張する事ができます。

文/YAYA

詳しくはSAORI/YAYAへ。YAYAの持つ正規表現などの多数の関数やファイル・フォルダ操作を利用できます。

YAYA as SAORI と同じノリで作られています。ダウンロード→AKARI as SAORI
マウスカーソルを自在に操る等、YAYAとは明らかに違う灯独自の関数を堪能できて楽しいと思います。

華和梨

詳しくはSAORI/華和梨へ。

里々

里々自体もさおりとして使うことができます。詳しくはSAORI/里々へ。
satoriで登録したならば、(satori,起動)のようにして使えます。この時、引数の間にスペースが入ってはいけません。
最初から使える関数以外の定義(例えば上記の"起動")は自分で里々形式のスクリプトを書き、さおりと同じフォルダに配置しなければなりません。

忍をさおりとして使用する際には特別必要なものはありません。
shinoで登録したならば、(shino, get, OnBoot)のようにgetというコマンドを使います。
OnBoot等の定義は自分で忍形式のスクリプトを書き、さおりと同じフォルダに配置しなければなりませんが、サンプルとなるゴーストが既にダウンロードできない状態のようですので利用は難しいと思います。

里珠

里珠をさおりとして使うためには、別途さおりとして扱うためのスクリプトが必要ですが、現在のところ公開されているものはないようです。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-01-26 (木) 17:14:31