Listen/ja - Second Life Wiki

Listen/ja

From Second Life Wiki

Jump to: navigation, search

イベント: listen( integer channel, string name, key id, string message ){ ; }

チャットで作動しllListenを有効にして使い、フィルタします。

• integer channel
• string name
• key id
• string message
チャンネル定数 解説
DEBUG_CHANNEL 0x7FFFFFFF チャットチャンネルはスクリプトからデバッグとエラーメッセージを受け取ります
PUBLIC_CHANNEL 0x0 チャットチャンネルは全ての近くのユーザに届きます

注意

  • ステート変更もしくはスクリプトリセット時、全てのlistenは自動で閉じられます。
  • オブジェクトのオーナが変わる時、幾つかのllGetOwnerで登録されたlistenはスクリプトがリセットされるまで自身を自動で更新することはないでしょう。スクリプト製作者は以下の例を通してこの出来事を取得することができます。

オブジェクトオーナからの何らかのチャットを聞き、一度だけ返答する、些細な例です。ラグの削減と周囲のユーザのスパムを回避するため、0以外の広範囲チャンネルから選んでlistenすることと、'/5 hello'のような、選択チャンネル上でのチャットによるlistenイベントで作動することです。

// says beep to owner the first time owner says something in main chat;
integer listen_handle;
 
default
{
    state_entry()
    {   //Registers the listen to the owner of the object at the moment of the call. This does not automatically update when the owner changes.
        // Change 0 to another positive number to listen for '/5 hello' style of chat.
        listen_handle = llListen(0, "", llGetOwner(), "");
    }
    listen( integer channel, string name, key id, string message )
    {
        llOwnerSay("beep");
        // Stop listening until script is reset
        llListenRemove(listen_handle);
    }
    on_rez(integer param)
    {   //Triggered when the object is rezed, like after the object had been sold from a vendor
        llResetScript();//By resetting the script on rez it forces the listen to re-register.
    }
    changed(integer mask)
    {   //Triggered when the object containing this script changes owner.
        if(mask & CHANGED_OWNER)
        {
            llResetScript();
        }
    }
}

関連項目

関数

•  llListen
•  llListenControl
•  llListenRemove
•  llDialog
•  llOwnerSay PUBLIC_CHANNELでのスパムを避けるためオーナのみにチャットを送信します
•  llWhisper 10メートルを限度としてチャットを送信します
•  llSay 20メートルを限度としてチャットを送信します
•  llShout 100メートルを限度としてチャットを送信します
•  llRegionSay 現在のSimを限度としてチャットを送信します