RestrainedLifeの仕組み

RestrainedLife機能はObjectからのllOwnerSayによって
コントロールされます。
別に体に装備していなくてもObjectのOwnerが
対象者であれば、各種機能をコントロール可能です。
実装時に注意しなければならない点は
機能が永続的な物か(IM禁止とかTP禁止など)
一時的な物か(Outfitの脱衣など)に着目する必要があります。
永続的なコマンドであれば、事前に現在の状態取得と
SIMが変わった(UUIDの変更)場合や、再ログインなどで
ObjectがOnREZ状態にあるとき、設定した状態に戻すため
再度RestrainedLifeコマンドを出力する必要があることです。

簡易コントローラでも作ろうかと
コソコソとLSLを書き始めてみました^^



integer G_CHANNEL = -1234; // dialog channel
integer G_Handle = 0; // dialog handle
list G_Menu_LIST =[
"VERSION","CLOSE"
];
fn_Show_DLG(key AV){
if(!G_Handle) G_Handle = llListen(G_CHANNEL, "", NULL_KEY, "");
llDialog(AV, "TEST", G_Menu_LIST, G_CHANNEL);
llSetTimerEvent(60.0);
}
default
{
state_entry()
{
// llSay(0, "Hello, Avatar!");
}

touch_start(integer total_number)
{
fn_Show_DLG(llDetectedKey(0));
}
timer(){
llSetTimerEvent(0.0);
if(G_Handle){
llListenRemove(G_Handle);
G_Handle=0;
llWhisper(0,"Listen Timeout");
}
}
listen(integer channel, string name, key id, string message){
if(channel != G_CHANNEL) return;
if(message == "VERSION"){
llOwnerSay("@version=0");
fn_Show_DLG(id);
}
if(message == "CLOSE"){
llListenRemove(G_Handle);
G_Handle=0;
llSetTimerEvent(0.0);
}
}
}

2008/03/26

Posted by まゆみ.H
X f B! P L

Search (in blogs)

Featured

今も続くアバターの身長問題。身長=158cmは子供ですか、そーですか。

もともとリアルサイズなアバター故にアジア圏以外が主催のSIMなどでは低身長として扱われることも少なくなかったのですが、さほど気にせず自分の好みの見た目として楽しんでいました。ところが、先日、とあるSIMを訪問した時に「身長が5フィート以下だから子供は帰りなさい」というメッ...

Picks

クリエイティブ・コモンズ・ライセンス

template by QooQ