レゴキチ/里々まとめ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*里々まとめ [#faa48e45]
-里々WikiやSatoriSpecWikiとは一味違う里々の文法のまとめを...
-もうずっと書きかけです
--デマやウソ情報を見つけたら一番下のコメントフォームへ報...
-俺、このWikiを書き終えたら界隈から離れるんだ……。
*もくじ [#ud763063]
#contents
----------------------------------------------------------
*里々関連ファイル [#z8148cd0]
-----------------------------
**satori.dll [#r270f174]
-里々。
-SHIORI/3.0対応。
-数ある栞の中でもっとも栄えているモノの1つ。
-製作者による開発は停止しているが有志により進化し続けてい...
-開発元→http://www.geocities.jp/poskoma/#content_1_1
-有志による最新版→http://ms.shillest.net/satoriya.xhtml
***初期状態 [#dddee984]
-初期状態では下記が実行された状態になってます。
$引数区切り追加 、
$引数区切り追加 、
$引数区切り追加 ,
$引数区切り追加 ,
$引数区切り追加 (sprintf,%c,1)
-これらを削除してしまうこともできます。
-引数区切りの設定は保存されません。*OnSatoriLoad?で設定...
-----------------------------
**ssu.dll [#o53a461e]
-satori.dllの機能を補うSAORI
-「里々はゴースト作成に最小限の機能しか実装しない」という...
-機能は後述
-----------------------------
**satorite.exe [#icffaba2]
-里々スクリプトのデバッグ用ソフト。
-satori.dllをUIをつけたもの。
-satori.dllと同じフォルダに入れて使うと辞書をロードしてく...
-もちろんsatori_conf.txtも読み込むのでSAORIも使える。
-窓中の里々スクリプトを解釈してSakuraScriptを生成し、起動...
-れしばでも内部の動作が見られる。
-前回の状態を保存しておいて、次の起動時にはその内容を復帰...
--記録ファイルはsatorite.dat。
-----------------------------
**れしば.exe [#m0bf29a9]
-satori.dllやsatorite.exeから送られてくる里々スクリプトの...
-「リアルタイムで表示する」とれしばの表示が追いつかなくて...
-Ctrl+Sでログ内容をれしば.exeと同じフォルダにれしば.txtと...
--リアルタイムで表示せず、F5とCtrl+Sを使いまわすと複雑な...
---表示が速すぎてログを見る前に流れてしまうときに便利。
-----------------------------
**satori_pack.exe [#z3fee4bc]
-dic***.txtのあるフォルダにsatori_pack.exeを置いて実行。
-里々辞書を暗号化したdic*.satを生成できます。
-----------------------------
**satori_license.txt [#q73bec7d]
-里々の著作権について書いてある。
-修正BSDライセンスとか。
-里々を配布する上で必須のファイル。
-別に里々が読み込むわけではない。人間が読むためのもの。
-里々を使ってゴーストを配布する際には忘れずにいれておくこ...
----------------------------------------------------------
*里々が読み込むファイル [#i6417680]
-----------------------------
**ファイル読み込み順序 [#f3bb4d88]
+replace.txt
+replace_after.txt
+characters.ini
+satori_conf.txt
+satori_savedata.txt
+satori_savedata.sat
+dic***.txt
+dic***.sat
-----------------------------
**replace.txt [#ufe944e2]
-里々が辞書やセーブデータを 読 み 込 む と き に辞...
-実際にはない里々スクリプトを書いたとしても、ここで整形で...
-このファイルがなくても里々は動きます。というか、里々は何...
--replace.txt, replace_after.txtのタブ区切り解釈 †
--区切り符であるタブ記号が連続していた場合、2つめ以降を...
--また、連続しない複数のタブ記号が含まれる行は存在を無視...
---「121 - SatoriSpecWiki」より転載。
-文法
[置換前の単語]【タブ】[置換後の単語]【改行】
-例
【タブ】
(hoge, (call,hoge,
-実用例
--辞書に書いた内容を置き換えます。例えばカッコを含んだも...
(赤)【タブ】(fill_desktop,255,0,0)
--callを省略してユーザ定義関数っぽくする例。
(ほげ, (call,ほげ,
(ほげ、 (call、ほげ、
---「里々Wiki - replace.txtとreplace_after.txt」より転載
--こんなの→http://emily.shillest.net/specwiki/?plugin=att...
-----------------------------
**replace_after.txt [#u201ef3f]
-簡易トランスレータ。
-里々がMAKOTOトランスレータを積んでるような。
-里々が里々スクリプトを実行後、生 成 さ れ た Sakura...
-このファイルがなくても里々は動きます。
--replace.txt, replace_after.txtのタブ区切り解釈 †
--区切り符であるタブ記号が連続していた場合、2つめ以降を...
--また、連続しない複数のタブ記号が含まれる行は存在を無視...
---「121 - SatoriSpecWiki」より転載。
-replace.txtと同じ文法。
[置換前の単語]【タブ】[置換後の単語]【改行】
-例
。 。\w8
、 、\w5
-実用例
--本体にさくらスクリプトを返す直前、つまり「しゃべる直前...
--例えば、
:(ゴースト名)さん、またねー
--みたいなのが
ととたんさん、またねー
--になってしまうのを防ぐために、
たんさん たん
--と書くと。
--replace.txtだと、まだカッコが展開されてないので「たんさ...
--このへんが影響しない場合は、どっちでも同じです。
---「里々Wiki - replace.txtとreplace_after.txt」より転載
-----------------------------
**characters.ini [#l0eb6bc6]
-説明
--キャラクター設定ファイル。
--[名前の頭文字]:でスコープ指定可能になる。
--現在、名前の情報はfamily-nameしか使用されていない模様。
--このファイルがなくても里々は動きます。
-文法
[半角スコープ番号]
popular-name=[一般名、名前]
initial-letter=[名前の頭文字]
full-name=[フルネーム]
family-name=[性]
first-name=[名]
base-surface=]デフォルトサーフェス番号]
-例
[0]
popular-name=名雪
initial-letter=名
full-name=水瀬名雪
family-name=水瀬
first-name=名雪
base-surface=0
[1]
popular-name=あゆ
initial-letter=あ
full-name=月宮あゆ
family-name=月宮
first-name=あゆ
nickname=あゆあゆ
base-surface=500
[2]
popular-name=栞
initial-letter=栞
full-name=美坂栞
family-name=美坂
first-name=栞
base-surface=1000
[3]
popular-name=真琴
initial-letter=真
full-name=沢渡真琴
family-name=沢渡
first-name=真琴
nickname=まこぴー
base-surface=1500
[4]
popular-name=舞
initial-letter=舞
full-name=川澄舞
family-name=川澄
first-name=舞
base-surface=2000
--このとき、辞書内では
|名:|\p[0]|
|あ:|\p[1]|
|栞:|\p[2]|
|真:|\p[3]|
|舞:|\p[4]|
--のように置換される
-関連リンク
- http://yagi.xrea.jp/SatoriSpecWiki/pukiwiki.php?cmd=rea...
//#comment
影響範囲は
-一般名(未使用)
-基本サーフェス(サーフェス加算値)
-頭文字(う: さ: とかに使える)
**satori_conf.txt [#hbac9a45]
-説明
--里々の設定ファイル。
--里々が辞書及びセーブデータをロードをする前に読み込まれ...
--変数の初期化とSAORI呼び出しについて定義する。
--このファイルがなくても里々は動きます。
-*初期化
--説明
---変数等の初期化。
---上書きしないので、途中追加した変数にも初期値を設定でき...
---里々がセーブデータや辞書を読み込む前に初期化変数を定義...
---SAORI定義よりも先に読まれるのでSAORIは使用できない。
---謎の理由で里々の内部関数も使用できない。
---トークを書いても無視される。
---%%$辞書フォルダ%%
*初期化
$辞書フォルダ【タブ】mjk
$辞書フォルダ【タブ】kwsk
%%としたとき、%%
*初期化
$辞書フォルダ【タブ】.,mjk,kwsk
%%と同義。satori.dllのルートフォルダは強制的に読み込まれ...
-↑確認できませんでした。間違いのようです。
--推定される原因は下記の通り。
-ここに辞書フォルダを定義するとロードするたびに必ずその指...
--ここでの辞書フォルダ定義はセーブデータには反映されませ...
---例えば
*初期化
$辞書フォルダ【タブ】mjk
*セーブデータ
$辞書フォルダ【タブ】.
であったとき、実質的に
$辞書フォルダ【タブ】mjk,.
となります。
しかし、里々アンロード時や手動セーブ時に出力されるsatori_...
*セーブデータ
$辞書フォルダ【タブ】.
としか記載されません。
---つまり、satori_conf.txtに書かれた辞書フォルダの内容は...
--文法
---通常トークと同じ。
-@SAORI
--説明
---各栞共通プラグイン規格『SAORI』用の定義。
---使うdllは予めここで列挙してください。
---カンマ区切りで、左から順に
---・辞書からの呼び出すときの名前。dll名そのままでも構い...
---・プラグインdllの相対パス。スラッシュ「/」、バックスラ...
---・自動設定される引数。これは省略可。
--文法
[SAORI呼び出しに使う名前]【半角カンマ】[satori.dllからSA...
-例
*初期化
$喋り間隔 180秒
$喋り間隔誤差 10%
$会話時サーフェス戻し 有効
$デフォルトサーフェス0 0
$デフォルトサーフェス1 10
$スコープ切り換え時 \n[half]
$ユーザ名 ユーザ
$自動挿入ウェイトの倍率 100%
@SAORI
fill_desktop,saori/fill_desktop.dll
fill_red,saori/fill_desktop.dll,255,0,0
mciaudio,saori/mciaudio.dll
-関連リンク
//#comment
**satori_savedata.sat [#y8a577a6]
-説明
--暗号化された里々のセーブデータ。
--変数「セーブデータ暗号化」に「有効」を代入すると生成で...
--セーブデータの内容自体についてはsatori_savedata.txtの項...
-例
$セーブデータ暗号化 有効
-関連リンク
- http://www.geocities.jp/poskoma/#content_1_8 --[[電気で...
- tBOGpGcweQRVVvabH -- [[sokpdlnkbc]] &new{2008-12-21 (日...
#comment
**satori_savedata.txt [#b0dbe7db]
-説明
--里々のセーブデータ。
--(単語の追加)で追加した単語もここに保持される
-*セーブデータ
--説明
---変数がソートされて列挙される。
---特殊変数「ゴースト起動時間累計ミリ秒」は強制的に書き込...
---特殊変数「起動回数」は強制的に書き込まれる。
---変数「辞書フォルダ」の値も保存される。
-@○○
--説明
---(単語の追加)で追加した値が保存される。
---(追加単語の削除)で消せる。
-例
*セーブデータ
$ゴースト起動時間累計ミリ秒 15650236
$サーフェス加算値0 0
$サーフェス加算値1 0
$スコープ切り換え時 \n[half]
$デフォルトサーフェス0 0
$デフォルトサーフェス1 10
$ユーザ名 ユーザ
$会話時サーフェス戻し 有効
$起動回数 19
$自動挿入ウェイトの倍率 100
$辞書フォルダ .
$選択ID 気分はどう?
$選択ラベル 気分はどう?
$選択番号 3
$喋り間隔 180秒
$喋り間隔誤差 10%
@hoge
hoge
HOGE
hoge
HOGE
ほげ
ホゲ
ホゲ
@ぬるぽ
ガッ!
**satori_savebackup.sat [#t31af331]
-セーブデータのバックアップの暗号化バージョン。
-satori_savebackup.txtの項を参照。
**satori_savebackup.txt [#lddbe533]
-セーブデータのバックアップ。
-里々のセーブデータが消える?というバグ対策の名残。
-実際にはSSPのバグだったらしい。
-このファイルは里々にはロードされません。
-(多分)書き出し専用です。
**dicAnchor.txt [#ob4510dc]
-特殊辞書。
-他の辞書ファイルのトーク中にこのファイルに書いたトークの...
-\_a[]
-例
--dicAnchor.txt
*親父の秘密
:実はでべそ。
--dic○○.txt
*
:僕の親父の秘密知りたい?
:いいや。
---→\1\0僕の\_a[親父の秘密]知りたい?\n\1いいや。\w8\e
**dic○○.sat [#i05019ea]
-説明
--暗号化辞書ファイル
--詳しくはdic○○.txtの項を参照。
**dic○○.txt [#x3d1a029]
-7文字以上。最低「dic.sat」「dic.txt」
+dicAnchor.txt
---自動アンカー用の特殊な処理がされる
-[[伍長玩具店:http://gotyouhonten.hp.infoseek.co.jp/]]さ...
■2009/11/05■
里々のアンカー処理の話。既出、間違い、勘違いでしたらスミ...
dicAnchor.txtに半角英数字が先頭に来るワードを登録した場...
トーク内の書き出しまたは改行の先頭に登録ワードが来た場合、
もしくはその行の登録ワードの直前が半角英数字の文字列のみ...
アンカー処理がスルーされます。
先頭が半角英字の ABCの歌 という語句をdicAnchor.txtに登...
アンカー処理がスルーされる具体例として、
*
:ABCの歌アンカーテストです。
:アンカーされてへんな。
:あれれ。
*
:え~っともう一回、
ABCの歌アンカーテストです。
:やっぱアンカーされてへんな。
:あれれ~。
*
:三度目の正直!
194ABCの歌アンカーテスト!
KONDOKOSOABCの歌アンカーテスト!
\w6ABCの歌アンカーテスト~!
:今回もアンカーされてへん。
:そんな~
3つ目の例はかなり無理やりですが・・・。で、これを回避する...
dicAnchor.txtに ABCの歌 のように先頭文字(A)だけ全角...
ABCの歌【タブ】\_a[ABCの歌]ABCの歌\_a
とreplace.txt(replace_after.txtでも可)に登録する方法や、
「ABCの歌」【タブ】\_a[ABCの歌]ABCの歌\_a
とreplace.txt(replace_after.txtでも可)に登録し、
アンカーさせたい語句はトーク辞書内で「ABCの歌」のように...
こんな面倒なことしなくても、全角登録・全角表示でいいじゃ...
---------------------------------------------------------...
*文法 [#y1acc505]
-----------------------------
*前書き [#vef582af]
トーク宣言、または単語群宣言が存在する行までは前書き空間...
ここには何を書いても構いません。すべてエスケープされます。
-----------------------------
*トーク要素 [#f0e60e18]
*[トーク名]【タブ】[採用条件式] ←[トーク宣言]
[トーク本文] ←[トーク空間]
-トークはトーク宣言とトーク空間からなります。
-トークとは、“ゴーストの会話及びその挙動”を簡単に記すため...
--“ゴーストの会話及びその挙動”とは、SakuraScriptのことで...
例
*[トーク名]【タブ】[採用条件式]
:¥hのスコープ。
:¥uのスコープ。
これは
\1\s[10]\1 \n[half]\_w[9]\0¥hのスコープ。\_w[48]\n \n[...
こんな風になる。ウエイトやら半行改行やらは設定で変更でき...
→特殊変数
¥uから喋る
*[トークラベル]【タブ】[採用条件式]
¥uのスコープ。
:¥hのスコープ。
:¥uのスコープ。
characters.iniを設定していると
*[トークラベル]【タブ】[採用条件式]
:¥hのスコープ。
:¥uのスコープ。
名:¥p[0]のスコープ。
あ:¥p[1]のスコープ。
栞:¥p[2]のスコープ。
真:¥p[3]のスコープ。
舞:¥p[4]のスコープ。
とかできる。
-----------------------------
**トーク宣言 [#q702e3ae]
*[トーク名]
*[トーク名]【タブ】[採用条件式]
-トーク宣言を行うには、行頭に「*」と入力します
-----------------------------
***トーク名 [#nd2abf03]
-「*」以降はトーク名になります。
-トーク名には文字列を使います。
-同じトーク名の複数のトーク要素があった場合、ランダムに1...
-トーク名末尾に「「」をつけると、コミュニケートサーチに引...
■里々のあいまい検索について
・以下の記載において△は全角空白を表します。
・以下の記載において""はキーワードを示す表現であり、実際の
処理中または辞書中には記載しません。
【サマリ】
・あいまい検索は、コミュニケート及び"≫"記法において用い...
・あいまい検索では、△で区切った単語の得点を評価して行わ...
・あいまい検索は、ゴースト名部分が異なる候補を選ばなくな...
(Mc136-901にて実装、MC139-3にて再修正)
【前提】
・コミュニケートとユーザ入力は同じ処理です。
ユーザ入力の場合、ゴースト名を"ユーザ"と読み替えてくだ...
・対象文とは以下のものを言います
(1)コミュニケートで他のゴーストのしゃべった言葉
対象文=ゴースト名「コミュニケート文字列」
(2)辞書内で"≫"記法で記載された文
対象文="≫"以降の文字列そのまま
・候補文とは以下のものを言います
辞書内の"*○○「△ほげほげ△へもへも ・・・"形式の記載
・特定候補文は、"○○"のあるものを、汎用候補文は、"○○"の無...
(例)
*ユーザ「△ほげほげ =特定候補文
*「△へもへも =汎用候補文
・対象文に"「"が含まれるかどうかによって動作が異なります...
対象文に"「"が含まれる場合を名前限定モード、
対象文に"「"が含まれない場合を通常コミュ探索モードと呼...
MC139-3より前の場合、常に通常コミュ探索モードです。
【候補の絞込み処理】
(1)名前限定モードの場合
・ヒットする候補は、特定候補文のうち○○の部分が一致するも...
汎用候補文に絞られます。
・ヒットテストの処理は、"「"以降の文字列についてのみ行わ...
(具体的には、対象文から"「"までの文字列が除かれ、
候補文から最初の単語("○○「"もしくは"「")が除かれま...
(2)通常コミュ探索モードの場合
・ヒットテストする候補は、候補文すべてです。
・ヒットテストする対象は、対象文そのままです。
・つまり、ヒットテストの処理は、"○○「"もしくは"「" 部分も
1つの単語とみなして行われます。
【ヒットテスト】
・絞込み後の候補文すべてを、△で分解し、単語にします。
・単語のそれぞれの部分が、対象文に含まれているかどうかの...
・対象文に単語が含まれていればヒットです。
・ヒットした単語は10点+単語の長さ1文字につき1点の得...
・但し、最後が「で終わっている単語は4点固定です。
・ヒットしなかった単語は、コミュニケートの場合0点、≫記...
・それぞれの単語の点数を合計したものが、その候補文の得点...
【結果確定】
・最高点を得た候補文が最終的な結果となります。
・ただし、4点以下のものしかなかった場合は結果なしとなり...
---[[浮子屋さん:http://d.hatena.ne.jp/ukiya/20080119/1200...
-----------------------------
***採用条件式 [#uce43e47]
-式が1を返した場合、採用されます。
-同じトーク名の複数のトーク要素が採用された場合、ランダム...
-トーク名が同じで、採用条件式が書いてあるトーク要素と、採...
--phase124までは 条件式なしトーク要素のグループだけで評価
*起動 ←評価対象が無いので真、ラ...
*起動 ←評価対象が無いので真、ラ...
*起動【タブ】(現在時)==11 ←式に関係なく評価されない...
*起動【タブ】(現在時)==12 ←式に関係なく評価されない...
--phase Mc-*からは 先に条件式のあるトーク要素を評価して...
*起動 ←条件式つきトーク要素が採...
*起動 ←条件式つきトーク要素が採...
*起動【タブ】(現在時)==11 ←式が真なら採用
*起動【タブ】(現在時)==12 ←式が真なら採用
---として扱われます。
-----------------------------
**トーク空間 [#kd6a05df]
-トーク空間にはゴーストに関する挙動を書いていきます。
-最後の文字列のある行までがトーク空間になります。
トーク空間では、変数代入、ジャンプ、選択肢、コミュニケー...
-----------------------------
***変数代入 [#e7a30e6d]
$[変数名]【タブ】[値]
$[変数名]=[値]
-「=」で代入すると、値が式と見なされ、計算可能ならば、計...
$計算結果=1+1
:1+1は、(計算結果)!
:小学生か。
-変数に【タブ】で代入した場合はそのまま値が代入されます。
-変数名には変数も指定できます。
$(今晩のおかず)【タブ】おいしかった。
変数。=で計算式代入の場合、値を計算。タブの場合文字列と...
数字のみの変数名無効。代入するものが無かった場合変数の削除
-----------------------------
***ジャンプ [#y921ccf6]
>[トーク名]
>[トーク名]【タブ】[採用条件式]
-トーク本文を他のトーク要素のトーク本文に繋げて分岐するこ...
-単語群要素へはジャンプできません。ジャンプできるのはトー...
-トーク名には変数を指定できます。
完全一致ジャンプ
>変数ジャンプ_(利用変数)
とした場合、(利用変数)が存在していなければ「変数ジャン...
ssu.dllとの兼ね合いも考えれば、出来るだけ初期化した方がい...
***コミュニケートサーチ [#q90d54ee]
≫
and検索ジャンプ。
-----------------------------
***選択肢 [#m88a8a06]
_[トーク名]
_[選択肢ラベル]【タブ】[トーク名]
_選択肢ラベル【タブ】ジャンプ先
(全角アンダーバー)
選択肢。SakuraScript置き換え。
-----------------------------
***話しかけ [#ue1a78db]
→
-----------------------------
***トーク本文 [#z3445b6c]
-トーク空間のスコープはうにゅう側から始まります。
--さくら側から会話を始めるときにはスコープ切り替えを使い...
:こんにちは。さくらです。
:どうも、うにゅうです。
↓
\1\s[10]\0こんにちは。\w9さくらです。\w9\n\n[half]\w9\w9...
--スコープ切り換えをすると、初期設定で半分改行するのSakur...
---特殊変数「スコープの切り替え時」で設定できます。
-トーク空間でトーク本文を改行すると、改行するSakuraScript...
--自働改行を無効にしたい場合は行末にエスケープ文字「φ」を...
こんφ
にちは
↓
\1\s[10]こんにちは\e
-「。」「、」「!」「?」などには自動的にSakuraScriptのウ...
--特殊変数「自働挿入ウェイトの倍率」や「自働挿入ウェイト...
-トーク本文の末尾には\eが自働挿入されます。
*単語群 [#b7e52002]
単語群解釈 †
各行が要素。それぞれに定義行が適用される。
末尾空行を認識しないのはまぁいいか。明示的に「文字列」...
-単語群定義 := 単語群宣言 単語内容+
-単語群宣言 := '@' 単語群名 '\n'
-単語群名 := 文字列
-単語内容 := 項 '\n'
-項 := (文字列|かっこ)+
-----------------------------
**単語群宣言 [#rd9cc586]
-----------------------------
***単語群名 [#wcb40723]
-----------------------------
***採用条件 [#fffb8d90]
-----------------------------
**単語空間 [#l806acb3]
-----------------------------
*括弧 [#x7fde822]
-かっこ := '(' 項 (区切り子 項)* ')'
-区切り子 := がんばれ。
情報取得系 条件として取得されるケース 情報設定...
文字列の再解釈(eval)
文字列 := ('(' | ')' | ':')以外*
*エスケープ [#pc85b670]
*コメントアウト [#q1eceabc]
*演算子 [#z254a320]
**演算 [#p94845b6]
**論理演算 [#wffc1811]
**文字列操作 [#p9afb84a]
==、!=で両辺の文字列が同じかどうか比較。
-で左辺から右辺文字列消去。
*で、例えば■*5なら■■■■■。
<、>、>=、<=は文字列の長さを比較。
*変数 [#lc166719]
-計算式(calc、calc_float、SAORI引数、ジャンプ時条件)
http://yagi.xrea.jp/SatoriSpecWiki/pukiwiki.php?%CA%B8%CB...
***: [#h2ff27fa]
スコープ切り替え。
-関連リンク
#comment
***コミュニケートについて [#q9894b10]
-http://d.hatena.ne.jp/ukiya/20080119/1200772181#seemore
-より転載。
■里々のあいまい検索について
・以下の記載において△は全角空白を表します。
・以下の記載において""はキーワードを示す表現であり、実際の
処理中または辞書中には記載しません。
【サマリ】
・あいまい検索は、コミュニケート及び"≫"記法において用い...
・あいまい検索では、△で区切った単語の得点を評価して行わ...
・あいまい検索は、ゴースト名部分が異なる候補を選ばなくな...
(Mc136-901にて実装、MC139-3にて再修正)
【前提】
・コミュニケートとユーザ入力は同じ処理です。
ユーザ入力の場合、ゴースト名を"ユーザ"と読み替えてくだ...
・対象文とは以下のものを言います
(1)コミュニケートで他のゴーストのしゃべった言葉
対象文=ゴースト名「コミュニケート文字列」
(2)辞書内で"≫"記法で記載された文
対象文="≫"以降の文字列そのまま
・候補文とは以下のものを言います
辞書内の"*○○「△ほげほげ△へもへも ・・・"形式の記載
・特定候補文は、"○○"のあるものを、汎用候補文は、"○○"の無...
(例)
*ユーザ「△ほげほげ =特定候補文
*「△へもへも =汎用候補文
・対象文に"「"が含まれるかどうかによって動作が異なります...
対象文に"「"が含まれる場合を名前限定モード、
対象文に"「"が含まれない場合を通常コミュ探索モードと呼...
MC139-3より前の場合、常に通常コミュ探索モードです。
【候補の絞込み処理】
(1)名前限定モードの場合
・ヒットする候補は、特定候補文のうち○○の部分が一致するも...
汎用候補文に絞られます。
・ヒットテストの処理は、"「"以降の文字列についてのみ行わ...
(具体的には、対象文から"「"までの文字列が除かれ、
候補文から最初の単語("○○「"もしくは"「")が除かれま...
(2)通常コミュ探索モードの場合
・ヒットテストする候補は、候補文すべてです。
・ヒットテストする対象は、対象文そのままです。
・つまり、ヒットテストの処理は、"○○「"もしくは"「" 部分も
1つの単語とみなして行われます。
【ヒットテスト】
・絞込み後の候補文すべてを、△で分解し、単語にします。
・単語のそれぞれの部分が、対象文に含まれているかどうかの...
・対象文に単語が含まれていればヒットです。
・ヒットした単語は10点+単語の長さ1文字につき1点の得...
・但し、最後が「で終わっている単語は4点固定です。
・ヒットしなかった単語は、コミュニケートの場合0点、≫記...
・それぞれの単語の点数を合計したものが、その候補文の得点...
【結果確定】
・最高点を得た候補文が最終的な結果となります。
・ただし、4点以下のものしかなかった場合は結果なしとなり...
----------------------------------------
**単語群 [#i83fe8d8]
----------------------------------------
**演算子 [#x64eab06]
----------------------------------------
----------------------------------------
**括弧 [#ree0f593]
*括弧 [#x7fde822]
-かっこ := '(' 項 (区切り子 項)* ')'
-区切り子 := がんばれ。
情報取得系 条件として取得されるケース 情報設定...
文字列の再解釈(eval)
文字列 := ('(' | ')' | ':')以外*
- http://satoriya-shiori.googlecode.com/svn/trunk/satoriy...
----------------------------------------
***○○ [#ia1fcc5d]
単語を選択した
***○○ [#r1d3d70a]
*に定義があれば文を取得
***○○ [#j05bd2bc]
変数名であれば変数の内容を返す
***○ [#y34e8939]
サーフェス切り替え
「:」(数字)引くことの現在のスコープのデフォルトサーフ...
*
:(6)→\s[6]
:(0)\s[10]
:(10)\s[10]
:(11)\s[21]
*** [#q004a5be]
見つからなかった。通常喋り?
----------------------------------------
**変数 [#z9e0b94f]
----------------------------------------
-計算式(calc、calc_float、SAORI引数、ジャンプ時条件)
---------------------------------------------------------...
*イベント [#j0d7eb58]
- http://satoriya-shiori.googlecode.com/svn/trunk/satoriy...
-関連リンク
#comment
----------------------------------------
**特殊イベント [#e93605ac]
***OnBoot [#rb32b667]
-「OnFirstBoot」が無かった場合。
-「初回」が無かった場合。
-「OnGhostChanged」が無かった場合。
-「他のゴーストから変更」が無かった場合。
このラベルのトークが無かった場合、「起動」へ飛ぶ。
***OnClose [#e87d65de]
-「OnGhostChanging」が無かった場合。
-「他のゴーストへ変更」が無かった場合。
-「OnGhostCalled」が無かった場合?
このラベルのトークが無かった場合、「終了」へ飛ぶ。
***OnGhostChanged [#sc0872e2]
このラベルのトークが無かった場合、「他のゴーストから変更...
***OnGhostChanging [#ie169ea1]
このラベルのトークが無かった場合、「他のゴーストへ変更」...
***OnMouseDoubleClick [#gec2565b]
このラベルのトークが無かった場合、自動的に下記のように補...
*OnMouseDoubleClick
>(R3)(R4)つつかれ
()
***OnMouseWheel [#uf268993]
ころころ
***OnAnchorSelect [#y737d257]
***OnChoiceSelect [#u34cf3db]
$選択ラベル【タブ】(R0)
$選択名【タブ】(R1)
・・・わすれた!(ぇ
***OnCommunicate [#v0cd1f97]
このトークが無かった場合、里々が独自にコミュニケート探索...
詳しくはコミュニケートを参照。
***OnSecondChange [#b59a1d8d]
-存在するタイマのディクリメント
--→タイマがカウントされる。
-自動セーブ
--→自動セーブのタイミングならセーブされる。
-タイマ
--→タイマが発動したかどうか確認する
-タイマ予約発話
--→
-自動発話
--→しかるべきタイミングならランダムトークをする
-喋らない
--→とくにすることがなければしゃべらない。
-scriptへの付与処理
-喋りカウント初期化
--初回のみ。続行時にはここでクリアはしない。
-1トーク中でのみ有効な重複回避をクリア
-バルーン位置が有効なら設定
***OnSurfaceChange [#ff36dacb]
***OnUpdateReady [#j3481c7b]
***OnWindowStateRestore [#r9f89108]
***OnShellChanged [#z89fe4b6]
***OnSurfaceRestore [#w5566ad6]
***OnRecommendsiteChoice [#d712019e]
----------------------------------------
**独自イベント [#s53014b2]
-関連リンク
#comment
----------------------------------------
***OnSatoriLoad [#w9da567a]
-satori.dllのロードが終了したとき。
-OnSatoriLoadは変数の初期化とか設定とか里々の内部の準備用...
--例:単語群の処理とか
-トーク無視。
***OnSatoriUnload [#gf0ce593]
-satori.dllのアンロードの直前。
-トーク無視。
***OnSatoriBoot [#je399ddd]
-「OnSatoriLoad」の後、ベースウェアからイベントが送信され...
-OnSatoriBootは起動イベント全般に分岐をかけたい時に使うと...
--例:特定の日付の起動トークとか
--OnSatoriBootでトークを書くと、どういうわけかOnBoot、OnG...
-おそらく里々がOnSatoriBootのイベントを処理したときにトー...
***OnSatoriClose [#t985bafa]
-OnCloseの後。
***OnTalk [#da8cd069]
(R0):0なら「今話すべきトークはない=ランダムトークで...
(R1):(R0)が1の場合、そのトーク名。
***COMMUNICATE該当なし [#f5d9c2b7]
「OnCommunicate」が無く、里々が独自のコミュ探索を行った後...
***OnDirectSaoriCall [#s99d784d]
-(sync)でSAORIを呼び出したとき。
***初回 [#y0d9846a]
-「OnFirstBoot」が無かった場合。
***起動 [#y67a801f]
-「OnBoot」「OnGhostChanged」「他のゴーストから変更」がな...
***終了 [#u60248a4]
-「OnClose」「OnGhostChanging」「他のゴーストへ変更」が無...
***他のゴーストから変更 [#n12832d3]
-「OnGhostChanged」が無かった場合。
***他のゴーストへ変更 [#n5396671]
-「OnGhostChanging」が無かった場合。
***消滅指示 [#a5afbf74]
-「OnVanishSelecting」が無かった場合。
***消滅撤回 [#b0c9f97c]
-「OnVanishCancel」が無かった場合。
***消滅決定 [#pa1b2dae]
-「OnVanishSelected」が無かった場合。
***消滅中断 [#ab4a20f8]
-「OnVanishButtonHold」が無かった場合。
**特殊単語群 [#jb45c207]
***@\ms [#sdcc0075]
%msを定義
***@\ml [#a0bb98a5]
%mlを定義
***@\mc [#g91a556f]
%mcを定義
***@\mh [#h6e3a3d8]
%mhを定義
***@\mt [#dad26393]
%mtを定義
***@\me [#ee62acba]
%meを定義
***@\mp [#x7af03af]
%mpを定義
***@\m? [#pd4832f7]
%m?を定義
***@\dms [#u7679af2]
%dmsを定義
**オーナードローメニュー定義 [#uee44dc5]
-(&○)でメニューのその項目へのショートカットキーを指定でき...
-http://www.mac.gn.to/satori/index.php?%5B%5B%A5%E1%A5%CB...
-http://disc2.s56.xrea.com/manual/list_shiori_resource.htm
-このへん参照。
***sakura.recommendsites [#tbd1e814]
()展開有効です。
---------------------------------------------------------...
*SAORI [#k6f3a2aa]
-関連リンク
#comment
----------------------------------------
**(S[数字]) [#fca84b33]
SAORIなどコール時の結果処理
-関連リンク
#comment
**(Sの数) [#bda8b9b1]
-関連リンク
#comment
----------------------------------------
**ssu.dll [#p639295d]
***(calc,[計算式]) [#r16fe0e0]
-calcは小数点以下を無視(切り捨て)して計算する。
-ifやswitchなどの引数は、暗黙のうちにこれを実行している。
-「$SAORI引数の計算【タブ】自動」だと、calcが実行される...
$SAORI引数の計算【タブ】自動
(calc,1+1)
++(calc,1+1)
++(calc,(calc,1+1))
---(calc,1+1)→2
++(calc,2)
---(calc,2)→2
***(calc_float,[計算式]) [#j425c1ad]
-calc_floatは小数点以下も計算する。
-「$SAORI引数の計算【タブ】自動」だと、calcが実行される...
$SAORI引数の計算【タブ】自動
(calc_float,5÷2)
++(calc_float,5÷2)
++(calc_float,(calc,5÷2))
---(calc,5÷2)→2
++(calc_float,2)
---(calc_float,2)→2
-「$SAORI引数の計算【タブ】無効」にしてから使おう
$SAORI引数の計算【タブ】無効
(calc_float,5÷2)
++(calc_float,5÷2)
---(calc_float,5÷2)→2.5
***(if,[条件式],[真の場合に返す文字列],[偽の場合に返す文...
-条件式を評価し、真(0以外)ならば真の結果を返す。
-そうでないならば、偽の結果を返す(偽の結果が書かれている...
-※重要なこと
--普通のプログラミング言語と違って、括弧の中身が先に評価...
(if,(乱数0?1),(set,値,0),(set,値,1))
(値)
++(if,(乱数0?1),(set,値,0),(set,値,1))
---(乱数0?1)→0
++(if,0,(set,値,0),(set,値,1))
---(set,値,0)→
++(if,0,,(set,値,1))
---(set,値,1)→
++(if,0,,)
---(if,0,,)→
++(値)
---(値)→1
---このとき、必ず「(値)→1」になる。
--解決策
((if、(乱数0?1)、set,値,0、set,値,1))
(値)
++(if、(乱数0?1)、set,値,0、set,値,1)
---(乱数0?1)→0
++(if、0、set,値,0、set,値,1)
---(if、0、set,値,0、set,値,1)→set,値,1
++(set,値,1)
---(set,値,1)→
++(値)
---(値)→1
***(unless,[条件式],[偽の場合に返す文字列],[真の場合に返...
***(iflist,[条件式の左辺],[条件式の右辺1],[真の場合に返...
ifと違う点は、条件式が左右に分かれたことと、複数の条件を...
まず、左辺と右辺1を組み合わせた条件式を評価し、真ならば...
そうでなければ次の右辺2と組み合わせ、真ならば結果2を返...
そうでなければ…(以下略)。
いずれの右辺を評価しても真にならばければ、空を返す。
***switch [#y01d9ee0]
***nswitch [#a22faded]
***substr [#w6c3dd6f]
***split [#r9e23d9b]
***replace [#m1f61042]
***replace_first [#ice68943]
***erase [#t9d15f83]
***erase_first [#m904d2f1]
***count [#fa768720]
***compare [#rb5a788b]
***compare_head [#t1b3083b]
***compare_tail [#ya811ad4]
***length [#fd275b24]
***sprintf [#j5b9b129]
***is_empty [#de53a0e7]
***is_digit [#le7c93e2]
***is_alpha [#c70d9205]
***han2zen [#n4ec5792]
***zen2han [#xa4b4c04]
-ssu.dll han2zen / zen2hanで変換タイプ指定可能に
--例:(zen2han、ABC123アイウガギグ?、数字 アルフ...
--2番目に空白等適当な文字で区切って指定します。
--省略時は全指定。 数字・アルファベット・カナ・記号 が指...
***kata2hira [#oacd1f24]
***hira2kata [#z124327f]
***join [#k29ba759]
***choice [#y041910a]
***reverse [#a868da25]
***at [#s631fd37]
***lsimg [#r3d9d54d]
***mkdir [#e450dddb]
---------------------------------------------------------...
*内部関数 [#b75c29e5]
-関連リンク
- http://www.mac.gn.to/satori/index.php?%5B%5B%C6%E2%C9%F...
#comment
----------------------------------------
**(set,[変数名],[値]) [#xcaac8bd]
変数へ代入
(set,ほげ,ふが)
は
$ほげ【タブ】ふが
に等しい。
**(nop,[,...]) [#q79fd322]
何も返さない。
(nop,ほげ)→
**(sync,呼び出す関数,引数1,引数2...引数n) [#k4fe93b6]
(sync,fill_desktop,255,255,255)
は
\![raise,OnDirectSaoriCall,fill_desktop,255,255,255]
になる・・・ハズ。
**(loop,[括弧で呼び出すモノの名前],[回数]) [#i555a2a9]
-例文
*
(loop、犬、3)
@犬
マルチーズ
パピヨン
ゴールデンレトリバー
-実行結果
マルチーズパピヨンゴールデンレトリバー
**(loop,[括弧で呼び出すモノの名前],[開始値],[終了値]) [...
-例文
*
(loop、エヴァンゲリオン、0、3)
@エヴァンゲリオン
エヴァ(エヴァンゲリオンカウンタ)号機
-実行結果
エヴァ0号機エヴァ1号機エヴァ2号機エヴァ3号機
**(loop,[括弧で呼び出すモノの名前],[開始値],[終了値],[増...
-例文
*
(loop、エヴァンゲリオン、0、3、3)
@エヴァンゲリオン
エヴァ(エヴァンゲリオンカウンタ)号機
-実行結果
エヴァ0号機エヴァ3号機
//引数区切りの不統一と、(○○カウンタ)全角→半角に修正しま...
//ここのコメントアウトは確認されましたら消してください。 ...
***[括弧で呼び出すモノの名前]カウンタ [#zdb49965]
-内部関数loop参照。
-関連リンク
- kono -- [[HiLa]] &new{2008-02-09 (土) 05:15:46};
- 里々wikiでも使われてるこのloopのサンプルは色々解りづら...
- 里々Wikiからの転載なのです。書くのめどかったから(ぉぃ ...
- http://emily.shillest.net/specwiki/index.php?%E3%83%AC%...
- 使用例としてこのへんのをさらりと解説した方がいいかな --...
- このへん>むずいですw。*犬のサンプルが無いので犬カウ...
- これでどうでしょう -- [[レゴキチ]] &new{2008-02-10 (日)...
#comment
**(remember,[全半角自然数]) [#v9b9d9fc]
今からn回前のランダムトークのスクリプトを取得する。
**(call,[括弧呼び出しの対象の名前][,[引数0],[引数1],...]...
-あらゆる括弧をを引数付きで呼び出す。
-呼び出された側では(A[0からの数字])で引数を参照できる。
-関数やサブルーチン製作用
-里々Wiki[[http://www.mac.gn.to/satori/index.php?%5B%5Bca...
-使用例:[[レゴキチ/里々自作関数まとめ]]
***(A[全半角数字]) [#h2f6fcd5]
-callによる呼び出しの引数
***(Aの数) [#p2704921]
-callの引数の数を返す。
-最後の引数の番号とは(A(Aの数)-1)の関係。
**(バイト値,[1以上の全半角数字]) [#o309d6b7]
**(単語の追加,[単語群名],[単語名]) [#bf155d34]
**(追加単語の削除,[単語群名],[単語名] [#e74e5d96]
**(追加単語の全削除,[単語群名]) [#ofa76ed2]
**(合成単語群,[単語群名],[単語群名],...) [#kcfeeb19]
-(合成単語群、A、B、C)と書くとA/B/Cそれぞれの単...
--今のところ「重複回避」設定はできません。
**(乱数[全半角数字]?[全半角数字]) [#o66489b9]
-指定範囲内のランダムな値を返す。
---------------------------------------------------------...
*環境変数 [#o9620ed9]
変数取得
変数名であれば変数の内容を返す
-関連リンク
#comment
----------------------------------------
**リクエスト情報 [#z91e0b08]
-関連リンク
#comment
----------------------------------------
***(ID) [#of2e23dd]
-送られてたイベント名。
***(Reference[半角数字]) [#g43fb3bb]
-リファレンス。
-Event通知時の引数取得。
***(R[全半角数字]) [#q75fd617]
-Event通知時の引数取得。
-(Refference[半角数字])の省略
***(Rの数) [#b23042dc]
-リクエストのリファレンス番号の最大値を返す。
***(status code) [#me581992]
-SHIORI 3.0 GET
--かな?
***(Status) [#y98bdade]
-喋り中は「talking」
***Sender [#y0853021]
-ベースウェアの名前
***Charset [#r7a48820]
-リクエストの文字コード
----------------------------------------
**内部情報 [#i9e0d416]
-関連リンク
- (サーフェス[全半角スコープ番号])って動かないんじゃね...
- (サーフェス[半角スコープ番号])かも? -- [[legokichi]]...
#comment
----------------------------------------
***(里々のバージョン) [#ie4cdf6e]
-整備班カスタムから実装
-バグ報告するときにはこれで里々のバージョンを確認しておこ...
***(pwd) [#x084f630]
-satori.dllのあるフォルダまでの絶対パスを返す。
***(本体の所在) [#mf5fce22]
-ベースウェアがインストールされているフォルダを取得。
***(直前の選択肢名) [#j4977409]
-
***(H[全半角数字]) [#e1c18613]
-([全半角H][全半角数字])
-過去に括弧で展開した値を取得。
-1オリジン。
***(サーフェス[全半角スコープ番号]) [#kff5f3a1]
-現在の指定したスコープのキャラクターが表示しているサーフ...
***(前回終了時サーフェス[全半角スコープ番号]) [#g855b783]
-前回終了時の指定したスコープのキャラクターが表示していた...
***(ウィンドウハンドル[全半角スコープ番号]) [#te8555b0]
-指定したスコープのウィンドウハンドルを返す。
----------------------------------------
**外部情報 [#w9b9c758]
-関連リンク
#comment
----------------------------------------
***(FMO[半角数字][半角英数]) [#oaf30465]
-本体が提供してくれる謎の情報。
--ベースウェアごとに提供されるFMOの名前には差があるらしい。
-[半角数字]にはゴーストの番号。
-[半角英数]にはFMOの名前。
-呼び出し時に里々は保持するゴースト情報を更新する。
-SSPのFMOテーブルの例。
ghostpath:○○\ghost\karekano\
hwnd:66702
kerohwnd:66752
keroname:彼女
name:彼
path:○○\
--上から順に(うろ覚え)
本体からnamedのルートフォルダまでの相対パス
\0側のウィンドウハンドル
\1側のウィンドウハンドル
\1側の名前
\0側の名前
本体までの絶対パス
-関連リンク
#comment
***([ゴーストの\0の名前]の存在) [#g96366b9]
-わすれた
-呼び出し時に里々は保持するゴースト情報を更新する。
***([ゴーストの\0の名前]のサーフェス) [#x91e705f]
-わすれた
-呼び出し時に里々は保持するゴースト情報を更新する。
***(隣で起動しているゴースト) [#deec459a]
-(FMO1name)と同義(だったハズ
***(起動しているゴースト数) [#rd953fd2]
-半角数字
----------------------------------------
**存在判定 [#b6a8b4e9]
-関連リンク
#comment
----------------------------------------
***(文「[トーク名]」の存在) [#pcfaa64c]
-指定したトークが存在する場合は「1」
-存在しない場合は「0」
***(文「[トーク名]」の数 ) [#g367e2c4]
-指定したトークの数
***(単語群「[単語群名]」の存在) [#h46c1a4c]
-指定した単語群が存在する場合は「1」
-存在しない場合は「0」
***(単語群「[単語群名]」の数) [#h07be4d6]
-指定した単語群の数
***(変数「[変数名]」の存在) [#fb320405]
-指定した変数が存在する場合は「1」
-存在しない場合は「0」
----------------------------------------
**時間情報 [#m1207a81]
-関連リンク
#comment
----------------------------------------
***(time_t) [#yacfab34]
-万国標準時(UCT)の1970年1月1日の00:00:00からの経過時間を...
-半角数字
***(現在年) [#p4c8af42]
-全角数字
***(現在曜日) [#z0591d61]
-月火水木金土日のうちどれか
***(現在月) [#c6a861bb]
-全角数字
***(現在日) [#nd28a1e5]
-全角数字
***(現在時) [#vb4f9a02]
-全角数字
***(現在分) [#vdb42c61]
-全角数字
***(現在秒) [#ud5cd601]
-全角数字
***(起動時) [#g8806e69]
-本体が起動してからの時間の時間の部分
***(起動分) [#e5b81193]
-本体が起動してからの時間の分の部分
***(起動秒) [#g8fd50a7]
-本体が起動してからの時間の秒の部分
***(単純起動秒) [#vd8b788e]
-本体が起動してからの秒単位の時間
***(単純起動分) [#ref9e288]
-本体が起動してからの分単位の時間
***(OS起動時) [#od936796]
-OS(Windows)が起動してからの時間の時間の部分
-実は「OS起動?」の情報が実際には取得できていないという...
***(OS起動分) [#w5ed5b05]
-OS(Windows)が起動してからの時間の分の部分
***(OS起動秒) [#w9a9daaa]
-OS(Windows)が起動してからの時間の秒の部分
***(単純OS起動秒) [#d4fc4493]
-OSが起動してからの秒単位の時間
***(単純OS起動分) [#g3d289c7]
-OSが起動してからの分単位の時間
***(累計時) [#fca8d172]
-このゴーストを起動した累計時間の時間の部分
***(累計分) [#e36284a0]
-このゴーストを起動した累計時間の分の部分
***(累計秒) [#fbaa6412]
-このゴーストを起動した累計時間の秒の部分
***(単純累計秒) [#paea3d98]
-このゴーストを起動した秒単位の累計時間
***(単純累計分) [#a18b73ba]
-このゴーストを起動した分単位の累計時間
***(最終トークからの経過秒) [#ab8ad93c]
-最後のトークから経過した秒。
***(ゴースト起動時間累計ミリ秒) [#e02e7cfd]
-このゴーストを起動したミリ秒単位の累計時間
-セーブデータに自動的に保存される。
----------------------------------------
**辞書情報 [#ge5325b9]
-関連リンク
#comment
----------------------------------------
***(countTalk) [#f3fde8cd]
-全トーク数(*の数)
***(countEventTalk) [#g820aa6b]
-イベントトーク数
-主にOn?で始まっているもの。
***(countOtherTalk) [#x12627f4]
-その他のトーク数
***(countNoNameTalk) [#uad2422e]
-ランダムトーク数
-トークのラベル(名前)がないもの。
***(countWords) [#k45442ff]
-単語群数(@の数)
***(countWord) [#c8f921f1]
-総単語数
***(countParenthesis) [#yff62f22]
-辞書中の括弧の数
-たぶん「(」の数
***(countVariable) [#dd4f9e29]
-変数の数
***(countAnchor) [#j4c0587f]
-アンカー数
***(countLine) [#n66ac40f]
-辞書中の改行の数
----------------------------------------
**トーク予約情報 [#k0c3ca01]
-関連リンク
#comment
----------------------------------------
***(次のトーク) [#s66bae9e]
-次の予約されているトーク名
-(次から1回目のトーク)と同義。
***(次から[全半角数字]回目のトーク) [#j58177e2]
-指定した回に予約されているトークがあればそのトーク名
-なければ何も返さない
***(トーク「[トーク名]」の予約有無) [#g7d3ca06]
-指定したトークが予約されていれば「1」
-されていない場合は「0」
***(予約トーク数) [#wd471054]
-現在予約されているトーク数
---------------------------------------------------------...
*特殊変数 [#w97a3ee1]
-関連リンク
- http://www.mac.gn.to/satori/index.php?%5B%5B%C6%C3%BC%E...
- http://satoriya-shiori.googlecode.com/svn/trunk/satoriy...
#comment
----------------------------------------
**スクリプト挿入 [#acffba3a]
-関連リンク
#comment
----------------------------------------
***$スコープ切り換え時【タブ】[任意の文字列] [#s96efcf7]
-デフォルトでは
$スコープ切り換え時【タブ】\n[half]
***$さくらスクリプトによるスコープ切り換え時【タブ】[任...
-「$スコープ切り換え時」のさくらスクリプト版。
-\0,\1,\h,\u,\p[n]が対象です。デフォルトで設定なし。
-改行せずにキャラを切り替える用途で\0,\1,\h,\u,\p[n]が使...
-:と全く同じ動作にしたい時は\n[half]と設定してください。
***$スクリプトの一番頭【タブ】[任意の文字列][#we671d62]
-里々Mc131-1以降で使用可。
-里々はスクリプトの先頭に自動でデフォルトサーフェイス等が...
-"$スクリプトの一番頭"に代入する事で次のスクリプトの先頭...
-また一度使用されると変数は初期化されます。
-利用例としては\Cタグはスクリプト先頭に記述する必要がある...
***$トーク開始時【タブ】[任意の文字列] [#c2d1ce33]
-
***$トーク終了時【タブ】[任意の文字列] [#u3c9515b]
-
***$選択肢開始時【タブ】[任意の文字列] [#b2d6968a]
-
***$選択肢終了時【タブ】[任意の文字列] [#dede6641]
-
***$自動挿入ウェイトの倍率 [#h9f2c8e9]
-「。」「、」「!」「?」などに自動的に挿入されるウエイト...
-0で無効
-%指定
-「**%」と数値以外の文字が付いた場合、文字は無視される。
$自動挿入ウェイトの倍率【タブ】5%
***$自動挿入ウェイトタイプ [#f6130e40]
-「無効」で自動挿入全て無効、
-「里々」で従来の処理、
-「一般」でゴーストで一般的に使われるウェイトを自動挿入し...
--「一般」=「、」で\w5ぐらい、「。!?」や改行など文末で...
----------------------------------------
**ランダムトーク設定 [#c7fb306d]
-関連リンク
#comment
----------------------------------------
***$喋り間隔【タブ】[全半角数字] [#v7733c0a]
-秒単位
-「**秒」と数値以外の文字が付いた場合、文字は無視される。
-3未満は喋らない
***喋り間隔誤差【タブ】[全半角数字] [#re47d366]
-%指定
-「**%」と数値以外の文字が付いた場合、文字は無視される。
----------------------------------------
**システム設定 [#x7d20343]
-関連リンク
#comment
----------------------------------------
***$見切れてても喋る【タブ】有効 [#se97251f]
-有効以外の値を入れると無効になる。
***$呼び出し回数制限【タブ】[全半角数字] [#afd12e4b]
-里々Mc128-1以降で使用可。
-数値を代入し、最大呼び出し回数を設定する。
-デフォルトでは200。
-主にcallによる呼び出し回数を制限している。
-callによる再帰ループとか多用する人(俺みたいな人)とか最...
***ジャンプ回数制限 [#e6a71140]
-デフォルト20000回。
***会話時サーフェス戻し [#rb7037c7]
-$会話時サーフェス戻し=強制で、スクリプトの頭で必ずサー...
-有効
-強制
※それ以外無効
***サーフェス加算値○ [#g0c4aef6]
***デフォルトサーフェス○ [#z9ccfc97]
***BalloonOffset○ [#tf1fe316]
***$SAORI引数の計算【タブ】[任意のコマンド] [#b67984c8]
-「有効」
-「無効」
-それ以外の文字を代入した場合「自動」
$SAORI引数の計算【タブ】
$SAORI引数の計算【タブ】
***$引数区切り追加【タブ】[任意の1文字] [#z74b27c3]
-callやSAORI呼び出しに使う引数区切りを追加できる。
$引数区切り追加【タブ】(バイト値、5)
(split(バイト値、5)(html)(バイト値、5)<)
-ちなみに起動直後では
$引数区切り追加【タブ】、#全角句点
$引数区切り追加【タブ】、#半角句点
$引数区切り追加【タブ】,#全角カンマ
$引数区切り追加【タブ】,#半角カンマ
$引数区切り追加【タブ】(バイト値,1)
-が有効。
-この変数はセーブデータに保存されないので、OnSatoriLoadや...
***$引数区切り削除【タブ】[任意の1文字] [#ac0633a4]
-追加した引数を削除する。
***$自動セーブ間隔【タブ】 [#v84b6fdf]
***$セーブデータ暗号化【タブ】有効 [#a1f136fe]
-セーブデータを暗号化する
-「有効」以外の文字を入れると無効。
----------------------------------------
**なでられ設定 [#tbd4303a]
-関連リンク
#comment
----------------------------------------
***トーク中のなでられ反応 [#e66d23ec]
***なでられ持続秒数 [#w3904822]
***なでられ反応回数 [#ycc1cb0f]
----------------------------------------
**れしば [#bf124bb0]
-関連リンク
#comment
----------------------------------------
***$Log【タブ】[有効] [#bcb5ad82]
-れしばにログを送るか否か
-「有効」以外の文字を入れると無効。
***$RequestLog【タブ】[有効] [#wab75947]
-れしばにログのリクエストの部分を送るか否か
-「有効」以外の文字を入れると無効。
***$OperationLog【タブ】[有効 [#v3758abc]
-れしばにログの里々の内部動作の部分を送るか否か
-「有効」以外の文字を入れると無効。
***$ResponseLog【タブ】[有効] [#ba9e8c74]
-れしばにログのベースウェアに返す値の部分を送るか否か
-「有効」以外の文字を入れると無効。
----------------------------------------
**括弧取得の設定 [#y2a5fdc1]
-関連リンク
- http://satoriya-shiori.googlecode.com/svn/trunk/satoriy...
#comment
----------------------------------------
***$単語群「[単語群名]」の重複回避【タブ】[呼び出す方法]...
-↓参照
***$文「[単語群名]」の重複回避【タブ】[呼び出す方法]、[...
-コマンド区切りに使える文字「、」「,」
-呼び出す方法
--「直前」
---直前の単語呼び出しとの重複を回避するランダム。
--「降順」or「正順」
---上から下へ順番に呼び出す。
--「昇順」or「逆順」
---下から上へ順番に呼び出す。
--「有効」or「完全」
--「無効」
---重複回避しない。完全にランダム。
-有効期間
--「トーク中」
---そのトーク内だけ。
--「起動中」
---起動ちゅずっと。
$文「[単語群名]」の重複回避【タブ】[呼び出す方法]、[有...
----------------------------------------
**トーク予約 [#p56c0bda]
-関連リンク
#comment
----------------------------------------
***$次のトーク【タブ】[トーク名] [#e986c868]
-次のランダムトークで喋るトークを予約できる。
$次のトーク【タブ】[トーク名]
(set,次のトーク,[トーク名])
***$次から[全半角数字]回目のトーク【タブ】[トーク名] [#v...
-次の任意の回数のトーク後にで喋るトークを予約できる。
***$トーク予約のキャンセル【タブ】[トーク名] [#occ63d94]
-値に「*」を指定することで予約トークを全てキャンセルでき...
$トーク予約のキャンセル【タブ】*
----------------------------------------
**タイマ [#k32e3a52]
-関連リンク
#comment
----------------------------------------
***$[トーク名]タイマ【タブ】[全半角数字] [#tec273f9]
-代入する値に文字が含まれていた場合、自動的に数字だけを抽...
$[トーク名]タイマ 5秒
(set,[トーク名]タイマ,5秒)
***$全タイマ解除 [#lb7cb484]
$全タイマ解除 実行
----------------------------------------
**実行変数 [#wcfa52c1]
-特定の名前の変数に特定の値を入れると里々が何らかの動作を...
-関連リンク
#comment
----------------------------------------
***$教わること [#vb2e252c]
-teachboxを開くようだ
***$Value[全半角数字]【タブ】[任意の値] [#bbf38e01]
-関連リンク
- http://www.mac.gn.to/satori/index.php?%5B%5B%C6%C3%BC%E...
#comment
***$今回は喋らない【タブ】有効 [#s58401b8]
-$今回は喋らない=有効 で、何をしようが常に204 No Conte...
--一度SHIORI呼び出しが来るごとに「無効」に戻ります。
--必要な時は毎回設定してください。
-トークが無視され、発話しない。
-レスポンスが204 NoConectになる。
-「有効」以外の文字を入れると無効。
$今回は喋らない 有効
(set,今回は喋らない,有効)
***$辞書リロード【タブ】実行 [#ee243e23]
-辞書フォルダをリロードする。
-辞書ロードのタイミングは本体へのレスポンス直後。
-(set)を使うときは引数区切りを半角コンマ以外を使用する...
$辞書リロード 実行
(set,辞書リロード,実行)
***$辞書フォルダ【タブ】[フォルダパス] [#qb864fc1]
-ロードする辞書フォルダをsatori.dllからの相対パス指定する。
-「/」「\」どちらでも可。
-相対パスの末尾に「/」「\」がない場合自動的に付けられる。
-深い階層のフォルダも指定可能。
-半角カンマ区切りで複数のフォルダを指定可能。
-satori.dllと同じフォルダは「.」
-辞書ロードのタイミングは本体へのレスポンス直後。
$辞書フォルダ .,other/hiru/
(set、辞書フォルダ、.,other/hiru/)
-satori_conf.txtに記述するとルートフォルダも強制的に呼び...
***$手動セーブ【タブ】実行 [#h873e8d4]
-セーブデータにセーブする。
-書き出しのタイミングは本体へのレスポンス直後。
$手動セーブ【タブ】実行
(set,手動セーブ,実行)
*品質保証部 [#c5e777fe]
-クレーム対応とかしてます
- 採用条件について。
「先に条件式のあるトーク要素を評価して、真のトーク要素が...
、条件式のないトーク要素がランダムに採用される」とありま...
#comment
終了行:
*里々まとめ [#faa48e45]
-里々WikiやSatoriSpecWikiとは一味違う里々の文法のまとめを...
-もうずっと書きかけです
--デマやウソ情報を見つけたら一番下のコメントフォームへ報...
-俺、このWikiを書き終えたら界隈から離れるんだ……。
*もくじ [#ud763063]
#contents
----------------------------------------------------------
*里々関連ファイル [#z8148cd0]
-----------------------------
**satori.dll [#r270f174]
-里々。
-SHIORI/3.0対応。
-数ある栞の中でもっとも栄えているモノの1つ。
-製作者による開発は停止しているが有志により進化し続けてい...
-開発元→http://www.geocities.jp/poskoma/#content_1_1
-有志による最新版→http://ms.shillest.net/satoriya.xhtml
***初期状態 [#dddee984]
-初期状態では下記が実行された状態になってます。
$引数区切り追加 、
$引数区切り追加 、
$引数区切り追加 ,
$引数区切り追加 ,
$引数区切り追加 (sprintf,%c,1)
-これらを削除してしまうこともできます。
-引数区切りの設定は保存されません。*OnSatoriLoad?で設定...
-----------------------------
**ssu.dll [#o53a461e]
-satori.dllの機能を補うSAORI
-「里々はゴースト作成に最小限の機能しか実装しない」という...
-機能は後述
-----------------------------
**satorite.exe [#icffaba2]
-里々スクリプトのデバッグ用ソフト。
-satori.dllをUIをつけたもの。
-satori.dllと同じフォルダに入れて使うと辞書をロードしてく...
-もちろんsatori_conf.txtも読み込むのでSAORIも使える。
-窓中の里々スクリプトを解釈してSakuraScriptを生成し、起動...
-れしばでも内部の動作が見られる。
-前回の状態を保存しておいて、次の起動時にはその内容を復帰...
--記録ファイルはsatorite.dat。
-----------------------------
**れしば.exe [#m0bf29a9]
-satori.dllやsatorite.exeから送られてくる里々スクリプトの...
-「リアルタイムで表示する」とれしばの表示が追いつかなくて...
-Ctrl+Sでログ内容をれしば.exeと同じフォルダにれしば.txtと...
--リアルタイムで表示せず、F5とCtrl+Sを使いまわすと複雑な...
---表示が速すぎてログを見る前に流れてしまうときに便利。
-----------------------------
**satori_pack.exe [#z3fee4bc]
-dic***.txtのあるフォルダにsatori_pack.exeを置いて実行。
-里々辞書を暗号化したdic*.satを生成できます。
-----------------------------
**satori_license.txt [#q73bec7d]
-里々の著作権について書いてある。
-修正BSDライセンスとか。
-里々を配布する上で必須のファイル。
-別に里々が読み込むわけではない。人間が読むためのもの。
-里々を使ってゴーストを配布する際には忘れずにいれておくこ...
----------------------------------------------------------
*里々が読み込むファイル [#i6417680]
-----------------------------
**ファイル読み込み順序 [#f3bb4d88]
+replace.txt
+replace_after.txt
+characters.ini
+satori_conf.txt
+satori_savedata.txt
+satori_savedata.sat
+dic***.txt
+dic***.sat
-----------------------------
**replace.txt [#ufe944e2]
-里々が辞書やセーブデータを 読 み 込 む と き に辞...
-実際にはない里々スクリプトを書いたとしても、ここで整形で...
-このファイルがなくても里々は動きます。というか、里々は何...
--replace.txt, replace_after.txtのタブ区切り解釈 †
--区切り符であるタブ記号が連続していた場合、2つめ以降を...
--また、連続しない複数のタブ記号が含まれる行は存在を無視...
---「121 - SatoriSpecWiki」より転載。
-文法
[置換前の単語]【タブ】[置換後の単語]【改行】
-例
【タブ】
(hoge, (call,hoge,
-実用例
--辞書に書いた内容を置き換えます。例えばカッコを含んだも...
(赤)【タブ】(fill_desktop,255,0,0)
--callを省略してユーザ定義関数っぽくする例。
(ほげ, (call,ほげ,
(ほげ、 (call、ほげ、
---「里々Wiki - replace.txtとreplace_after.txt」より転載
--こんなの→http://emily.shillest.net/specwiki/?plugin=att...
-----------------------------
**replace_after.txt [#u201ef3f]
-簡易トランスレータ。
-里々がMAKOTOトランスレータを積んでるような。
-里々が里々スクリプトを実行後、生 成 さ れ た Sakura...
-このファイルがなくても里々は動きます。
--replace.txt, replace_after.txtのタブ区切り解釈 †
--区切り符であるタブ記号が連続していた場合、2つめ以降を...
--また、連続しない複数のタブ記号が含まれる行は存在を無視...
---「121 - SatoriSpecWiki」より転載。
-replace.txtと同じ文法。
[置換前の単語]【タブ】[置換後の単語]【改行】
-例
。 。\w8
、 、\w5
-実用例
--本体にさくらスクリプトを返す直前、つまり「しゃべる直前...
--例えば、
:(ゴースト名)さん、またねー
--みたいなのが
ととたんさん、またねー
--になってしまうのを防ぐために、
たんさん たん
--と書くと。
--replace.txtだと、まだカッコが展開されてないので「たんさ...
--このへんが影響しない場合は、どっちでも同じです。
---「里々Wiki - replace.txtとreplace_after.txt」より転載
-----------------------------
**characters.ini [#l0eb6bc6]
-説明
--キャラクター設定ファイル。
--[名前の頭文字]:でスコープ指定可能になる。
--現在、名前の情報はfamily-nameしか使用されていない模様。
--このファイルがなくても里々は動きます。
-文法
[半角スコープ番号]
popular-name=[一般名、名前]
initial-letter=[名前の頭文字]
full-name=[フルネーム]
family-name=[性]
first-name=[名]
base-surface=]デフォルトサーフェス番号]
-例
[0]
popular-name=名雪
initial-letter=名
full-name=水瀬名雪
family-name=水瀬
first-name=名雪
base-surface=0
[1]
popular-name=あゆ
initial-letter=あ
full-name=月宮あゆ
family-name=月宮
first-name=あゆ
nickname=あゆあゆ
base-surface=500
[2]
popular-name=栞
initial-letter=栞
full-name=美坂栞
family-name=美坂
first-name=栞
base-surface=1000
[3]
popular-name=真琴
initial-letter=真
full-name=沢渡真琴
family-name=沢渡
first-name=真琴
nickname=まこぴー
base-surface=1500
[4]
popular-name=舞
initial-letter=舞
full-name=川澄舞
family-name=川澄
first-name=舞
base-surface=2000
--このとき、辞書内では
|名:|\p[0]|
|あ:|\p[1]|
|栞:|\p[2]|
|真:|\p[3]|
|舞:|\p[4]|
--のように置換される
-関連リンク
- http://yagi.xrea.jp/SatoriSpecWiki/pukiwiki.php?cmd=rea...
//#comment
影響範囲は
-一般名(未使用)
-基本サーフェス(サーフェス加算値)
-頭文字(う: さ: とかに使える)
**satori_conf.txt [#hbac9a45]
-説明
--里々の設定ファイル。
--里々が辞書及びセーブデータをロードをする前に読み込まれ...
--変数の初期化とSAORI呼び出しについて定義する。
--このファイルがなくても里々は動きます。
-*初期化
--説明
---変数等の初期化。
---上書きしないので、途中追加した変数にも初期値を設定でき...
---里々がセーブデータや辞書を読み込む前に初期化変数を定義...
---SAORI定義よりも先に読まれるのでSAORIは使用できない。
---謎の理由で里々の内部関数も使用できない。
---トークを書いても無視される。
---%%$辞書フォルダ%%
*初期化
$辞書フォルダ【タブ】mjk
$辞書フォルダ【タブ】kwsk
%%としたとき、%%
*初期化
$辞書フォルダ【タブ】.,mjk,kwsk
%%と同義。satori.dllのルートフォルダは強制的に読み込まれ...
-↑確認できませんでした。間違いのようです。
--推定される原因は下記の通り。
-ここに辞書フォルダを定義するとロードするたびに必ずその指...
--ここでの辞書フォルダ定義はセーブデータには反映されませ...
---例えば
*初期化
$辞書フォルダ【タブ】mjk
*セーブデータ
$辞書フォルダ【タブ】.
であったとき、実質的に
$辞書フォルダ【タブ】mjk,.
となります。
しかし、里々アンロード時や手動セーブ時に出力されるsatori_...
*セーブデータ
$辞書フォルダ【タブ】.
としか記載されません。
---つまり、satori_conf.txtに書かれた辞書フォルダの内容は...
--文法
---通常トークと同じ。
-@SAORI
--説明
---各栞共通プラグイン規格『SAORI』用の定義。
---使うdllは予めここで列挙してください。
---カンマ区切りで、左から順に
---・辞書からの呼び出すときの名前。dll名そのままでも構い...
---・プラグインdllの相対パス。スラッシュ「/」、バックスラ...
---・自動設定される引数。これは省略可。
--文法
[SAORI呼び出しに使う名前]【半角カンマ】[satori.dllからSA...
-例
*初期化
$喋り間隔 180秒
$喋り間隔誤差 10%
$会話時サーフェス戻し 有効
$デフォルトサーフェス0 0
$デフォルトサーフェス1 10
$スコープ切り換え時 \n[half]
$ユーザ名 ユーザ
$自動挿入ウェイトの倍率 100%
@SAORI
fill_desktop,saori/fill_desktop.dll
fill_red,saori/fill_desktop.dll,255,0,0
mciaudio,saori/mciaudio.dll
-関連リンク
//#comment
**satori_savedata.sat [#y8a577a6]
-説明
--暗号化された里々のセーブデータ。
--変数「セーブデータ暗号化」に「有効」を代入すると生成で...
--セーブデータの内容自体についてはsatori_savedata.txtの項...
-例
$セーブデータ暗号化 有効
-関連リンク
- http://www.geocities.jp/poskoma/#content_1_8 --[[電気で...
- tBOGpGcweQRVVvabH -- [[sokpdlnkbc]] &new{2008-12-21 (日...
#comment
**satori_savedata.txt [#b0dbe7db]
-説明
--里々のセーブデータ。
--(単語の追加)で追加した単語もここに保持される
-*セーブデータ
--説明
---変数がソートされて列挙される。
---特殊変数「ゴースト起動時間累計ミリ秒」は強制的に書き込...
---特殊変数「起動回数」は強制的に書き込まれる。
---変数「辞書フォルダ」の値も保存される。
-@○○
--説明
---(単語の追加)で追加した値が保存される。
---(追加単語の削除)で消せる。
-例
*セーブデータ
$ゴースト起動時間累計ミリ秒 15650236
$サーフェス加算値0 0
$サーフェス加算値1 0
$スコープ切り換え時 \n[half]
$デフォルトサーフェス0 0
$デフォルトサーフェス1 10
$ユーザ名 ユーザ
$会話時サーフェス戻し 有効
$起動回数 19
$自動挿入ウェイトの倍率 100
$辞書フォルダ .
$選択ID 気分はどう?
$選択ラベル 気分はどう?
$選択番号 3
$喋り間隔 180秒
$喋り間隔誤差 10%
@hoge
hoge
HOGE
hoge
HOGE
ほげ
ホゲ
ホゲ
@ぬるぽ
ガッ!
**satori_savebackup.sat [#t31af331]
-セーブデータのバックアップの暗号化バージョン。
-satori_savebackup.txtの項を参照。
**satori_savebackup.txt [#lddbe533]
-セーブデータのバックアップ。
-里々のセーブデータが消える?というバグ対策の名残。
-実際にはSSPのバグだったらしい。
-このファイルは里々にはロードされません。
-(多分)書き出し専用です。
**dicAnchor.txt [#ob4510dc]
-特殊辞書。
-他の辞書ファイルのトーク中にこのファイルに書いたトークの...
-\_a[]
-例
--dicAnchor.txt
*親父の秘密
:実はでべそ。
--dic○○.txt
*
:僕の親父の秘密知りたい?
:いいや。
---→\1\0僕の\_a[親父の秘密]知りたい?\n\1いいや。\w8\e
**dic○○.sat [#i05019ea]
-説明
--暗号化辞書ファイル
--詳しくはdic○○.txtの項を参照。
**dic○○.txt [#x3d1a029]
-7文字以上。最低「dic.sat」「dic.txt」
+dicAnchor.txt
---自動アンカー用の特殊な処理がされる
-[[伍長玩具店:http://gotyouhonten.hp.infoseek.co.jp/]]さ...
■2009/11/05■
里々のアンカー処理の話。既出、間違い、勘違いでしたらスミ...
dicAnchor.txtに半角英数字が先頭に来るワードを登録した場...
トーク内の書き出しまたは改行の先頭に登録ワードが来た場合、
もしくはその行の登録ワードの直前が半角英数字の文字列のみ...
アンカー処理がスルーされます。
先頭が半角英字の ABCの歌 という語句をdicAnchor.txtに登...
アンカー処理がスルーされる具体例として、
*
:ABCの歌アンカーテストです。
:アンカーされてへんな。
:あれれ。
*
:え~っともう一回、
ABCの歌アンカーテストです。
:やっぱアンカーされてへんな。
:あれれ~。
*
:三度目の正直!
194ABCの歌アンカーテスト!
KONDOKOSOABCの歌アンカーテスト!
\w6ABCの歌アンカーテスト~!
:今回もアンカーされてへん。
:そんな~
3つ目の例はかなり無理やりですが・・・。で、これを回避する...
dicAnchor.txtに ABCの歌 のように先頭文字(A)だけ全角...
ABCの歌【タブ】\_a[ABCの歌]ABCの歌\_a
とreplace.txt(replace_after.txtでも可)に登録する方法や、
「ABCの歌」【タブ】\_a[ABCの歌]ABCの歌\_a
とreplace.txt(replace_after.txtでも可)に登録し、
アンカーさせたい語句はトーク辞書内で「ABCの歌」のように...
こんな面倒なことしなくても、全角登録・全角表示でいいじゃ...
---------------------------------------------------------...
*文法 [#y1acc505]
-----------------------------
*前書き [#vef582af]
トーク宣言、または単語群宣言が存在する行までは前書き空間...
ここには何を書いても構いません。すべてエスケープされます。
-----------------------------
*トーク要素 [#f0e60e18]
*[トーク名]【タブ】[採用条件式] ←[トーク宣言]
[トーク本文] ←[トーク空間]
-トークはトーク宣言とトーク空間からなります。
-トークとは、“ゴーストの会話及びその挙動”を簡単に記すため...
--“ゴーストの会話及びその挙動”とは、SakuraScriptのことで...
例
*[トーク名]【タブ】[採用条件式]
:¥hのスコープ。
:¥uのスコープ。
これは
\1\s[10]\1 \n[half]\_w[9]\0¥hのスコープ。\_w[48]\n \n[...
こんな風になる。ウエイトやら半行改行やらは設定で変更でき...
→特殊変数
¥uから喋る
*[トークラベル]【タブ】[採用条件式]
¥uのスコープ。
:¥hのスコープ。
:¥uのスコープ。
characters.iniを設定していると
*[トークラベル]【タブ】[採用条件式]
:¥hのスコープ。
:¥uのスコープ。
名:¥p[0]のスコープ。
あ:¥p[1]のスコープ。
栞:¥p[2]のスコープ。
真:¥p[3]のスコープ。
舞:¥p[4]のスコープ。
とかできる。
-----------------------------
**トーク宣言 [#q702e3ae]
*[トーク名]
*[トーク名]【タブ】[採用条件式]
-トーク宣言を行うには、行頭に「*」と入力します
-----------------------------
***トーク名 [#nd2abf03]
-「*」以降はトーク名になります。
-トーク名には文字列を使います。
-同じトーク名の複数のトーク要素があった場合、ランダムに1...
-トーク名末尾に「「」をつけると、コミュニケートサーチに引...
■里々のあいまい検索について
・以下の記載において△は全角空白を表します。
・以下の記載において""はキーワードを示す表現であり、実際の
処理中または辞書中には記載しません。
【サマリ】
・あいまい検索は、コミュニケート及び"≫"記法において用い...
・あいまい検索では、△で区切った単語の得点を評価して行わ...
・あいまい検索は、ゴースト名部分が異なる候補を選ばなくな...
(Mc136-901にて実装、MC139-3にて再修正)
【前提】
・コミュニケートとユーザ入力は同じ処理です。
ユーザ入力の場合、ゴースト名を"ユーザ"と読み替えてくだ...
・対象文とは以下のものを言います
(1)コミュニケートで他のゴーストのしゃべった言葉
対象文=ゴースト名「コミュニケート文字列」
(2)辞書内で"≫"記法で記載された文
対象文="≫"以降の文字列そのまま
・候補文とは以下のものを言います
辞書内の"*○○「△ほげほげ△へもへも ・・・"形式の記載
・特定候補文は、"○○"のあるものを、汎用候補文は、"○○"の無...
(例)
*ユーザ「△ほげほげ =特定候補文
*「△へもへも =汎用候補文
・対象文に"「"が含まれるかどうかによって動作が異なります...
対象文に"「"が含まれる場合を名前限定モード、
対象文に"「"が含まれない場合を通常コミュ探索モードと呼...
MC139-3より前の場合、常に通常コミュ探索モードです。
【候補の絞込み処理】
(1)名前限定モードの場合
・ヒットする候補は、特定候補文のうち○○の部分が一致するも...
汎用候補文に絞られます。
・ヒットテストの処理は、"「"以降の文字列についてのみ行わ...
(具体的には、対象文から"「"までの文字列が除かれ、
候補文から最初の単語("○○「"もしくは"「")が除かれま...
(2)通常コミュ探索モードの場合
・ヒットテストする候補は、候補文すべてです。
・ヒットテストする対象は、対象文そのままです。
・つまり、ヒットテストの処理は、"○○「"もしくは"「" 部分も
1つの単語とみなして行われます。
【ヒットテスト】
・絞込み後の候補文すべてを、△で分解し、単語にします。
・単語のそれぞれの部分が、対象文に含まれているかどうかの...
・対象文に単語が含まれていればヒットです。
・ヒットした単語は10点+単語の長さ1文字につき1点の得...
・但し、最後が「で終わっている単語は4点固定です。
・ヒットしなかった単語は、コミュニケートの場合0点、≫記...
・それぞれの単語の点数を合計したものが、その候補文の得点...
【結果確定】
・最高点を得た候補文が最終的な結果となります。
・ただし、4点以下のものしかなかった場合は結果なしとなり...
---[[浮子屋さん:http://d.hatena.ne.jp/ukiya/20080119/1200...
-----------------------------
***採用条件式 [#uce43e47]
-式が1を返した場合、採用されます。
-同じトーク名の複数のトーク要素が採用された場合、ランダム...
-トーク名が同じで、採用条件式が書いてあるトーク要素と、採...
--phase124までは 条件式なしトーク要素のグループだけで評価
*起動 ←評価対象が無いので真、ラ...
*起動 ←評価対象が無いので真、ラ...
*起動【タブ】(現在時)==11 ←式に関係なく評価されない...
*起動【タブ】(現在時)==12 ←式に関係なく評価されない...
--phase Mc-*からは 先に条件式のあるトーク要素を評価して...
*起動 ←条件式つきトーク要素が採...
*起動 ←条件式つきトーク要素が採...
*起動【タブ】(現在時)==11 ←式が真なら採用
*起動【タブ】(現在時)==12 ←式が真なら採用
---として扱われます。
-----------------------------
**トーク空間 [#kd6a05df]
-トーク空間にはゴーストに関する挙動を書いていきます。
-最後の文字列のある行までがトーク空間になります。
トーク空間では、変数代入、ジャンプ、選択肢、コミュニケー...
-----------------------------
***変数代入 [#e7a30e6d]
$[変数名]【タブ】[値]
$[変数名]=[値]
-「=」で代入すると、値が式と見なされ、計算可能ならば、計...
$計算結果=1+1
:1+1は、(計算結果)!
:小学生か。
-変数に【タブ】で代入した場合はそのまま値が代入されます。
-変数名には変数も指定できます。
$(今晩のおかず)【タブ】おいしかった。
変数。=で計算式代入の場合、値を計算。タブの場合文字列と...
数字のみの変数名無効。代入するものが無かった場合変数の削除
-----------------------------
***ジャンプ [#y921ccf6]
>[トーク名]
>[トーク名]【タブ】[採用条件式]
-トーク本文を他のトーク要素のトーク本文に繋げて分岐するこ...
-単語群要素へはジャンプできません。ジャンプできるのはトー...
-トーク名には変数を指定できます。
完全一致ジャンプ
>変数ジャンプ_(利用変数)
とした場合、(利用変数)が存在していなければ「変数ジャン...
ssu.dllとの兼ね合いも考えれば、出来るだけ初期化した方がい...
***コミュニケートサーチ [#q90d54ee]
≫
and検索ジャンプ。
-----------------------------
***選択肢 [#m88a8a06]
_[トーク名]
_[選択肢ラベル]【タブ】[トーク名]
_選択肢ラベル【タブ】ジャンプ先
(全角アンダーバー)
選択肢。SakuraScript置き換え。
-----------------------------
***話しかけ [#ue1a78db]
→
-----------------------------
***トーク本文 [#z3445b6c]
-トーク空間のスコープはうにゅう側から始まります。
--さくら側から会話を始めるときにはスコープ切り替えを使い...
:こんにちは。さくらです。
:どうも、うにゅうです。
↓
\1\s[10]\0こんにちは。\w9さくらです。\w9\n\n[half]\w9\w9...
--スコープ切り換えをすると、初期設定で半分改行するのSakur...
---特殊変数「スコープの切り替え時」で設定できます。
-トーク空間でトーク本文を改行すると、改行するSakuraScript...
--自働改行を無効にしたい場合は行末にエスケープ文字「φ」を...
こんφ
にちは
↓
\1\s[10]こんにちは\e
-「。」「、」「!」「?」などには自動的にSakuraScriptのウ...
--特殊変数「自働挿入ウェイトの倍率」や「自働挿入ウェイト...
-トーク本文の末尾には\eが自働挿入されます。
*単語群 [#b7e52002]
単語群解釈 †
各行が要素。それぞれに定義行が適用される。
末尾空行を認識しないのはまぁいいか。明示的に「文字列」...
-単語群定義 := 単語群宣言 単語内容+
-単語群宣言 := '@' 単語群名 '\n'
-単語群名 := 文字列
-単語内容 := 項 '\n'
-項 := (文字列|かっこ)+
-----------------------------
**単語群宣言 [#rd9cc586]
-----------------------------
***単語群名 [#wcb40723]
-----------------------------
***採用条件 [#fffb8d90]
-----------------------------
**単語空間 [#l806acb3]
-----------------------------
*括弧 [#x7fde822]
-かっこ := '(' 項 (区切り子 項)* ')'
-区切り子 := がんばれ。
情報取得系 条件として取得されるケース 情報設定...
文字列の再解釈(eval)
文字列 := ('(' | ')' | ':')以外*
*エスケープ [#pc85b670]
*コメントアウト [#q1eceabc]
*演算子 [#z254a320]
**演算 [#p94845b6]
**論理演算 [#wffc1811]
**文字列操作 [#p9afb84a]
==、!=で両辺の文字列が同じかどうか比較。
-で左辺から右辺文字列消去。
*で、例えば■*5なら■■■■■。
<、>、>=、<=は文字列の長さを比較。
*変数 [#lc166719]
-計算式(calc、calc_float、SAORI引数、ジャンプ時条件)
http://yagi.xrea.jp/SatoriSpecWiki/pukiwiki.php?%CA%B8%CB...
***: [#h2ff27fa]
スコープ切り替え。
-関連リンク
#comment
***コミュニケートについて [#q9894b10]
-http://d.hatena.ne.jp/ukiya/20080119/1200772181#seemore
-より転載。
■里々のあいまい検索について
・以下の記載において△は全角空白を表します。
・以下の記載において""はキーワードを示す表現であり、実際の
処理中または辞書中には記載しません。
【サマリ】
・あいまい検索は、コミュニケート及び"≫"記法において用い...
・あいまい検索では、△で区切った単語の得点を評価して行わ...
・あいまい検索は、ゴースト名部分が異なる候補を選ばなくな...
(Mc136-901にて実装、MC139-3にて再修正)
【前提】
・コミュニケートとユーザ入力は同じ処理です。
ユーザ入力の場合、ゴースト名を"ユーザ"と読み替えてくだ...
・対象文とは以下のものを言います
(1)コミュニケートで他のゴーストのしゃべった言葉
対象文=ゴースト名「コミュニケート文字列」
(2)辞書内で"≫"記法で記載された文
対象文="≫"以降の文字列そのまま
・候補文とは以下のものを言います
辞書内の"*○○「△ほげほげ△へもへも ・・・"形式の記載
・特定候補文は、"○○"のあるものを、汎用候補文は、"○○"の無...
(例)
*ユーザ「△ほげほげ =特定候補文
*「△へもへも =汎用候補文
・対象文に"「"が含まれるかどうかによって動作が異なります...
対象文に"「"が含まれる場合を名前限定モード、
対象文に"「"が含まれない場合を通常コミュ探索モードと呼...
MC139-3より前の場合、常に通常コミュ探索モードです。
【候補の絞込み処理】
(1)名前限定モードの場合
・ヒットする候補は、特定候補文のうち○○の部分が一致するも...
汎用候補文に絞られます。
・ヒットテストの処理は、"「"以降の文字列についてのみ行わ...
(具体的には、対象文から"「"までの文字列が除かれ、
候補文から最初の単語("○○「"もしくは"「")が除かれま...
(2)通常コミュ探索モードの場合
・ヒットテストする候補は、候補文すべてです。
・ヒットテストする対象は、対象文そのままです。
・つまり、ヒットテストの処理は、"○○「"もしくは"「" 部分も
1つの単語とみなして行われます。
【ヒットテスト】
・絞込み後の候補文すべてを、△で分解し、単語にします。
・単語のそれぞれの部分が、対象文に含まれているかどうかの...
・対象文に単語が含まれていればヒットです。
・ヒットした単語は10点+単語の長さ1文字につき1点の得...
・但し、最後が「で終わっている単語は4点固定です。
・ヒットしなかった単語は、コミュニケートの場合0点、≫記...
・それぞれの単語の点数を合計したものが、その候補文の得点...
【結果確定】
・最高点を得た候補文が最終的な結果となります。
・ただし、4点以下のものしかなかった場合は結果なしとなり...
----------------------------------------
**単語群 [#i83fe8d8]
----------------------------------------
**演算子 [#x64eab06]
----------------------------------------
----------------------------------------
**括弧 [#ree0f593]
*括弧 [#x7fde822]
-かっこ := '(' 項 (区切り子 項)* ')'
-区切り子 := がんばれ。
情報取得系 条件として取得されるケース 情報設定...
文字列の再解釈(eval)
文字列 := ('(' | ')' | ':')以外*
- http://satoriya-shiori.googlecode.com/svn/trunk/satoriy...
----------------------------------------
***○○ [#ia1fcc5d]
単語を選択した
***○○ [#r1d3d70a]
*に定義があれば文を取得
***○○ [#j05bd2bc]
変数名であれば変数の内容を返す
***○ [#y34e8939]
サーフェス切り替え
「:」(数字)引くことの現在のスコープのデフォルトサーフ...
*
:(6)→\s[6]
:(0)\s[10]
:(10)\s[10]
:(11)\s[21]
*** [#q004a5be]
見つからなかった。通常喋り?
----------------------------------------
**変数 [#z9e0b94f]
----------------------------------------
-計算式(calc、calc_float、SAORI引数、ジャンプ時条件)
---------------------------------------------------------...
*イベント [#j0d7eb58]
- http://satoriya-shiori.googlecode.com/svn/trunk/satoriy...
-関連リンク
#comment
----------------------------------------
**特殊イベント [#e93605ac]
***OnBoot [#rb32b667]
-「OnFirstBoot」が無かった場合。
-「初回」が無かった場合。
-「OnGhostChanged」が無かった場合。
-「他のゴーストから変更」が無かった場合。
このラベルのトークが無かった場合、「起動」へ飛ぶ。
***OnClose [#e87d65de]
-「OnGhostChanging」が無かった場合。
-「他のゴーストへ変更」が無かった場合。
-「OnGhostCalled」が無かった場合?
このラベルのトークが無かった場合、「終了」へ飛ぶ。
***OnGhostChanged [#sc0872e2]
このラベルのトークが無かった場合、「他のゴーストから変更...
***OnGhostChanging [#ie169ea1]
このラベルのトークが無かった場合、「他のゴーストへ変更」...
***OnMouseDoubleClick [#gec2565b]
このラベルのトークが無かった場合、自動的に下記のように補...
*OnMouseDoubleClick
>(R3)(R4)つつかれ
()
***OnMouseWheel [#uf268993]
ころころ
***OnAnchorSelect [#y737d257]
***OnChoiceSelect [#u34cf3db]
$選択ラベル【タブ】(R0)
$選択名【タブ】(R1)
・・・わすれた!(ぇ
***OnCommunicate [#v0cd1f97]
このトークが無かった場合、里々が独自にコミュニケート探索...
詳しくはコミュニケートを参照。
***OnSecondChange [#b59a1d8d]
-存在するタイマのディクリメント
--→タイマがカウントされる。
-自動セーブ
--→自動セーブのタイミングならセーブされる。
-タイマ
--→タイマが発動したかどうか確認する
-タイマ予約発話
--→
-自動発話
--→しかるべきタイミングならランダムトークをする
-喋らない
--→とくにすることがなければしゃべらない。
-scriptへの付与処理
-喋りカウント初期化
--初回のみ。続行時にはここでクリアはしない。
-1トーク中でのみ有効な重複回避をクリア
-バルーン位置が有効なら設定
***OnSurfaceChange [#ff36dacb]
***OnUpdateReady [#j3481c7b]
***OnWindowStateRestore [#r9f89108]
***OnShellChanged [#z89fe4b6]
***OnSurfaceRestore [#w5566ad6]
***OnRecommendsiteChoice [#d712019e]
----------------------------------------
**独自イベント [#s53014b2]
-関連リンク
#comment
----------------------------------------
***OnSatoriLoad [#w9da567a]
-satori.dllのロードが終了したとき。
-OnSatoriLoadは変数の初期化とか設定とか里々の内部の準備用...
--例:単語群の処理とか
-トーク無視。
***OnSatoriUnload [#gf0ce593]
-satori.dllのアンロードの直前。
-トーク無視。
***OnSatoriBoot [#je399ddd]
-「OnSatoriLoad」の後、ベースウェアからイベントが送信され...
-OnSatoriBootは起動イベント全般に分岐をかけたい時に使うと...
--例:特定の日付の起動トークとか
--OnSatoriBootでトークを書くと、どういうわけかOnBoot、OnG...
-おそらく里々がOnSatoriBootのイベントを処理したときにトー...
***OnSatoriClose [#t985bafa]
-OnCloseの後。
***OnTalk [#da8cd069]
(R0):0なら「今話すべきトークはない=ランダムトークで...
(R1):(R0)が1の場合、そのトーク名。
***COMMUNICATE該当なし [#f5d9c2b7]
「OnCommunicate」が無く、里々が独自のコミュ探索を行った後...
***OnDirectSaoriCall [#s99d784d]
-(sync)でSAORIを呼び出したとき。
***初回 [#y0d9846a]
-「OnFirstBoot」が無かった場合。
***起動 [#y67a801f]
-「OnBoot」「OnGhostChanged」「他のゴーストから変更」がな...
***終了 [#u60248a4]
-「OnClose」「OnGhostChanging」「他のゴーストへ変更」が無...
***他のゴーストから変更 [#n12832d3]
-「OnGhostChanged」が無かった場合。
***他のゴーストへ変更 [#n5396671]
-「OnGhostChanging」が無かった場合。
***消滅指示 [#a5afbf74]
-「OnVanishSelecting」が無かった場合。
***消滅撤回 [#b0c9f97c]
-「OnVanishCancel」が無かった場合。
***消滅決定 [#pa1b2dae]
-「OnVanishSelected」が無かった場合。
***消滅中断 [#ab4a20f8]
-「OnVanishButtonHold」が無かった場合。
**特殊単語群 [#jb45c207]
***@\ms [#sdcc0075]
%msを定義
***@\ml [#a0bb98a5]
%mlを定義
***@\mc [#g91a556f]
%mcを定義
***@\mh [#h6e3a3d8]
%mhを定義
***@\mt [#dad26393]
%mtを定義
***@\me [#ee62acba]
%meを定義
***@\mp [#x7af03af]
%mpを定義
***@\m? [#pd4832f7]
%m?を定義
***@\dms [#u7679af2]
%dmsを定義
**オーナードローメニュー定義 [#uee44dc5]
-(&○)でメニューのその項目へのショートカットキーを指定でき...
-http://www.mac.gn.to/satori/index.php?%5B%5B%A5%E1%A5%CB...
-http://disc2.s56.xrea.com/manual/list_shiori_resource.htm
-このへん参照。
***sakura.recommendsites [#tbd1e814]
()展開有効です。
---------------------------------------------------------...
*SAORI [#k6f3a2aa]
-関連リンク
#comment
----------------------------------------
**(S[数字]) [#fca84b33]
SAORIなどコール時の結果処理
-関連リンク
#comment
**(Sの数) [#bda8b9b1]
-関連リンク
#comment
----------------------------------------
**ssu.dll [#p639295d]
***(calc,[計算式]) [#r16fe0e0]
-calcは小数点以下を無視(切り捨て)して計算する。
-ifやswitchなどの引数は、暗黙のうちにこれを実行している。
-「$SAORI引数の計算【タブ】自動」だと、calcが実行される...
$SAORI引数の計算【タブ】自動
(calc,1+1)
++(calc,1+1)
++(calc,(calc,1+1))
---(calc,1+1)→2
++(calc,2)
---(calc,2)→2
***(calc_float,[計算式]) [#j425c1ad]
-calc_floatは小数点以下も計算する。
-「$SAORI引数の計算【タブ】自動」だと、calcが実行される...
$SAORI引数の計算【タブ】自動
(calc_float,5÷2)
++(calc_float,5÷2)
++(calc_float,(calc,5÷2))
---(calc,5÷2)→2
++(calc_float,2)
---(calc_float,2)→2
-「$SAORI引数の計算【タブ】無効」にしてから使おう
$SAORI引数の計算【タブ】無効
(calc_float,5÷2)
++(calc_float,5÷2)
---(calc_float,5÷2)→2.5
***(if,[条件式],[真の場合に返す文字列],[偽の場合に返す文...
-条件式を評価し、真(0以外)ならば真の結果を返す。
-そうでないならば、偽の結果を返す(偽の結果が書かれている...
-※重要なこと
--普通のプログラミング言語と違って、括弧の中身が先に評価...
(if,(乱数0?1),(set,値,0),(set,値,1))
(値)
++(if,(乱数0?1),(set,値,0),(set,値,1))
---(乱数0?1)→0
++(if,0,(set,値,0),(set,値,1))
---(set,値,0)→
++(if,0,,(set,値,1))
---(set,値,1)→
++(if,0,,)
---(if,0,,)→
++(値)
---(値)→1
---このとき、必ず「(値)→1」になる。
--解決策
((if、(乱数0?1)、set,値,0、set,値,1))
(値)
++(if、(乱数0?1)、set,値,0、set,値,1)
---(乱数0?1)→0
++(if、0、set,値,0、set,値,1)
---(if、0、set,値,0、set,値,1)→set,値,1
++(set,値,1)
---(set,値,1)→
++(値)
---(値)→1
***(unless,[条件式],[偽の場合に返す文字列],[真の場合に返...
***(iflist,[条件式の左辺],[条件式の右辺1],[真の場合に返...
ifと違う点は、条件式が左右に分かれたことと、複数の条件を...
まず、左辺と右辺1を組み合わせた条件式を評価し、真ならば...
そうでなければ次の右辺2と組み合わせ、真ならば結果2を返...
そうでなければ…(以下略)。
いずれの右辺を評価しても真にならばければ、空を返す。
***switch [#y01d9ee0]
***nswitch [#a22faded]
***substr [#w6c3dd6f]
***split [#r9e23d9b]
***replace [#m1f61042]
***replace_first [#ice68943]
***erase [#t9d15f83]
***erase_first [#m904d2f1]
***count [#fa768720]
***compare [#rb5a788b]
***compare_head [#t1b3083b]
***compare_tail [#ya811ad4]
***length [#fd275b24]
***sprintf [#j5b9b129]
***is_empty [#de53a0e7]
***is_digit [#le7c93e2]
***is_alpha [#c70d9205]
***han2zen [#n4ec5792]
***zen2han [#xa4b4c04]
-ssu.dll han2zen / zen2hanで変換タイプ指定可能に
--例:(zen2han、ABC123アイウガギグ?、数字 アルフ...
--2番目に空白等適当な文字で区切って指定します。
--省略時は全指定。 数字・アルファベット・カナ・記号 が指...
***kata2hira [#oacd1f24]
***hira2kata [#z124327f]
***join [#k29ba759]
***choice [#y041910a]
***reverse [#a868da25]
***at [#s631fd37]
***lsimg [#r3d9d54d]
***mkdir [#e450dddb]
---------------------------------------------------------...
*内部関数 [#b75c29e5]
-関連リンク
- http://www.mac.gn.to/satori/index.php?%5B%5B%C6%E2%C9%F...
#comment
----------------------------------------
**(set,[変数名],[値]) [#xcaac8bd]
変数へ代入
(set,ほげ,ふが)
は
$ほげ【タブ】ふが
に等しい。
**(nop,[,...]) [#q79fd322]
何も返さない。
(nop,ほげ)→
**(sync,呼び出す関数,引数1,引数2...引数n) [#k4fe93b6]
(sync,fill_desktop,255,255,255)
は
\![raise,OnDirectSaoriCall,fill_desktop,255,255,255]
になる・・・ハズ。
**(loop,[括弧で呼び出すモノの名前],[回数]) [#i555a2a9]
-例文
*
(loop、犬、3)
@犬
マルチーズ
パピヨン
ゴールデンレトリバー
-実行結果
マルチーズパピヨンゴールデンレトリバー
**(loop,[括弧で呼び出すモノの名前],[開始値],[終了値]) [...
-例文
*
(loop、エヴァンゲリオン、0、3)
@エヴァンゲリオン
エヴァ(エヴァンゲリオンカウンタ)号機
-実行結果
エヴァ0号機エヴァ1号機エヴァ2号機エヴァ3号機
**(loop,[括弧で呼び出すモノの名前],[開始値],[終了値],[増...
-例文
*
(loop、エヴァンゲリオン、0、3、3)
@エヴァンゲリオン
エヴァ(エヴァンゲリオンカウンタ)号機
-実行結果
エヴァ0号機エヴァ3号機
//引数区切りの不統一と、(○○カウンタ)全角→半角に修正しま...
//ここのコメントアウトは確認されましたら消してください。 ...
***[括弧で呼び出すモノの名前]カウンタ [#zdb49965]
-内部関数loop参照。
-関連リンク
- kono -- [[HiLa]] &new{2008-02-09 (土) 05:15:46};
- 里々wikiでも使われてるこのloopのサンプルは色々解りづら...
- 里々Wikiからの転載なのです。書くのめどかったから(ぉぃ ...
- http://emily.shillest.net/specwiki/index.php?%E3%83%AC%...
- 使用例としてこのへんのをさらりと解説した方がいいかな --...
- このへん>むずいですw。*犬のサンプルが無いので犬カウ...
- これでどうでしょう -- [[レゴキチ]] &new{2008-02-10 (日)...
#comment
**(remember,[全半角自然数]) [#v9b9d9fc]
今からn回前のランダムトークのスクリプトを取得する。
**(call,[括弧呼び出しの対象の名前][,[引数0],[引数1],...]...
-あらゆる括弧をを引数付きで呼び出す。
-呼び出された側では(A[0からの数字])で引数を参照できる。
-関数やサブルーチン製作用
-里々Wiki[[http://www.mac.gn.to/satori/index.php?%5B%5Bca...
-使用例:[[レゴキチ/里々自作関数まとめ]]
***(A[全半角数字]) [#h2f6fcd5]
-callによる呼び出しの引数
***(Aの数) [#p2704921]
-callの引数の数を返す。
-最後の引数の番号とは(A(Aの数)-1)の関係。
**(バイト値,[1以上の全半角数字]) [#o309d6b7]
**(単語の追加,[単語群名],[単語名]) [#bf155d34]
**(追加単語の削除,[単語群名],[単語名] [#e74e5d96]
**(追加単語の全削除,[単語群名]) [#ofa76ed2]
**(合成単語群,[単語群名],[単語群名],...) [#kcfeeb19]
-(合成単語群、A、B、C)と書くとA/B/Cそれぞれの単...
--今のところ「重複回避」設定はできません。
**(乱数[全半角数字]?[全半角数字]) [#o66489b9]
-指定範囲内のランダムな値を返す。
---------------------------------------------------------...
*環境変数 [#o9620ed9]
変数取得
変数名であれば変数の内容を返す
-関連リンク
#comment
----------------------------------------
**リクエスト情報 [#z91e0b08]
-関連リンク
#comment
----------------------------------------
***(ID) [#of2e23dd]
-送られてたイベント名。
***(Reference[半角数字]) [#g43fb3bb]
-リファレンス。
-Event通知時の引数取得。
***(R[全半角数字]) [#q75fd617]
-Event通知時の引数取得。
-(Refference[半角数字])の省略
***(Rの数) [#b23042dc]
-リクエストのリファレンス番号の最大値を返す。
***(status code) [#me581992]
-SHIORI 3.0 GET
--かな?
***(Status) [#y98bdade]
-喋り中は「talking」
***Sender [#y0853021]
-ベースウェアの名前
***Charset [#r7a48820]
-リクエストの文字コード
----------------------------------------
**内部情報 [#i9e0d416]
-関連リンク
- (サーフェス[全半角スコープ番号])って動かないんじゃね...
- (サーフェス[半角スコープ番号])かも? -- [[legokichi]]...
#comment
----------------------------------------
***(里々のバージョン) [#ie4cdf6e]
-整備班カスタムから実装
-バグ報告するときにはこれで里々のバージョンを確認しておこ...
***(pwd) [#x084f630]
-satori.dllのあるフォルダまでの絶対パスを返す。
***(本体の所在) [#mf5fce22]
-ベースウェアがインストールされているフォルダを取得。
***(直前の選択肢名) [#j4977409]
-
***(H[全半角数字]) [#e1c18613]
-([全半角H][全半角数字])
-過去に括弧で展開した値を取得。
-1オリジン。
***(サーフェス[全半角スコープ番号]) [#kff5f3a1]
-現在の指定したスコープのキャラクターが表示しているサーフ...
***(前回終了時サーフェス[全半角スコープ番号]) [#g855b783]
-前回終了時の指定したスコープのキャラクターが表示していた...
***(ウィンドウハンドル[全半角スコープ番号]) [#te8555b0]
-指定したスコープのウィンドウハンドルを返す。
----------------------------------------
**外部情報 [#w9b9c758]
-関連リンク
#comment
----------------------------------------
***(FMO[半角数字][半角英数]) [#oaf30465]
-本体が提供してくれる謎の情報。
--ベースウェアごとに提供されるFMOの名前には差があるらしい。
-[半角数字]にはゴーストの番号。
-[半角英数]にはFMOの名前。
-呼び出し時に里々は保持するゴースト情報を更新する。
-SSPのFMOテーブルの例。
ghostpath:○○\ghost\karekano\
hwnd:66702
kerohwnd:66752
keroname:彼女
name:彼
path:○○\
--上から順に(うろ覚え)
本体からnamedのルートフォルダまでの相対パス
\0側のウィンドウハンドル
\1側のウィンドウハンドル
\1側の名前
\0側の名前
本体までの絶対パス
-関連リンク
#comment
***([ゴーストの\0の名前]の存在) [#g96366b9]
-わすれた
-呼び出し時に里々は保持するゴースト情報を更新する。
***([ゴーストの\0の名前]のサーフェス) [#x91e705f]
-わすれた
-呼び出し時に里々は保持するゴースト情報を更新する。
***(隣で起動しているゴースト) [#deec459a]
-(FMO1name)と同義(だったハズ
***(起動しているゴースト数) [#rd953fd2]
-半角数字
----------------------------------------
**存在判定 [#b6a8b4e9]
-関連リンク
#comment
----------------------------------------
***(文「[トーク名]」の存在) [#pcfaa64c]
-指定したトークが存在する場合は「1」
-存在しない場合は「0」
***(文「[トーク名]」の数 ) [#g367e2c4]
-指定したトークの数
***(単語群「[単語群名]」の存在) [#h46c1a4c]
-指定した単語群が存在する場合は「1」
-存在しない場合は「0」
***(単語群「[単語群名]」の数) [#h07be4d6]
-指定した単語群の数
***(変数「[変数名]」の存在) [#fb320405]
-指定した変数が存在する場合は「1」
-存在しない場合は「0」
----------------------------------------
**時間情報 [#m1207a81]
-関連リンク
#comment
----------------------------------------
***(time_t) [#yacfab34]
-万国標準時(UCT)の1970年1月1日の00:00:00からの経過時間を...
-半角数字
***(現在年) [#p4c8af42]
-全角数字
***(現在曜日) [#z0591d61]
-月火水木金土日のうちどれか
***(現在月) [#c6a861bb]
-全角数字
***(現在日) [#nd28a1e5]
-全角数字
***(現在時) [#vb4f9a02]
-全角数字
***(現在分) [#vdb42c61]
-全角数字
***(現在秒) [#ud5cd601]
-全角数字
***(起動時) [#g8806e69]
-本体が起動してからの時間の時間の部分
***(起動分) [#e5b81193]
-本体が起動してからの時間の分の部分
***(起動秒) [#g8fd50a7]
-本体が起動してからの時間の秒の部分
***(単純起動秒) [#vd8b788e]
-本体が起動してからの秒単位の時間
***(単純起動分) [#ref9e288]
-本体が起動してからの分単位の時間
***(OS起動時) [#od936796]
-OS(Windows)が起動してからの時間の時間の部分
-実は「OS起動?」の情報が実際には取得できていないという...
***(OS起動分) [#w5ed5b05]
-OS(Windows)が起動してからの時間の分の部分
***(OS起動秒) [#w9a9daaa]
-OS(Windows)が起動してからの時間の秒の部分
***(単純OS起動秒) [#d4fc4493]
-OSが起動してからの秒単位の時間
***(単純OS起動分) [#g3d289c7]
-OSが起動してからの分単位の時間
***(累計時) [#fca8d172]
-このゴーストを起動した累計時間の時間の部分
***(累計分) [#e36284a0]
-このゴーストを起動した累計時間の分の部分
***(累計秒) [#fbaa6412]
-このゴーストを起動した累計時間の秒の部分
***(単純累計秒) [#paea3d98]
-このゴーストを起動した秒単位の累計時間
***(単純累計分) [#a18b73ba]
-このゴーストを起動した分単位の累計時間
***(最終トークからの経過秒) [#ab8ad93c]
-最後のトークから経過した秒。
***(ゴースト起動時間累計ミリ秒) [#e02e7cfd]
-このゴーストを起動したミリ秒単位の累計時間
-セーブデータに自動的に保存される。
----------------------------------------
**辞書情報 [#ge5325b9]
-関連リンク
#comment
----------------------------------------
***(countTalk) [#f3fde8cd]
-全トーク数(*の数)
***(countEventTalk) [#g820aa6b]
-イベントトーク数
-主にOn?で始まっているもの。
***(countOtherTalk) [#x12627f4]
-その他のトーク数
***(countNoNameTalk) [#uad2422e]
-ランダムトーク数
-トークのラベル(名前)がないもの。
***(countWords) [#k45442ff]
-単語群数(@の数)
***(countWord) [#c8f921f1]
-総単語数
***(countParenthesis) [#yff62f22]
-辞書中の括弧の数
-たぶん「(」の数
***(countVariable) [#dd4f9e29]
-変数の数
***(countAnchor) [#j4c0587f]
-アンカー数
***(countLine) [#n66ac40f]
-辞書中の改行の数
----------------------------------------
**トーク予約情報 [#k0c3ca01]
-関連リンク
#comment
----------------------------------------
***(次のトーク) [#s66bae9e]
-次の予約されているトーク名
-(次から1回目のトーク)と同義。
***(次から[全半角数字]回目のトーク) [#j58177e2]
-指定した回に予約されているトークがあればそのトーク名
-なければ何も返さない
***(トーク「[トーク名]」の予約有無) [#g7d3ca06]
-指定したトークが予約されていれば「1」
-されていない場合は「0」
***(予約トーク数) [#wd471054]
-現在予約されているトーク数
---------------------------------------------------------...
*特殊変数 [#w97a3ee1]
-関連リンク
- http://www.mac.gn.to/satori/index.php?%5B%5B%C6%C3%BC%E...
- http://satoriya-shiori.googlecode.com/svn/trunk/satoriy...
#comment
----------------------------------------
**スクリプト挿入 [#acffba3a]
-関連リンク
#comment
----------------------------------------
***$スコープ切り換え時【タブ】[任意の文字列] [#s96efcf7]
-デフォルトでは
$スコープ切り換え時【タブ】\n[half]
***$さくらスクリプトによるスコープ切り換え時【タブ】[任...
-「$スコープ切り換え時」のさくらスクリプト版。
-\0,\1,\h,\u,\p[n]が対象です。デフォルトで設定なし。
-改行せずにキャラを切り替える用途で\0,\1,\h,\u,\p[n]が使...
-:と全く同じ動作にしたい時は\n[half]と設定してください。
***$スクリプトの一番頭【タブ】[任意の文字列][#we671d62]
-里々Mc131-1以降で使用可。
-里々はスクリプトの先頭に自動でデフォルトサーフェイス等が...
-"$スクリプトの一番頭"に代入する事で次のスクリプトの先頭...
-また一度使用されると変数は初期化されます。
-利用例としては\Cタグはスクリプト先頭に記述する必要がある...
***$トーク開始時【タブ】[任意の文字列] [#c2d1ce33]
-
***$トーク終了時【タブ】[任意の文字列] [#u3c9515b]
-
***$選択肢開始時【タブ】[任意の文字列] [#b2d6968a]
-
***$選択肢終了時【タブ】[任意の文字列] [#dede6641]
-
***$自動挿入ウェイトの倍率 [#h9f2c8e9]
-「。」「、」「!」「?」などに自動的に挿入されるウエイト...
-0で無効
-%指定
-「**%」と数値以外の文字が付いた場合、文字は無視される。
$自動挿入ウェイトの倍率【タブ】5%
***$自動挿入ウェイトタイプ [#f6130e40]
-「無効」で自動挿入全て無効、
-「里々」で従来の処理、
-「一般」でゴーストで一般的に使われるウェイトを自動挿入し...
--「一般」=「、」で\w5ぐらい、「。!?」や改行など文末で...
----------------------------------------
**ランダムトーク設定 [#c7fb306d]
-関連リンク
#comment
----------------------------------------
***$喋り間隔【タブ】[全半角数字] [#v7733c0a]
-秒単位
-「**秒」と数値以外の文字が付いた場合、文字は無視される。
-3未満は喋らない
***喋り間隔誤差【タブ】[全半角数字] [#re47d366]
-%指定
-「**%」と数値以外の文字が付いた場合、文字は無視される。
----------------------------------------
**システム設定 [#x7d20343]
-関連リンク
#comment
----------------------------------------
***$見切れてても喋る【タブ】有効 [#se97251f]
-有効以外の値を入れると無効になる。
***$呼び出し回数制限【タブ】[全半角数字] [#afd12e4b]
-里々Mc128-1以降で使用可。
-数値を代入し、最大呼び出し回数を設定する。
-デフォルトでは200。
-主にcallによる呼び出し回数を制限している。
-callによる再帰ループとか多用する人(俺みたいな人)とか最...
***ジャンプ回数制限 [#e6a71140]
-デフォルト20000回。
***会話時サーフェス戻し [#rb7037c7]
-$会話時サーフェス戻し=強制で、スクリプトの頭で必ずサー...
-有効
-強制
※それ以外無効
***サーフェス加算値○ [#g0c4aef6]
***デフォルトサーフェス○ [#z9ccfc97]
***BalloonOffset○ [#tf1fe316]
***$SAORI引数の計算【タブ】[任意のコマンド] [#b67984c8]
-「有効」
-「無効」
-それ以外の文字を代入した場合「自動」
$SAORI引数の計算【タブ】
$SAORI引数の計算【タブ】
***$引数区切り追加【タブ】[任意の1文字] [#z74b27c3]
-callやSAORI呼び出しに使う引数区切りを追加できる。
$引数区切り追加【タブ】(バイト値、5)
(split(バイト値、5)(html)(バイト値、5)<)
-ちなみに起動直後では
$引数区切り追加【タブ】、#全角句点
$引数区切り追加【タブ】、#半角句点
$引数区切り追加【タブ】,#全角カンマ
$引数区切り追加【タブ】,#半角カンマ
$引数区切り追加【タブ】(バイト値,1)
-が有効。
-この変数はセーブデータに保存されないので、OnSatoriLoadや...
***$引数区切り削除【タブ】[任意の1文字] [#ac0633a4]
-追加した引数を削除する。
***$自動セーブ間隔【タブ】 [#v84b6fdf]
***$セーブデータ暗号化【タブ】有効 [#a1f136fe]
-セーブデータを暗号化する
-「有効」以外の文字を入れると無効。
----------------------------------------
**なでられ設定 [#tbd4303a]
-関連リンク
#comment
----------------------------------------
***トーク中のなでられ反応 [#e66d23ec]
***なでられ持続秒数 [#w3904822]
***なでられ反応回数 [#ycc1cb0f]
----------------------------------------
**れしば [#bf124bb0]
-関連リンク
#comment
----------------------------------------
***$Log【タブ】[有効] [#bcb5ad82]
-れしばにログを送るか否か
-「有効」以外の文字を入れると無効。
***$RequestLog【タブ】[有効] [#wab75947]
-れしばにログのリクエストの部分を送るか否か
-「有効」以外の文字を入れると無効。
***$OperationLog【タブ】[有効 [#v3758abc]
-れしばにログの里々の内部動作の部分を送るか否か
-「有効」以外の文字を入れると無効。
***$ResponseLog【タブ】[有効] [#ba9e8c74]
-れしばにログのベースウェアに返す値の部分を送るか否か
-「有効」以外の文字を入れると無効。
----------------------------------------
**括弧取得の設定 [#y2a5fdc1]
-関連リンク
- http://satoriya-shiori.googlecode.com/svn/trunk/satoriy...
#comment
----------------------------------------
***$単語群「[単語群名]」の重複回避【タブ】[呼び出す方法]...
-↓参照
***$文「[単語群名]」の重複回避【タブ】[呼び出す方法]、[...
-コマンド区切りに使える文字「、」「,」
-呼び出す方法
--「直前」
---直前の単語呼び出しとの重複を回避するランダム。
--「降順」or「正順」
---上から下へ順番に呼び出す。
--「昇順」or「逆順」
---下から上へ順番に呼び出す。
--「有効」or「完全」
--「無効」
---重複回避しない。完全にランダム。
-有効期間
--「トーク中」
---そのトーク内だけ。
--「起動中」
---起動ちゅずっと。
$文「[単語群名]」の重複回避【タブ】[呼び出す方法]、[有...
----------------------------------------
**トーク予約 [#p56c0bda]
-関連リンク
#comment
----------------------------------------
***$次のトーク【タブ】[トーク名] [#e986c868]
-次のランダムトークで喋るトークを予約できる。
$次のトーク【タブ】[トーク名]
(set,次のトーク,[トーク名])
***$次から[全半角数字]回目のトーク【タブ】[トーク名] [#v...
-次の任意の回数のトーク後にで喋るトークを予約できる。
***$トーク予約のキャンセル【タブ】[トーク名] [#occ63d94]
-値に「*」を指定することで予約トークを全てキャンセルでき...
$トーク予約のキャンセル【タブ】*
----------------------------------------
**タイマ [#k32e3a52]
-関連リンク
#comment
----------------------------------------
***$[トーク名]タイマ【タブ】[全半角数字] [#tec273f9]
-代入する値に文字が含まれていた場合、自動的に数字だけを抽...
$[トーク名]タイマ 5秒
(set,[トーク名]タイマ,5秒)
***$全タイマ解除 [#lb7cb484]
$全タイマ解除 実行
----------------------------------------
**実行変数 [#wcfa52c1]
-特定の名前の変数に特定の値を入れると里々が何らかの動作を...
-関連リンク
#comment
----------------------------------------
***$教わること [#vb2e252c]
-teachboxを開くようだ
***$Value[全半角数字]【タブ】[任意の値] [#bbf38e01]
-関連リンク
- http://www.mac.gn.to/satori/index.php?%5B%5B%C6%C3%BC%E...
#comment
***$今回は喋らない【タブ】有効 [#s58401b8]
-$今回は喋らない=有効 で、何をしようが常に204 No Conte...
--一度SHIORI呼び出しが来るごとに「無効」に戻ります。
--必要な時は毎回設定してください。
-トークが無視され、発話しない。
-レスポンスが204 NoConectになる。
-「有効」以外の文字を入れると無効。
$今回は喋らない 有効
(set,今回は喋らない,有効)
***$辞書リロード【タブ】実行 [#ee243e23]
-辞書フォルダをリロードする。
-辞書ロードのタイミングは本体へのレスポンス直後。
-(set)を使うときは引数区切りを半角コンマ以外を使用する...
$辞書リロード 実行
(set,辞書リロード,実行)
***$辞書フォルダ【タブ】[フォルダパス] [#qb864fc1]
-ロードする辞書フォルダをsatori.dllからの相対パス指定する。
-「/」「\」どちらでも可。
-相対パスの末尾に「/」「\」がない場合自動的に付けられる。
-深い階層のフォルダも指定可能。
-半角カンマ区切りで複数のフォルダを指定可能。
-satori.dllと同じフォルダは「.」
-辞書ロードのタイミングは本体へのレスポンス直後。
$辞書フォルダ .,other/hiru/
(set、辞書フォルダ、.,other/hiru/)
-satori_conf.txtに記述するとルートフォルダも強制的に呼び...
***$手動セーブ【タブ】実行 [#h873e8d4]
-セーブデータにセーブする。
-書き出しのタイミングは本体へのレスポンス直後。
$手動セーブ【タブ】実行
(set,手動セーブ,実行)
*品質保証部 [#c5e777fe]
-クレーム対応とかしてます
- 採用条件について。
「先に条件式のあるトーク要素を評価して、真のトーク要素が...
、条件式のないトーク要素がランダムに採用される」とありま...
#comment
ページ名: