さあ、ハイスペックゴースト作成キット、KEEPSの説明だよー。 KEEPSは、最奥部で高度なスクリプトの技が炸裂しまくってて、KISの説明用教材としては不向きなの。 それで番外編なのね。けど、複雑なところはきれいに隠してあるから、初心者でも安心して使えるよ。
本章は、おまけです。ですが、公開されている全ゴーストのうち1/3近く?のシェアを誇るKEEPSについて、触れないわけにはいかないでしょう(2002/3/13現在)。
(KEEPS導入のためのマニュアルも解説もほとんどWWW上に存在しないことが、ここで取り上げる最大の理由でもあります。今後、関係者の一層の努力を期待します。)
KEEPSとは、こやまあきらさんが開発した、華和梨用のゴースト製作キットです。「GOA Lilith」の付属辞書より高度な機能を実現するスクリプトが数多く同梱されています。また、構造的にも、使用者がKIS(華和梨インラインスクリプト)のコードをなるべく意識しないですむように工夫されています。
本サイトでは今後、「GOA Lilith入門セット」を基本において解説を進めますが、もしこのKEEPSでゴーストを作ってみよう、という場合は、第1章終了時の状態から以下の作業を行います。
(KEEPS ver.3.99の場合について説明します。なお、こやまあきらさんは2002年2月28日をもってKEEPSの開発を終了しています。より新しいKEEPSの情報については、「OpenKEEPS」などを訪ねてください。)
まずは、KEEPS ver.3.99の書庫を適当なフォルダに解凍してください。(圧縮ファイルの解凍については「統合アーカイバプロジェクト」などで調べて、必要なソフトを用意してください)
中身は次のようになっています。
Dict-KEEPS.txt (イベント制御プログラム辞書)
Dict-KEEPSs.txt (データセーブファイル)
Script_KEEPS.txt (SSPスケジュール機能用データファイル)
Ghost-KEEPS.txt (イベント用辞書。ゴーストにあわせて編集する)
Dict-KEEPS_URL.txt (おすすめURL辞書。ゴーストにあわせて編集する)
Dict-KEEPSc.txt (コミュニケート反応プログラム辞書)
Ghost-KEEPSc.txt (コミュニケート反応用辞書。ゴーストにあわせて編集する)
Dict-KEEPSp.txt (外部ソフトイベント制御プログラム辞書)
Ghost-KEEPSp.txt (外部ソフトイベント用辞書。ゴーストにあわせて編集する)
Ghost-KEEPS_Another.txt (多重人格キャラクター切り替えシステム辞書)
For_KEEPS_Editer.lzh (KEEPS Editor用の付録)
For_KEEPS_Editer.lzhを解凍すると、次のようなファイルが入っています。
Tree_KEEPS.txt (KEEPS Editor用の設定ファイル)
解説.txt (Tree_KEEPS.txtの使い方についての説明)
これは、KEEPS編集支援エディタ「KEEPS Editer」用の設定ファイルです。解説.txtを参考にしながら使うとよいでしょう。
KEEPSは、機能を段階的に導入できます。以下、それぞれの機能の導入について解説します。
基本機能である、イベント制御(「GOA Lilith入門セット」ではdict-event.txt、dict-menu.txtが行っている部分)を実現するモジュールは、KEEPSのファイルリストのうちの赤字の部分です。
この部分を導入するためには、赤字のファイル5つを
<「何か。」本体>
└─<ghost>
└─<Sample and Test>
├─<ghost>
│ └─<master>
│ ├─ Dict-KEEPS.txt
│ ├─ Dict-KEEPSs.txt
│ ├─ Script_KEEPS.txt
│ ├─ Ghost-KEEPS.txt
│ ├─ Dict-KEEPS_URL.txt
│ ├─ kawari.ini
│ └ .....
├─<shell>
│ └─<master>
│ └ .....
└ .....
この位置にコピーし、kawari.iniを編集します。「GOA Lilith入門セット」付属のkawari.iniの中身は次のようになっています。
#「華和梨」辞書設定ファイル
#################################################
#デフォルト辞書
#################################################
#イベント辞書
dict:dict-event.txt
#トーク辞書
dict:dict-sent.txt
#コミュニケート辞書
dict:dict-com.txt
#単語辞書
dict:dict-word.txt
#メニューツリー辞書
dict:dict-menu.txt
#単語フレームワーク
dict:dict-base.txt
#################################################
この赤字の部分を、下記のように書き換えます。
#「華和梨」辞書設定ファイル
#################################################
#デフォルト辞書
#################################################
#イベント辞書
dict:Dict-KEEPS.txt
dict:Dict-KEEPSs.txt
dict:Ghost-KEEPS.txt
#トーク辞書
dict:dict-sent.txt
#コミュニケート辞書
dict:dict-com.txt
#単語辞書
dict:dict-word.txt
#メニューツリー辞書
dict:Dict-KEEPS_URL.txt
#単語フレームワーク
dict:dict-base.txt
#################################################
そして、ゴーストの設定やしゃべらせる文章は、Ghost-KEEPS.txt、Dict-KEEPS_URL.txtの中身を編集して作っていきます。(詳しい説明は、これらの辞書ファイル中に直接書かれています)
次に、コミュニケート反応まわりの機能を差し替える方法です。この機能は、KEEPSのファイルリストのうちで青字のファイル2つが担当しています(「GOA Lilith入門セット」ではdict-com.txtがこれにあたります)。
まず、先ほどと同様、ファイルをコピーします。
<「何か。」本体>
└─<ghost>
└─<Sample and Test>
├─<ghost>
│ └─<master>
│ ├─ Dict-KEEPS.txt
│ ├─ Dict-KEEPSs.txt
│ ├─ Script_KEEPS.txt
│ ├─ Ghost-KEEPS.txt
│ ├─ Dict-KEEPS_URL.txt
│ ├─ Dict-KEEPSc.txt
│ ├─ Ghost-KEEPSc.txt
│ ├─ kawari.ini
│ └ .....
├─<shell>
│ └─<master>
│ └ .....
└ .....
そののち、先ほど同様、kawari.iniを編集します。先ほどの内容のうち、今度は青字の部分を
#「華和梨」辞書設定ファイル
#################################################
#デフォルト辞書
#################################################
#イベント辞書
dict:Dict-KEEPS.txt
dict:Dict-KEEPSs.txt
dict:Ghost-KEEPS.txt
#トーク辞書
dict:dict-sent.txt
#コミュニケート辞書
dict:Dict-KEEPSc.txt
dict:Ghost-KEEPSc.txt
#単語辞書
dict:dict-word.txt
#メニューツリー辞書
dict:Dict-KEEPS_URL.txt
#単語フレームワーク
dict:dict-base.txt
#################################################
と書き換えます。コミュニケート時にしゃべらせる文章は、Ghost-KEEPSc.txtの中身を編集して作っていきます。(詳しい説明は、このファイル中に直接書かれています)
外部ソフト(きのこ、猫どりふ)との連携機能は、Dict-KEEPSp.txt、Ghost-KEEPSp.txtの2つのファイルが担当します(「GOA Lilith基本セット」の付属辞書には該当部分はありませんが、自力で同等機能を作ることも不可能ではありません)。
同じように、ファイルをコピーします。
<「何か。」本体>
└─<ghost>
└─<Sample and Test>
├─<ghost>
│ └─<master>
│ ├─ Dict-KEEPS.txt
│ ├─ Dict-KEEPSs.txt
│ ├─ Script_KEEPS.txt
│ ├─ Ghost-KEEPS.txt
│ ├─ Dict-KEEPS_URL.txt
│ ├─ Dict-KEEPSp.txt
│ ├─ Ghost-KEEPSp.txt
│ ├─ kawari.ini
│ └ .....
├─<shell>
│ └─<master>
│ └ .....
└ .....
(Dict-KEEPSc.txtとGhost-KEEPSc.txtは使わなくても動作します。)
kawari.iniに、緑字の部分を追加します。(Dict-KEEPSc.txtとGhost-KEEPSc.txtを使用する場合は、青字の部分にもそのための変更も加えてください)
#「華和梨」辞書設定ファイル
#################################################
#デフォルト辞書
#################################################
#イベント辞書
dict:Dict-KEEPS.txt
dict:Dict-KEEPSs.txt
dict:Ghost-KEEPS.txt
#トーク辞書
dict:dict-sent.txt
#コミュニケート辞書
dict:dict-com.txt
#単語辞書
dict:dict-word.txt
#メニューツリー辞書
dict:Dict-KEEPS_URL.txt
#単語フレームワーク
dict:dict-base.txt
#外部ソフト連携辞書
dict:Dict-KEEPSp.txt
dict:Ghost-KEEPSp.txt
#################################################
実際のしゃべりの内容は、Ghost-KEEPSp.txtの中身を編集します。説明はほかのファイル同様、この辞書ファイルの中に直接書かれています。
最後は、多重人格切り替え機能です。これは、Ghost-KEEPS_Another.txtを使います。(「GOA Lilith基本セット」の付属辞書にはこの機能はありませんが、がんばれば自力で作ることも……不可能では……ない……はず。)
まず、辞書ファイルをコピーします。
<「何か。」本体>
└─<ghost>
└─<Sample and Test>
├─<ghost>
│ └─<master>
│ ├─ Dict-KEEPS.txt
│ ├─ Dict-KEEPSs.txt
│ ├─ Script_KEEPS.txt
│ ├─ Ghost-KEEPS.txt
│ ├─ Dict-KEEPS_URL.txt
│ ├─ Ghost-KEEPS_Another.txt
│ ├─ kawari.ini
│ └ .....
├─<shell>
│ └─<master>
│ └ .....
└ .....
(Dict-KEEPSc.txt、Ghost-KEEPSc.txt、Dict-KEEPSp.txt、Ghost-KEEPSp.txtは使わなくても動作します。)
実際の多重人格のしゃべりについては、このGhost-KEEPS_Another.txtの中身を編集していきます。詳しいことは、このファイルの中に書かれている説明を読んでください。
このファイルも同様にkawari.iniに追加します。
#「華和梨」辞書設定ファイル
#################################################
#デフォルト辞書
#################################################
#イベント辞書
dict:Dict-KEEPS.txt
dict:Dict-KEEPSs.txt
dict:Ghost-KEEPS.txt
#トーク辞書
dict:dict-sent.txt
#コミュニケート辞書
dict:dict-com.txt
#単語辞書
dict:dict-word.txt
#メニューツリー辞書
dict:Dict-KEEPS_URL.txt
#単語フレームワーク
dict:dict-base.txt
#多重人格関係
dict:Ghost-KEEPS_Another.txt
#################################################
(Dict-KEEPSc.txtとGhost-KEEPSc.txtを使用する場合は、青字の部分にもそのための変更も加えてください。また、Dict-KEEPSp.txt、Ghost-KEEPSp.txtを使用する場合にも、そのための変更を加えてください。)
KEEPSは高度な機能を手軽にゴーストに組み込めるすばらしいスクリプトセットですが、いくつか問題があります(2002/3/11現在)。主なところでは、次のような問題が挙げられます。
・作者のこやまあきらさんが2002年2月28日をもって開発終了、配布サイトも同年3月末日で閉鎖(予定)
・機能を利用することは簡単だが、ユーザーが機能を改造したり、オリジナルの機能を追加したりすることが難しい
これらの問題点を解決するべく、UMKS6.p2さんほか有志の手により、「OpenKEEPSプロジェクト」が始まりました。また、こやまあきらさんも、新しいスクリプトセットの開発を検討しているようです。KEEPSを利用するみなさんは、こうした動向を見逃さないようにしましょう。
一方、KEEPSを改造したスクリプトセット「FUDS」など、ほかにもさまざまなスクリプトセットがあります。興味のある人はいろいろ探してみるとよいでしょう。
以下は、KEEPS ver.2.00Aのころに書いた説明です。辞書の編集について簡潔に説明していて、削除するのももったいないので掲載しておきます。KEEPS ver.3.99も原理は同じですが、より高機能・大型になっていて、手短に説明するのはちょっと難しいのです。
もっとも、詳しい使い方は辞書の中に説明がありますので、読みながら編集していけばよいでしょう。
* * *
「KEEPS」は、こやまあきらさん作の華和梨辞書ファイル形式キットです。中身は、インラインスクリプトをふんだんに使って反応やランダムトークのための下準備をするための辞書ファイルと、各状況での反応文を書き込むための辞書ファイルに分かれています。ユーザーは、後者の反応文記述ファイルを編集して、ゴーストにしゃべらせたい反応文を作り上げます。(動作アルゴリズムに不満のある中・上級者は、インラインスクリプトで書かれた内部構造の部分を改造することができます。)
KEEPSは、次の辞書ファイル群で構成されます。kawari.iniに書き込み、追加登録してください。
Dict-KEEPS.txt : 本体イベント用プログラム済み辞書
Dict-KEEPSp.txt : 「きのこ」「猫どりふ」イベント用プログラム済み辞書
Dict-KEEPSs.txt : パラメータ保存用辞書(ゴースト終了時に自動的に書き替わります。)
Ghost-KEEPS.txt : 本体イベント用スクリプト辞書
Ghost-KEEPSp.txt : 「きのこ」「猫どりふ」イベント用スクリプト辞書
Script-KEEPS.txt : 本体イベント用補助データベース辞書(KEEPS Phase2より)
(きのこや猫どりふについてよく知らない、あるいは反応を用意したくないという人は、Dict-KEEPSp.txtとGhost-KEEPSp.txtを登録する必要はありません。)
ユーザーがいじることのできる部分は、Ghost-KEEPS.txt、Ghost-KEEPSp.txt、Script-KEEPS.txtです。
Ghost-KEEPS.txtとGhost-KEEPSp.txtは、さまざまなイベント(本体が起動した、終了した、などなど)に対する反応文を書き込む辞書です。KEEPS Phase2.00Aでは、中身は次のようになっています。
(前略)
#-------------------------------------
##起動メッセージ
TalkBootupEarlymornig : \1\s[10]\0\s[0]早朝に起動。\e
TalkBootupMorning : \1\s[10]\0\s[0]朝に起動。\e
TalkBootupDay : \1\s[10]\0\s[0]昼に起動。\e
TalkBootupEvening : \1\s[10]\0\s[0]夕方に起動。\e
TalkBootupNight : \1\s[10]\0\s[0]夜に起動。\e
TalkBootupMidnight : \1\s[10]\0\s[0]深夜に起動。\e
#-------------------------------------
##終了メッセージ
TalkCloseEarlymorning : \0\s[0]早朝に終了。
TalkCloseMorning : \0\s[0]朝に終了。
TalkCloseDay : \0\s[0]昼に終了。
TalkCloseEvening : \0\s[0]夕方に終了。
TalkCloseNight : \0\s[0]夜に終了。
TalkCloseMidnight : \0\s[0]深夜に終了。
#-------------------------------------
##最小化から復帰
TalkRestore : \1\s[10]\0\s[0]最小化から復帰しました。\e
#-------------------------------------
##ゴースト切り替え
TalkGhostchanging : \0\s[0]他のゴーストに切り替わります。\w9\e
TalkGhostchanged : \0\s[0]他のゴーストから切り替わりました。\w9\e
#-------------------------------------
(後略)
この赤色の文字で示した、各種反応のためのさくらスクリプトを、ユーザーが自分の好みに合わせて書き換えていくことができます。どういうときに使われる反応文なのかは、サンプルのさくらスクリプトが説明文調になっているので、見ればわかると思います。
当然、文中では華和梨の辞書単語やインラインスクリプトコマンドなど、華和梨の各種機能を利用することができます。
ただしこのとき注意しなければならないのは、さくらスクリプト末の"\e"タグです。最初に用意されているサンプル文は、"\e"をつけているものがほとんどですが、ごく一部つけていないものがあります。これは、付け忘れやはずし忘れではなく、KEEPSの内部処理の関係で「"\e"をつけるとうまく処理できない」部分は"\e"をつけないようにしています。オリジナルの文に書き換えていくときは注意して、サンプルと同じようにしてください。
script-KEEPS.txtは、「何か。(仮)」と通信できる各種アプリケーションからのイベント通知に対する反応のうち、やりとりの仕様の古いものを取り扱うためのファイルです。このファイルだけは華和梨辞書形式ではなく、「何か。(仮)」スクリプトオーバーライド用のファイル形式になっています。(形式は違いますが、このファイルも華和梨辞書ファイルとまったく同じ方法でkawari.iniに書き足して使います)
script-KEEPS.txtの中身は、たとえばKEEPS Phase 2.00Aでは次のようになっています。
(前略)
//SSPスケジュール機能・アイコン
#dataicon@default
その他
#dataicon@event
イベント
#dataicon@meeting
会議/ミーティング
#dataicon@appointment
アポイントメント
#dataicon@reservation
予約
(後略)
赤色の文字の部分が、ユーザーの書き換えていくことのできる部分です。
なお、辞書のファイル形式こそ違いますが、このファイルの中の書き換え可能部分でも、華和梨の辞書単語やインラインスクリプトコマンドなどの機能を利用することが可能です。(処理の過程で1度華和梨を通るので可能になっています)
* * *
このページは、偽Meisterが作成しています。