b8cc58e2.jpgチャットで喋った内容に合わせた動きをアバターがする様にする
スクリプトを作ってみました
 
(例1)「こんにちは」とか「こんばんは」とチャットすると、アバターが手を振る
(例2)「はい」とか「〜ですね」とチャットすると、うなずく動作をする
(例3)「いえ」とか「いいえ」とチャットすると、首を振る動作をする
など

(作り方)
1、適当な箱のプリムを作ったら、添付先をを
Stomack(胃)とかSpine(背骨)とかにして装着し、位置を修正する
(見えなくしちゃうので、どこでもいいんですが、私は頭の上にしました)

2、スクリプトを作成して、デフォルトのスクリプトは削除した上で
下記のスクリプトをコピペする

(※)尚、判断させたい言葉はどんどん増えると思いますが
ifブロックを増やしていけばいくらでも反応するキーワードを増やせます

LSLではプログラムソース上の日本語入力に特殊なテクニックが必要になりますが
ソース上で日本語文字列を使いたい場合は、下記URLなどで変換した物を
使えばいいそうです

セカンドライフLSL 日本語変換
http://ryus.co.jp/mini/text2utf8url.php

また、アニメーションさせるデフォルトアニメの一覧は
(英語サイトですが)公式サイトに一覧が載ってます
http://rpgstats.com/wiki/index.php?title=Animation

(スクリプトのソース)
integer LHandle;

default
{
state_entry()
{
llSetLinkAlpha(LINK_SET,0.0,ALL_SIDES);
}

attach(key keyuser)
{
if(keyuser != NULL_KEY)
{
llRequestPermissions(keyuser,PERMISSION_TRIGGER_ANIMATION);
LHandle=llListen(0,"",keyuser,"");
}
}

listen(integer channel,string name,key id,string msg)
{
integer index;
string chkstr;

//こんにちは konnitiwa
chkstr=llUnescapeURL("%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF");
index=llSubStringIndex(msg,chkstr);
if(index != -1)
{
llStartAnimation("hello");
return;
}

//こんばん konban
chkstr=llUnescapeURL("%E3%81%93%E3%82%93%E3%81%B0%E3%82%93");
index=llSubStringIndex(msg,chkstr);
if(index != -1)
{
llStartAnimation("hello");
return;
}

//はじめまして hajimemasite
chkstr=llUnescapeURL("%E3%81%AF%E3%81%98%E3%82%81%E3%81%BE%E3%81%97%E3%81%A6");
index=llSubStringIndex(msg,chkstr);
if(index != -1)
{
llStartAnimation("bow");
return;
}

//ですね desune
chkstr=llUnescapeURL("%E3%81%A7%E3%81%99%E3%81%AD");
index=llSubStringIndex(msg,chkstr);
if(index != -1)
{
llStartAnimation("yes_head");
return;
}

//うん un
chkstr=llUnescapeURL("%E3%81%86%E3%82%93");
index=llSubStringIndex(msg,chkstr);
if(index != -1)
{
llStartAnimation("yes_head");
return;
}

//なるほど naruhodo
chkstr=llUnescapeURL("%E3%81%AA%E3%82%8B%E3%81%BB%E3%81%A9");
index=llSubStringIndex(msg,chkstr);
if(index != -1)
{
llStartAnimation("yes_head");
return;
}

//うむ umu
chkstr=llUnescapeURL("%E3%81%86%E3%82%80");
index=llSubStringIndex(msg,chkstr);
if(index != -1)
{
llStartAnimation("yes_head");
return;
}

//いえ ie
chkstr=llUnescapeURL("%E3%81%84%E3%81%88");
index=llSubStringIndex(msg,chkstr);
if(index != -1)
{
llStartAnimation("no_head");
return;
}

//いや iya
chkstr=llUnescapeURL("%E3%81%84%E3%82%84");
index=llSubStringIndex(msg,chkstr);
if(index != -1)
{
llStartAnimation("no_head");
return;
}

//はい hai
chkstr=llUnescapeURL("%E3%81%AF%E3%81%84");
index=llSubStringIndex(msg,chkstr);
if(index != -1)
{
llStartAnimation("yes_head");
return;
}

// //
// chkstr=
// index=llSubStringIndex(msg,chkstr);
// if(index != -1)
// {
// llStartAnimation("");
// return;
// }



}
}