Listen/ja

From Second Life Wiki
< Listen
Revision as of 03:41, 17 April 2008 by Asuka Neely (talk | contribs)
Jump to navigation Jump to 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イベントで作動することです。 <lsl>// 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();
       }
   }

}</lsl>

参考情報

関数

•  llListen
•  llListenControl
•  llListenRemove
•  llDialog
•  llOwnerSay PUBLIC_CHANNELでのスパムを避けるためオーナのみにチャットを送信します
•  llWhisper 10メートルを限度としてチャットを送信します
•  llSay 20メートルを限度としてチャットを送信します
•  llShout 100メートルを限度としてチャットを送信します
•  llRegionSay 現在のSimを限度としてチャットを送信します
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。