台本コミュニケート仕様書
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
----
*台本コミュニケート仕様書 [#g4212d97]
**受信仕様 [#f3f41907]
台本は、OnCommunicateイベントを使って各ゴーストに送信され...
OnCommunicateイベント例:
GET SHIORI/3.0
Sender: crow
ID: OnCommunicate
Reference0: きぃ
Reference1: \0\s[0]こんにちは。\e
Reference2: ECHO/1.0
Reference3: \0\s[0]きぃちゃん、\w8こんにちは。\e
SecurityLevel: local
Charset: Shift_JIS
Reference2の内容が「ECHO/1.0」である場合、このOnCommunica...
応答例:
SHIORI/3.0 200 OK
Charset: Shift_JIS
Sender: ポスト
Value: \0\s[0]きぃちゃん、\w8こんにちは。\e
Reference0: きぃ
**送信仕様 [#l36fd368]
台本は、ゴースト間コミュニケートを使って送信する。台本コ...
ゴースト間コミュニケート設定例:
SHIORI/3.0 200 OK
Charset: Shift_JIS
Sender: ポスト
Value: \0\s[0]無機物っていいよね。\e
Reference0: きぃ
Reference1: ECHO/1.0
Reference2: \0\s[4]\1\s[10]俺に聞かれてもなー。\e
**送信補助仕様 [#y11bb723]
3体以上のゴーストが関係する台本トークの場合、各ゴーストへ...
***\![ghost,ゴースト名] [#j9cd0c5e]
-このタグから次の\![ghost,ゴースト名]タグまでの範囲は、「...
-ここで言う「ゴースト名」は、\0側の名前を指す。
-行頭にこのタグがない場合、このタグ羅列を送信したゴースト...
-行末にこのタグがない場合、最後に現れた\![ghost,ゴースト...
-「\![ghost]」という略記法を解釈する。タグ羅列を送信した...
-このタグの範囲内末尾に「\e」がない場合、自動的に「\e」を...
使用例:
\0\s[0]餃\![ghost,きぃ]\0\s[0]子\![ghost]\0\s[0]の
\![ghost,きぃ]\0\s[0]王\![ghost,ポスト]\0\s[5]蟲\![ghost...
注: 便宜上2行に分けているが、本来はこれが1行である。
*台本コミュニケート実装サンプル集 [#y2edf6f9]
**里々 [#t7102c57]
***里々における受信仕様の実装例 [#c9f6a1a9]
@台本コミュ識別子
ECHO/1.0
*COMMUNICATE該当なし
>台本コミュニケート受信 【タブ】 (compare,(R2),(...
>COMMUNICATE該当なし通常
*台本コミュニケート受信
$Value0 【タブ】 (R0)
(R3)
***里々における送信仕様の実装例 [#e2c2ba65]
#きぃへの台本コミュニケート
*台本トーク
$Value0 【タブ】 きぃ
$Value1 【タブ】 (台本コミュ識別子)
$Value2 【タブ】 (きぃ台本その1)
:無機物っていいよね。
*きぃ台本その1
:(4)
:(10)俺に聞かれてもなー。
***里々における現実的な送信仕様の実装例 [#d0118b05]
*台本トーク
$Value0 【タブ】 テスト
$Value1 【タブ】 (台本コミュ識別子)
$Value2 【タブ】 (テスト台本1)
:これってアレだよね。
:またそういう危険なことを…。
*テスト台本1
:「アレ」って何だろう……。
:それは国家機密だ。消されたくなければ忘れろ。
:(4)……国家機密?
:国家機密。
*テスト「 それは国家機密だ。
$Value0 【タブ】 テスト
$Value1 【タブ】 (台本コミュ識別子)
$Value2 【タブ】 (テスト台本2)
:なんか勝手にえらいことになってる~
:……マテ。お前、知らずに言っていたのか?
:ちょっと待って!本当なの!?
*テスト台本2
:いつの間にあなた達、国家機密なんか知ったのよ?
:お互いの製造元だからな。
:(4)……製造元?
:製造元。
*テスト「 お互いの製造元だからな。
:人が作ったものだったんだ……。
私はてっきり、その辺から生えてきたんだとばかり。
:ちょっと待てコラ。
**文 [#nca34ec3]
***文における受信仕様の実装例 [#r766479f]
OnCommunicate
{
if reference2 == "ECHO/1.0"
{
if "\![vanishbymyself]" !_in_ reference3
{
//---拡張コミュニケート(受信)
res_reference0 = reference0
reference3
}
}
else
{
if reference0 == "user" || reference0 == "User"
{
//---- ユーザーからの話しかけ
ReplyToUser
}
else
{
//---- ゴーストからの話しかけ
ReplyToGhost
}
}
}
***文における送信仕様の実装例 [#t89582c6]
ScriptTalk
{
res_reference0 = "きぃ"
res_reference1 = "ECHO/1.0"
res_reference2 = KeyScriptNo1
"\0\s[0]無機物っていいよね。\e"
}
KeyScriptNo1
{
"\0\s[4]\1\s[10]俺に聞かれてもなー。\e"
}
**華和梨(OpenKEEPS) [#f2426348]
***OpenKEEPSにおける受信仕様の実装例 [#y4a4c402]
台本コミュ識別子 : "ECHO/1.0"
event.OnCommunicate : $(
# 話し掛けてきた相手とメッセージをユーザに提示
.setstr Sender $(SReference 0);
.setstr Message $(Reference 1);
# デフォルトでは話し掛けてきた相手に自動的に返事
SendTo ${Sender};
# コミュニケートツリーから該当するトークを検索
.setstr @aistr $(
if $[ $(SReference 2) == ${台本コミュ識別子} ] $(
# 台本コミュニケートだった
.setstr EchoMessage $(SReference 3);
.setstr @null $(.get $(EntryName "TalkCommEc...
.pop EchoMessage;
) else $(
# 通常コミュニケートだった
CommTalk "TalkComm" $(StringNormalize ${Send...
);
);
if $[ $(length ${@aistr}) != 0 ] $(
# 該当トークがあった
resetTalkcount;
.setstr kp.internaltalkflag 1;
.entry @aistr;
) else $(
# 該当無し
StopCommunicate;
#話さないならフラグは消す
.clear kp.internaltalkflag;
);
.clear Sender;
.clear Message;
)
***OpenKEEPSにおける送信仕様の実装例 [#w4f071ff]
# きぃへの台本コミュニケート
sentence : \0\s[0]無機物っていいよね。\e$(
SendTo きぃ;
setstr System.Response.Reference1 ${台本コミュ識別子};
setstr System.Response.Reference2 ${きぃ台本その1};
)
きぃ台本その1 : \0\s[4]\1\s[10]俺に聞かれてもなー。\e
終了行:
#contents
----
*台本コミュニケート仕様書 [#g4212d97]
**受信仕様 [#f3f41907]
台本は、OnCommunicateイベントを使って各ゴーストに送信され...
OnCommunicateイベント例:
GET SHIORI/3.0
Sender: crow
ID: OnCommunicate
Reference0: きぃ
Reference1: \0\s[0]こんにちは。\e
Reference2: ECHO/1.0
Reference3: \0\s[0]きぃちゃん、\w8こんにちは。\e
SecurityLevel: local
Charset: Shift_JIS
Reference2の内容が「ECHO/1.0」である場合、このOnCommunica...
応答例:
SHIORI/3.0 200 OK
Charset: Shift_JIS
Sender: ポスト
Value: \0\s[0]きぃちゃん、\w8こんにちは。\e
Reference0: きぃ
**送信仕様 [#l36fd368]
台本は、ゴースト間コミュニケートを使って送信する。台本コ...
ゴースト間コミュニケート設定例:
SHIORI/3.0 200 OK
Charset: Shift_JIS
Sender: ポスト
Value: \0\s[0]無機物っていいよね。\e
Reference0: きぃ
Reference1: ECHO/1.0
Reference2: \0\s[4]\1\s[10]俺に聞かれてもなー。\e
**送信補助仕様 [#y11bb723]
3体以上のゴーストが関係する台本トークの場合、各ゴーストへ...
***\![ghost,ゴースト名] [#j9cd0c5e]
-このタグから次の\![ghost,ゴースト名]タグまでの範囲は、「...
-ここで言う「ゴースト名」は、\0側の名前を指す。
-行頭にこのタグがない場合、このタグ羅列を送信したゴースト...
-行末にこのタグがない場合、最後に現れた\![ghost,ゴースト...
-「\![ghost]」という略記法を解釈する。タグ羅列を送信した...
-このタグの範囲内末尾に「\e」がない場合、自動的に「\e」を...
使用例:
\0\s[0]餃\![ghost,きぃ]\0\s[0]子\![ghost]\0\s[0]の
\![ghost,きぃ]\0\s[0]王\![ghost,ポスト]\0\s[5]蟲\![ghost...
注: 便宜上2行に分けているが、本来はこれが1行である。
*台本コミュニケート実装サンプル集 [#y2edf6f9]
**里々 [#t7102c57]
***里々における受信仕様の実装例 [#c9f6a1a9]
@台本コミュ識別子
ECHO/1.0
*COMMUNICATE該当なし
>台本コミュニケート受信 【タブ】 (compare,(R2),(...
>COMMUNICATE該当なし通常
*台本コミュニケート受信
$Value0 【タブ】 (R0)
(R3)
***里々における送信仕様の実装例 [#e2c2ba65]
#きぃへの台本コミュニケート
*台本トーク
$Value0 【タブ】 きぃ
$Value1 【タブ】 (台本コミュ識別子)
$Value2 【タブ】 (きぃ台本その1)
:無機物っていいよね。
*きぃ台本その1
:(4)
:(10)俺に聞かれてもなー。
***里々における現実的な送信仕様の実装例 [#d0118b05]
*台本トーク
$Value0 【タブ】 テスト
$Value1 【タブ】 (台本コミュ識別子)
$Value2 【タブ】 (テスト台本1)
:これってアレだよね。
:またそういう危険なことを…。
*テスト台本1
:「アレ」って何だろう……。
:それは国家機密だ。消されたくなければ忘れろ。
:(4)……国家機密?
:国家機密。
*テスト「 それは国家機密だ。
$Value0 【タブ】 テスト
$Value1 【タブ】 (台本コミュ識別子)
$Value2 【タブ】 (テスト台本2)
:なんか勝手にえらいことになってる~
:……マテ。お前、知らずに言っていたのか?
:ちょっと待って!本当なの!?
*テスト台本2
:いつの間にあなた達、国家機密なんか知ったのよ?
:お互いの製造元だからな。
:(4)……製造元?
:製造元。
*テスト「 お互いの製造元だからな。
:人が作ったものだったんだ……。
私はてっきり、その辺から生えてきたんだとばかり。
:ちょっと待てコラ。
**文 [#nca34ec3]
***文における受信仕様の実装例 [#r766479f]
OnCommunicate
{
if reference2 == "ECHO/1.0"
{
if "\![vanishbymyself]" !_in_ reference3
{
//---拡張コミュニケート(受信)
res_reference0 = reference0
reference3
}
}
else
{
if reference0 == "user" || reference0 == "User"
{
//---- ユーザーからの話しかけ
ReplyToUser
}
else
{
//---- ゴーストからの話しかけ
ReplyToGhost
}
}
}
***文における送信仕様の実装例 [#t89582c6]
ScriptTalk
{
res_reference0 = "きぃ"
res_reference1 = "ECHO/1.0"
res_reference2 = KeyScriptNo1
"\0\s[0]無機物っていいよね。\e"
}
KeyScriptNo1
{
"\0\s[4]\1\s[10]俺に聞かれてもなー。\e"
}
**華和梨(OpenKEEPS) [#f2426348]
***OpenKEEPSにおける受信仕様の実装例 [#y4a4c402]
台本コミュ識別子 : "ECHO/1.0"
event.OnCommunicate : $(
# 話し掛けてきた相手とメッセージをユーザに提示
.setstr Sender $(SReference 0);
.setstr Message $(Reference 1);
# デフォルトでは話し掛けてきた相手に自動的に返事
SendTo ${Sender};
# コミュニケートツリーから該当するトークを検索
.setstr @aistr $(
if $[ $(SReference 2) == ${台本コミュ識別子} ] $(
# 台本コミュニケートだった
.setstr EchoMessage $(SReference 3);
.setstr @null $(.get $(EntryName "TalkCommEc...
.pop EchoMessage;
) else $(
# 通常コミュニケートだった
CommTalk "TalkComm" $(StringNormalize ${Send...
);
);
if $[ $(length ${@aistr}) != 0 ] $(
# 該当トークがあった
resetTalkcount;
.setstr kp.internaltalkflag 1;
.entry @aistr;
) else $(
# 該当無し
StopCommunicate;
#話さないならフラグは消す
.clear kp.internaltalkflag;
);
.clear Sender;
.clear Message;
)
***OpenKEEPSにおける送信仕様の実装例 [#w4f071ff]
# きぃへの台本コミュニケート
sentence : \0\s[0]無機物っていいよね。\e$(
SendTo きぃ;
setstr System.Response.Reference1 ${台本コミュ識別子};
setstr System.Response.Reference2 ${きぃ台本その1};
)
きぃ台本その1 : \0\s[4]\1\s[10]俺に聞かれてもなー。\e
ページ名: