対ユーザーインターフェース用ゴースト「それはあなたです!」に関する仕様書。

目次

ゴースト概要

やってること

関連URL

こんなことができます・こんなメリットがあります

こんなことはできません・こんなデメリットがあります

どんなことも、うまい話だけ、なんてことはない訳で……

テクニカルリファレンス

組み込み済みキーワード

キーワードトークID
おはよう!DEFAULT_TALK_000
こんにちは!DEFAULT_TALK_001
こんばんは!DEFAULT_TALK_002
おやすみ!DEFAULT_TALK_003
元気?DEFAULT_TALK_004
行ってきますDEFAULT_TALK_005
ただいま~DEFAULT_TALK_006
可愛いね!DEFAULT_TALK_007
大好き!DEFAULT_TALK_008
綺麗だね!DEFAULT_TALK_009
愛してるよ!DEFAULT_TALK_010
結婚して!DEFAULT_TALK_011
なでなでDEFAULT_TALK_012
つんつんDEFAULT_TALK_013
ぎゅ~DEFAULT_TALK_014
さわさわDEFAULT_TALK_015
もみもみDEFAULT_TALK_016
ちゅっちゅDEFAULT_TALK_017
うるさいDEFAULT_TALK_018
黙れDEFAULT_TALK_019
帰れDEFAULT_TALK_020

設定ファイルによるカスタマイズ

ゴースト側で対応させるには?

各SHIORI用のサンプル辞書

このサンプルを参考に、それぞれのゴースト用の反応を記述してください。

「それはあなたです!」からゴーストに通知されるゴースト名は?

%username

「それはあなたです!」からゴーストに通知されるコミュニケートスクリプトの書式

\t\_q###<<呼びかけ内容>>###\c\_q\1\s[10]\0\s[0]<<ゴースト名>>、<<呼びかけ内容>>。\e
実際の例:よしのに向けて「おはよう!」と呼びかけた場合
\t\_q###DEFAULT_TALK_000:おはよう!###\c\_q\1\s[10]\0\s[0]よしの、\_w[150]おはよう!\e

台本コミュニケートへの対応

\q[選択肢のキャプション,OnDaihonCommunicateExecute,「それはあなたです!」に喋らせたい内容(,トークID)]
YAYAで実装した場合の例
//reference[2]に素直に列挙する際のサンプル
res_reference[0] = '%username';
res_reference[1] = 'ECHO/1.0';
res_reference[2] = '\1\s[10]\0\s[0]\_q\![*]\q[おっぱいが触ってくれって言ってたんでね,OnDaihonCommunicateExecute,おっぱいが触ってくれって言ってたんでね,1]\n/
\![*]\q[ふとももが触ってくれって言ってたんでね,OnDaihonCommunicateExecute,ふとももが触ってくれって言ってたんでね,1]\n/
\![*]\q[おしりが触ってくれって言ってたんでね,OnDaihonCommunicateExecute,おしりが触ってくれって言ってたんでね,1]\n/
\![*]\q[ごめんね、もうしないよ,OnDaihonCommunicateExecute,ごめんね、もうしないよ,0]\n\n\![*]\q[会話を打ち切る,nop]\e';
 '\t\1\s[10]\0\s[2]ひゃっ!!!?\s[9]ど、どこ触ってんだよバカっ!!!\e';

台本コミュニケートを使用したときの返信

\_q###(トークID):(喋らせたい内容)###\c\_q\1\s[10]\0\s[0](喋らせたい内容)。\e
例:上記の例で「ごめんね、もうしないよ」を選択した場合の返信。自動ウェイトの影響でヘッダー部分と表示部分で内容が異なっていることに注意。
\t\_q###0:ごめんね、もうしないよ###\c\_q\1\s[10]\0\s[0]ごめんね、\_w[150]もうしないよ。\e

いちいち選択肢を書くのが面倒な人向けの手抜き記述仕様

はっきり言って、\q[~~]を何個も書き並べるのは面倒です。なので、手抜きできる方法を用意してみました。 クリプトに組み込んであります。

<<選択肢のキャプション=「それはあなたです!」が喋る内容>>###<<トークID(省略可)>>

で、これをカンマ区切りで列挙します。キャプションとトークIDの区切りは、半角シャープ(#)3つです。
トークIDは省略可能です。

YAYAで実装した場合の例。「トークIDあり」バージョン
//トークID付きでreference[3]~に列挙するサンプル(受け取り側ではreference[4]~)
res_reference[0] = '%username';
res_reference[1] = 'ECHO/1.0';
res_reference[3] = '巨乳は揉まれるために存在してるんだよ?###2,いい揉み心地でした♪###2,え?揉んだのは肩だよ?###3,ごめんね、もうしないよ###0';
res_reference[4] = '会話を打ち切る';
res_reference[6] = 15000;	//15秒後にタイムアウト
'\t\1\s[10]\0\s[2]ひゃうっ!!?\s[9]い、いきなり何すんだよっ!!!\e';
YAYAで実装した場合の例。「トークIDなし」バージョン
//トークIDなしでreference[3]~に列挙するサンプル(受け取り側ではreference[4]~)
res_reference[0] = '%username';
res_reference[1] = 'ECHO/1.0';
res_reference[3] = 'ほっぺがぷにぷにしてそうだったからね~♪,おなかがぷにぷにしてそうだったからね~♪,ごめんごめん、悪気はなかったんだ';
res_reference[4] = '会話を打ち切る';
res_reference[6] = 15000;	//15秒後にタイムアウト
"\t\1\s[10]\0\s[2]ふえっ!!?\s[4]い、いきなり突っつくなよう。\e";

インプットボックスを使う

YAYAで実装した場合の例。
On_名前覚え
{
	//インプットボックスを「それはあなたです!」に丸投げするサンプル。今回は名前覚え。
	//インプットボックスを開くタグのref0に、トークIDをセットして、戻り値で使用する。
	//メニューなどからこの関数を呼び出してください。必要なら、「それはあなたです!」に「名前覚えて」アクションを追加します。
	//この例では、reference[6]のタイムアウトの指定を省略している(=タイムアウトしない)
	res_reference[0] = '%username';
	res_reference[1] = 'ECHO/1.0';
	res_reference[4] = username;
	res_reference[5] = "インプットボックスに、%(selfname)に呼ばせたい名前を入力してください。";
	res_reference[7] = 'NAME_INPUT';
	'\t\1\s[10]\0\s[0]ん、じゃ、名前を入力してね。\1敬称込みで頼むで。\e';
}

選択肢やインプットボックスを出すときに、具体的に質問や説明を書けたら便利かも?

という訳で、reference[5]に設定した物を、選択肢の前に表示するようにしました。reference[5]を省略すると、いきなり選択肢が表示されます。

YAYAで実装した場合の例
On_すごく○○です
{	//ランダムトーク中にユーザに話しかけるサンプル。
	//ランダムトーク内で発動することを想定しています。
	//ランダムトーク内で発動させる場合は、'\![raise,<<イベント名>>]\e'で発動。イベント名はOn~で始まっている必要があります。
	if ('%username' _in_ ghostexlist) {
		//起動中ゴーストの中に「それはあなたです!」がいたら、台本コミュニケート発動。
		res_reference[0] = '%username';
		res_reference[1] = 'ECHO/1.0';
		res_reference[3] = 'すごく…大きいです。###すごく大きいです,すごく…小さいです。###すごく小さいです';
		res_reference[4] = 'アッー!!?';
		res_reference[5] = "\_q%(username)、%(selfname)を見てくれ。こいつをどう思う?\_q";
		res_reference[6] = 15000;	//15秒後にタイムアウト
		"\t\0\s[60]\1\s[10]なあ%(username)、隣のやつを見てくれ。\0ん?\1\n[150]\s[11]こいつを、どう思う?\0\n[150]\s[4]ちょっと待て。\e";
	} else {
		RandomTalkMain;
	}
}

実行イメージ(選択肢の前に、reference[5]で指定したキャプションが表示されている)

caption_sample.png

使用できない文字

"'#$&()*+,-/:;<=>?@[]`{|}~

reference[3]、reference[4]、reference[7]では、上記の文字は使用できません。仮に使用しても'_'(アンダースコア)に置換されますのでご注意ください(デリミタとして使用される'###'と','を除く)。
また、\![vanishbymyself]などの"危険な"タグはエスケープされます。

リファレンスの優先順位

優先順位リファレンス内容
reference[7]インプットボックス
reference[3]かんたん選択肢書式
reference[2]普通の台本コミュニケート書式

つまり、reference[2]やreference[3]を記述していても、reference[7]が記述されているとその内容は無視されます。

台本コミュニケートまとめ

リファレンス番号内容優先度説明備考
記述時実行時
00%username-スクリプトの宛先「それはあなたです!」の\0名(%username)を指定してください
-1ゴーストが喋ったスクリプト-送信元ゴーストが喋ったスクリプト自動的に追加されます*1
12ECHO/1.0-台本コミュニケート識別子省略不可。必ずこの通りに記述して下さい。
詳しくは台本コミュニケート仕様書参照
23「それはあなたです!」に表示させたいスクリプト3「それはあなたです!」のバルーンに表示したい内容を、さくらスクリプトで記述します。reference[3]が設定されていた場合は無視されます*2
34列挙された選択肢の項目2「それはあなたです!」で表示したい選択肢の項目を、カンマ区切りで列挙します
45「キャンセル」のキャプション
インプットボックスのデフォルト文字列
-「キャンセル」ボタンに表示したい文字列を設定します。
reference[8]が指定されている場合は、インプットボックスのデフォルト文字列を指定します。
省略可。
省略した場合は、ボタンには「キャンセル」と表示されます。
インプットボックスは未入力状態になります。
56選択肢の前に表示される文章-選択肢やインプットボックスの前に表示したい文章を指定します
(選択肢に対する説明など)。
省略可
さくらスクリプト使用可
67タイムアウト-選択肢やインプットボックスのタイムアウトを指定します(単位:ミリ秒)省略可*3
78インプットボックスを表示させる場合のトークID1インプットボックスで入力が行われると、ここで設定した値をトークIDとして、
入力内容をキーワードとして返します。名前覚えなどに利用できます。

その他

こんなときは

※設定ファイルの書き方については、#設定ファイルによるカスタマイズを参考にして下さい。

バグかな?と思ったら


*1 この後のリファレンス番号が1つずつずれるので、送信時の設定はご注意ください。
*2 reference[3]が省略されると、reference[2]の内容が表示されます。その際、reference[4]とreference[5]の値は無視されます
*3 省略したり整数以外の数値が指定されたりマイナス数値が指定された場合は、タイムアウトしない設定になります。

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS