LlRegionSayTo/ja

From Second Life Wiki
< LlRegionSayTo
Revision as of 15:13, 3 March 2016 by Hiko Nino (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

要約

関数: llRegionSayTo( key target, integer channel, string msg );

msg で指定された文字列を、channel で指定された番号のチャネルで、target で指定されたオブジェクトまたはアバターに対して発言します。

• key target 同じ 地域 にある アバター または プリムUUID
• integer channel 出力チャネル、任意の整数
• string msg 送信するメッセージ
チャネル定数 説明
DEBUG_CHANNEL 0x7FFFFFFF スクリプトのデバッグメッセージとエラーメッセージを受け取るチャットチャネル
PUBLIC_CHANNEL 0x0 近くのユーザ全員にブロードキャストされるチャットチャネル

警告

  • 文字列は、スクリプトと同一リージョン内に存在するオブジェクトやアバターに直接届けられます。
  • target 以外のタスク(オブジェクト・アバター)に入っているスクリプトは送信されたメッセージを聞いたり受信したりできません。アタッチメントには後述の例外があります。
  • 送信可能な文字列は最大 1023 バイトです。
  • 再帰にまつわるトラブルを防ぐため、自分自身のプリムの発言は聞けないようになっています。
  • DEBUG_CHANNEL へのテキストの送信には対応していません。
  • チャネル 0 でアバターの ID を指定すると、文字列はビューアに送信されます。
  • 0 以外のチャネルでアバターの ID を指定すると、アバターが装着している全てのアタッチメントに文字列が送信されます。
  • A quick series of messages sent by llRegionSayTo cannot be relied on to arrive at their destination in the same order as sent.
  • There is a per-destination throttle of 200 messages sent over 10 seconds on channel zero. Thereafter, there is also a per-sending-object throttle of 100 messages on channel zero over 300 seconds (5 minutes). This throttle is relevant only after the first throttle is activated. Messages sent on channels other than zero do not trigger the throttle but, once it is triggered, the block applies to all channels. The block is region-wide and applies to all objects with the same owner. The block apparently lasts until the region is restarted.

サンプル

default
{
    touch_start(integer num_detected)
    {
        key id = llDetectedKey(0);

        // アバターのチャットウインドウにメッセージを送信します
        llRegionSayTo(id, 0, "You touched this!");

        // アバターの装着物にメッセージを送ります
        // 装着物はlistenチャンネル-12345で受信します。
        llRegionSayTo(id, -12345, "Hello there attachments!");
    }
}

注意点

  • チャネル 0PUBLIC_CHANNEL です。これはメッセージをどうしてもビューアに送信しなければならない時にだけ使ってください。
  • あるオブジェクトが他のオブジェクトに「発言」する場合(例:タッチしたらランプがつくようなボタン)、絶対値が大きな負の数を使うとよいです。
    llRegionSayTo("55499a64-45c3-4b81-8880-8ffb5a7c251b",-5243212,"turn on");
  • マイナスのチャネルはスクリプトのコミュニケーションで広く使われています。クライアントはこれらのチャネルで直接チャットできないからです ("/-xxxx message" は "message" をチャネル "-xxxx" で発言せず、チャネル 0 で "/-xxxx message" と発言します)。 llTextBox が導入される前、これを行う唯一の方法は llDialog を使う方法でした。これは、一部のサードパーティー製ビューアを除いたビューアでは、文字数が 24 に制限されています。

関連項目

イベント

•  listen チャットを受信します

関数

•  llListen listen イベントを要求します
•  llInstantMessage リージョン内外の特定のユーザにチャットを送ります
•  llOwnerSay PUBLIC_CHANNEL でスパムしないよう、オーナーだけにチャットを送ります
•  llRegionSay 地域全体にチャットを送ります
•  llSay 20 メートルに限定したチャットを送ります
•  llShout 100 メートルに限定したチャットを送ります
•  llWhisper 10 メートルに限定したチャットを送ります

記事

•  Hello Avatar

特記事項

All Issues

~ Search JIRA for related Issues
   llRegionSayTo() Fails to send messages to attachments on sitting avatars

Signature

function void llRegionSayTo( key target, integer channel, string msg );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。