Site search
2008年8月9日土曜日
オンライン状態を表示するスクリプト
今回はアバターがオンラインかどうかのステータスを表示するスクリプトです。オンラインボード(オンラインステータスボード)やチップジャーなんかによく組み込まれてるものですね。うちの製品にもボードタイプのオンラインインジケータがあります^^
仕組みは簡単で、llRequestAgentDataを使ってタイマーで定期的に DATA_ONLINE を調べて結果を表示すればOKです。
2つ前の記事ご覧になられた方は、あっ!て思うでしょうかね^^ ええ、これアバターのキーを名前に変換するスクリプトでコメント頂きました関数なんですw この関数はやっぱり用途としてはこっちのほうがよく使われるかなってことで早速記事にしました^^;
仕組みは簡単で、llRequestAgentDataを使ってタイマーで定期的に DATA_ONLINE を調べて結果を表示すればOKです。
2つ前の記事ご覧になられた方は、あっ!て思うでしょうかね^^ ええ、これアバターのキーを名前に変換するスクリプトでコメント頂きました関数なんですw この関数はやっぱり用途としてはこっちのほうがよく使われるかなってことで早速記事にしました^^;
// オンライン表示
key query;
key av;
string name;
default
{
state_entry()
{
av=llGetOwner(); // オーナーのキー
name=llKey2Name(av); // オーナーがいる間にアバター名に変換しとく
llSetTimerEvent(1); // 最初は1秒後にチェック
}
on_rez(integer start_param)
{ // Rezのときリセット
llResetScript();
}
timer()
{
llSetTimerEvent(30); // 30秒毎にタイマー動かしてチェック
query=llRequestAgentData(av,DATA_ONLINE); // データ問い合わせ
}
dataserver(key id, string data)
{
if (id == query) {
string str=name+" は";
if ((integer)data) { // データがTRUEなら
str+="オンラインです";
}
else { // そうでないとき
str+="オフラインです";
}
llSetText(str,<1,1,1>,1.0); // フローティングテキストで表示
}
}
}
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿