うさださくら  面屋  さくらナビ-Expert  そなー-Jumper  にぅす  噂と評判  最萌
   アンテナ  何か  うにゅう  やさぐれ  えめる  あくあ
   もどき  何でも板  開発板  議論板
   資料とか  里々を使*(tips)  実家の「開発資料」
   ゴースト製作上の質問  里々関係の質問  その他の質問  Google
   さおり  はじめてのSAORI  さおこれ  SAORI総合スレ  姉妹の開発
里々(さとり)とは...

 伺かゴーストの喋りを担当する部分。栞とか偽AIとか呼ばれるものです。
 まずは↓の「導入」をお読みください。

里々の使い方

0 導入 - はじめての方へ

1 外面 - 立たせてみる

2 基本 - これだけでもゴースト

3 初級 - 辞書ファイルを一つずつ

 すこしずつ推敲&作成の予定。 さとりテキストと、それ以降の更新履歴をもとに、変更を反映しつつ。


FAQ - よくある質問と答え

注意事項 - 配布の前に


里々関係のツール・文書

「さとりて」phase 2_72

 会話テスト用ツール。里々形式なトーク文をさくらスクリプトに変換し、SSTPで送ります。
 どのゴーストでも使えるんで、里々の試用にもどうぞ。
 最新版は本体(post?.zip)に同梱。

satori_pack 85KB

 里々の辞書 dic*.txt を暗号化します。



ゴースト3分クッキング

 絵やネタ以前の段階でつまづかないために。初代チュートリアル。


さとりテキスト

 01/11/10までの里々の全てが記された仕様書的な文書。二代目チュートリアル。
 これより以降の追加・変更については、更新履歴の過去ログを参照してください。


さおり


HTTPクライアントなSAORI phase 1

 ゴーストが自分の好きなところのヘッドラインをセンスするとか、ニュース速報とか、おもちゃ拾いとか、簡易ネットワーク更新とか、掲示板読みとか、さてさてふふーん。

 文字コードは自動判別してShift_JISに。charsetが指定されてればそっちを優先。


他の栞を呼び出すSAORI

 例えば、ベースは里々で作って細かい操作が必要な部分は他の栞に任せるとか。今使っている栞に無い機能を他の栞から借りたりとか。サブルーチン的に。


里々とは無関係の、どのゴーストでも使えるツール類


そだて。

 ゴーストのネットワーク更新(アップロード)周辺の面倒ないろいろを自動化。
 updates2.dau作成〜FTPアップロード〜zip/nar作成までを一動作で片付けます。


Coordin4 86KB

 当たり判定の作成補助。
 画像をDnDしてマウスで長方形を選択すると、リアルタイムに座標(10,10,200,150とか)をクリップボードにコピーします。あとはsurface??s.txtに「貼り付け」るだけ。


gomanets

 全ゴーストを一括でネットワーク更新(ダウンロード)します。こっちはエンドユーザ用。


過去の遺物など
 縮小シェル作成の補助
 updates2_make
 ネットワーク更新のやり方


misc

ぽすこれ

ゴースト『やぎたん8才』 やぎこれ

ゴースト『しめじ臭いウサギ』 しめこれ

「2ちゃん読み for 何か」(仮)

ゆうかスクリーンセーバー

ゴーストさん家

里々を使って頂いてる方々。

千郷&魚匠&御子神一家

猫の手協会
RAILさん
Treasures
みきか&かこん 夏那瀬秋穂さん
夏那沢MAGICA-歌えない太平洋
MILK&マグ夫 敦賀ユキさん
あずき&小倉 くろてぃあんさん
電樂堂 GRAPH X Sound
音緒withてのーる、あれ以外のSugi&Reo 七星音緒さん
あれ以外の何かたち
雪奈 伊藤れいさん
Villa ELSPHERE
水那とルウラン 文月まりあさん
つきよのふくろう
茶津音&古津 なおみさん
なおみのHomePage
偽ねここ とみながさん
ソルト&ワッフル

葡萄茘枝
あまなさん
ホームシック別館
どどめにゅう&レインボーうにゅう

トレビアンうにゅう

八頭身うにゅう

10円
枕さん
東京うにゅうランド
東京うにゅうたんランド
テーカンとダッチゃん うえいとさん
ホームページくしろ
ノイエ&玉子王子 karmaさん
ティアム&キビ るeさん
RumpusEntertainment
死闇&フェル 御影さとりさん
†Mid+Night+Mare†
媛儀Prototype 骨川すぬオさん
マスターと海里 飼馬 聖さん
りとるべーかりー
メイ(仮)と宇にゅう めいさん
Home May'd
ゴス子 上岸勇馬さん
上岸屋本店
未央&うみゅう 神楽坂規行さん
Parity
涼璃とまぐに ドモンさん
かそけくかたれ
真純とぺこ 水鏡みりうさん
だめ人間計画
arkさん
タマの痛い日常 shin1さん
杉並車輌工場xp
ちろりさん しのびさん
唯葉とにゃも 蝉時雨さん
時間軸の広場
首吊りとうぎゅう もふふさん
ひのきとねこがみさま あゆかさん
夏の球児たちよ!
『監視小屋』 nachiさん
小雪と大地 ちっこさん
真夢瑠とタマゴボーロ 一魔さん
銀猫通り三丁目
風と爆弾三等兵 bomuさん
幻想電子画廊COSMIC
ふぁそら&キッチョム Moyakkyさん
Blue Hole
黒姐先生 千里馬さん
速度戦
かぷりしゃす&ナビゅう(仮) かぷりしゃすさん
かぷりしゃすのサイト
ちびことくまきち 弘崎さん
ちびこの庭
ちびうにゅうたん へーのき=つかささん
へーのきラボラトリー
沙織 エルセさん
からまわれ。
タロウと謎缶 海苔ノリオさん
海苔屋
あかね&ますたー 小野秀一さん
ギャラリー田園調布
梓とかおり かにぱんさん
AZUSA fan page
つぇぺるぅ&くらます NaLcさん
略式会社ワイエヌテクニクス
ちか&ふくにゅう 坂さん
天ぷら油火災に水をかけるな
双葉 (完)さん
Rainy Scythe
京子とうにゅう のぜきとしひこさん
ほっとみるく
おーちゃん あるみねこさん
あるみねこの風船爆弾
北風と太陽 マルシェーさん
猫飯公社
しのぶとうにゅう いとぽんさん
小椋正雪さん
LUNAR!
ヴァルキリー 高橋義経さん
ヴァルキリー・ソフトウェア
エルとテスタ るたさん
Cruelly Crusade
ことら&にょろぽん 討魔さん
Wrong Fatal
周(あまね) 茜さん
周家

互換環境

 非Windows環境のmateria互換システムのうち、独自の実装により、里々(を使用したゴースト)を動作させられるもの。

偽林檎

何か for Mac OS X(仮)

ninix

謝辞

さくらみかげ 全ての火種。

華和梨 shioriインタフェイス作成時、参考にさせていただきました。

つぐなさん サンプルゴースト作成時、参考にさせていただきました。

偽栞 イベント反応作成にあたり参考にさせていただきました。

Treasures/千郷&魚匠 里々の機能拡充の多くにモチベーションを提供していただきました。

SSP 迅速に対応していただいた結果がスクリプトエラー戦争終結の間接的きっかけに。

何かの略歴 里々の略歴〜。

作者の方々に感謝いたします。

リンク

実写版 Niaさんの素敵写真集。

里々のダウンロード

『里々 phase 85』

・02/04/28更新、440KB程度。
・サンプルゴースト「ポストと狛犬」、会話テスタ「さとりて」、動作ビューア「れしば」を同梱。

コンタクト

 「里々」は櫛ヶ浜やぎが作成・配布しています。

 質問・要望・バグ報告等のサポート的なことは、メールではなく掲示板へ。またはもどき板の里々スレでも。そのテの情報は共用してこそだかんね。過去ログも活用してください。データの蓄積と検索はコンピュータの真骨頂。
 同梱されてる「れしば」を立ち上げておくと、里々が内部で何やってるかがわかります。これも活用したってください。

更新履歴  雑記

ζ



 phase 85での変更点に書き忘れがありました。
 かなり前のバージョンから里々を使ってる方の場合、サンプルのreplace.txtのままだと問題が発生します。というかすいません>RAILさん
 
 ◆「行頭に$か>がある場合はreplace.txtの内容の反映しない」を廃止。

  対処としては replace_after.txt に replace.txt の内容を移動すればOKです。

 replace.txtは計算等を行う以前の段階で、何もかも一緒くたに置き換え対象とします。対してreplace_after.txtは色々を行った「結果」に対して置き換えを行います。よって、一般的な置き換え用途にはreplace_afterの方が向いています。……というかreplace.txtは、現在ではあまり使う用途はないと思います。





>梶山さん
 
 OnChoiceSelectが未定義のとき、里々は>(R0)を実行します。
 目立たない場所にしか書いてなかったかもしれず。


02/04/28 phase 85
 
 ◆\_aの自動挿入はさくらスクリプトの引数を対象としない
 
  でないと\q[]内に\_aがきたりとまずいので。
 
 
 ◆φによるエスケープを全ての文字に適用。
 
  \\φuとすれば\uがちゃんと出せます。
  φ…とすると、replaceも無効化できます。
 
  繰り返しますがφは「ふぁい」です。
 
 
 ◆「無内容のスクリプトは無効化」を強化。
 
  里々による自動挿入のみのスクリプト(\1\eとか)で本来の喋りをつぶしてしまうことのないように。
 
 replace周辺はもう少しどうにか。「家を増築したら2階からしか出入りできなくなった」系の問題もあるんで、次のSHIORI/3.0移行に併せて色々直します。ほいで、SHIORI/2.xサーバとしての里々はこれで開発終了(予定)。次からはSHIORI/3.0クライアントのみの対応となります。materiaなら571以前では動かなくなるってことね。
 もっとも、ゴースト側で対応すべきことはたいして無いはず(辞書を2,3箇所いじってもらうかも程度)なんでご心配なさらず。

 あとこの履歴スペースの横幅は狭いと思いました。




02/04/21 phase 84

◆行末のφ

 行末にφを置くと、その改行は無いものとして扱われます。次の行とつながるってことね。カッコ内では同じ処理が自動的に行われます。

◆カッコ内における行頭のタブ記号無視が効いていなかった問題を修正。

*OnBoot
:φ
(iflist、(現在時)、
<6、こんばんは。、
<11、おはようございます。、
<18、こんにちは。、
<24、こんばんは。


 この位だとありがたみが無いけど、多段ifとかを見やすく書くための機能です。




02/04/21 phase 83

 文法を少し追加・変更。なるべく既存のものに影響が出ないようにしたつもりですが、ひょっとすると多少の変更が必要になるかも。
 他、ssu.dll に関数追加&修正。


◆エスケープ記号としてφを採用。

 現時点では主に「次の特殊記号を無効化する」目的で使用します。この後で説明。
 「ふぁい」で変換すると出ます。
 φ記号そのものを使う場合はφφと記述してください。φが一つ出力されます。


◆一行コメントを、行頭だけでなく途中でも有効に。

 辞書ファイル中にがあると、その場所から行末までが無視されます。
 記号そのものを使う場合はφ#と記述してください。だけが出力されます。


◆カッコの無効化。

 φ(と記述してカッコを始めることで、置き換え等の特殊機能を抑制し、単なるカッコとして出力することができます。また、カッコ内で閉じカッコを表示したい場合はφ)で可能。
 もちろん、置き換え対象が無い場合はそのままカッコつきで出力されます。


◆カッコ内部での改行を全て無視

 これが今回のメイン。

 逆にいうと、カッコ内部ではいくらでも改行ができるということです。
 主に、SAORI呼び出し時の大量の引数を見やすく記述するために使います。
 用例は、一つ下の iflist サンプルを見てください。
 また、カッコ内部で改行においては行頭のタブ記号が無視されます。
 
 副作用として(wのような閉じてないカッコが使えなくなってしまうのですが、これは一つ上の方法でカッコ自体を無効化することで回避可能です。


◆ssu.dll - iflist

 一つの左辺に対し、複数の右辺を順番に比較していきます。
 用例。

*OnBoot
:(iflist、(現在時)、
<6、こんばんは。、
<11、おはようございます。、
<18、こんにちは。、
<24、こんばんは。)



◆ssu.dll - zen2han, han2zen

 一部記号がずれていた問題を修正、半角カナと全角カナの相互変換に対応。


◆ssu.dll - kata2hira, hira2kata

 カタカナとひらがなの相互変換。文字列比較用かな。


◆ssu.dll - sprintf

 書式指定出力。printfとしてはかなりサブセットですが。
 具体的には(sprintf,%02d:%02d,(現在時),(現在分))で時刻の二桁出力ができます。>すぬさん

 詳しく知りたい場合は「printf 書式」とかで検索すると……出てはくるでしょうけど。



02/04/12 phase 82

 ◆SAORI呼び出し時の区切りに「,」だけでなく「、」と「,」が使用可能に。

  satori_confでの呼び出し名も設定し直せば、フル全角でSAORIが使えます。
  (IF、(さかな)>5、大漁じゃあ!)ってな。



02/04/12

 HTTPクライアントなSAORI phase 2。

  暫定版。
  まず、改行コードを無視するようになりました(SAORIの規格上、そのままでは返せないので)。
  で、設定可能なオプションを追加。文字コードの指定、タグの消去、タグのさくらスクリプト変換です。
  さくらスクリプト変換は期待しないでください。雑だし。ある程度狙って作らない限りは見れたもんじゃないかと。
  タグいじり系は別のSAORIとして分離するかもしれず。とかく暫定仕様ってことで。



02/04/10 phase 81 excuse:春なので2

 \![open,inputbox,*]のサンプル、派手に間違ってました。すいません。ぁー。\![raise,]と混同してたヨ……

*OnUserInput
$(R0) (R1)
>(R0)を教えてもらった

*名前を変える
:名前は?\![open,inputbox,ユーザ名]

*ユーザ名を教えてもらった
:(ユーザ名)さんですね。

 ついでにポストのサンプルにも反映。

 ◆dic2、*OnUserInput追加。
 ◆dic8、「名前覚えて」部分のサンプル変更。



02/04/09 phase 80 excuse:春なので

 ◆による検索を今度こそAND条件に。

  昨日言ってたことと逆になってました(対ユーザの方をANDにしてた)……_

 ◆TEACHが無効化されてた問題を今度こそ修正。

  phase79で直したつもりが全然直ってませんでした……_

 ◆里々へのリクエストで SecurityLevel: local がない場合は SAORI-basic の直接呼び出しを禁止。

  せきゅ。-universalはLocal/Externalを渡します。

 ◇というか

  COMMUNICATE周りを整理しないと……



02/04/08 phase 79


 ◆タイマが一瞬で終了する問題を修正。

  OnSecondChange以外でも数えてたヨ...


 ◆による検索をAND条件に。

  2単語以上であり、かつ、全ての単語が文中に含まれてる場合のみヒットとします。
  対ユーザCOMMUNICATEは今まで通り。


 ◆TEACHが無効化されてた問題を修正。

  でも、この際だから\![open,inputbox,*]に移行しちゃった方がいいかも。より適切に動作しますので(入力中は割り込まれない、入力後は消える)。


 ◆「SAORI-universal」呼び出し時にSecurityLevel: を付加。
 
  せきゅ。
 
 
 ◆「SAORI-basic」の直接呼び出しが可能に。

  里々使用のゴーストにおいては、プロクシdllを経由しなくてもSAORI-basicなプラグインが使えます。
  exe形式のSAORIをdll形式のSAORIと同様に扱える、ってことです。
 
 
 「SAORI-basic」は作るのも割と簡単なんで、ちょいと試しに遊んでみるのも一興かと。単なるコンソールアプリケーションです。例えばこれ
 
 #include <stdio.h>
 
 void main(int argc, char* argv[]) {
  printf("Hello, world.");
 }
 

 多くのCの教科書の1ページ目に載ってる有名なプログラムですが、これ、コンパイルすれば、そのままSAORIとして扱えるわけです。
 まぁこのままじゃ実用性無いんで加算器とか。
 
 void main(int argc, char* argv[]) {
  int i, acum=0;
  for ( i=1 ; i<argc ; i++ ) {
   acum += atoi(argv[i]);
  }
  printf("%d", acum);
 }
 

 実用がお嫌いなら人語→犬語翻訳機とか。
 
 void main(int argc, char* argv[]) {
  int i;
  for ( i=1 ; i<argc ; i++ ) {
   printf("わん");
  }
 }
 

 興味を持ったらフリーのコンパイラをインストールなどして、あとは適当に検索すれば、いくらでも講座があると思います。
 これであなたもSAORI作者。

 ※プログラムに関する質問にはお答えしかねます。にゃむー。



02/04/07 phase 78

 ■SATORI - ハイパーリンク的な。

  dicAnchor.txtというファイルを用意し、
  
  *悲しい目をした犬
  :路地裏でたまに見かけることがあります。
  

  等と記述します。すると、ゴーストのトーク中で悲しい目をした犬という台詞が出てきたとき、それが自動的にアンカー化されます。
  まーやってみてください。これ多分、ごく普通の機能になると思います。

  なお、dicAnchor1.txtとかdicAnchor_about_Fruits.txtみたいなファイルも対象になります。

  要は \_a[語]語\_a に置き換えてるわけです。
  本体からのOnSelectAnchor時、該当辞書ファイル内に(R0)と一致する文が無ければ、通常通り*OnSelectAnchorを呼びます。
  今んとこうにゅう側は効いてないっぽ。というかmateriaのtest中な機能を使ってるため将来に渡って使えるかは不明。アンカー機能自体が廃止されない限りは大丈夫ですけども。


 ■SATORI - 予約中タイマの解除

  $○○タイマ=0で。
  できるような気がしてたけど全然できてなかった……すいません。

 ■SATORI - タイマカウントを少しだけ精密に

  喋れないとき(トーク中、最小化時など)にもカウントするようにしました。
  喋れない状態で発動タイミングがくると、1秒ずつ遅れていきます。相変わらず厳密とは言えません。

 

 過去ログ
 02/01/01〜
 〜01/12/31
 〜01/12/13
 〜01/11/10

ToDo

 ・強く
 
 ・雄雄しく
 
 ・たくましく