LlSay/ja

From Second Life Wiki
< LlSay
Revision as of 14:52, 12 May 2016 by Mayumi Hirano (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

要約

関数: llSay( integer channel, string msg );

msg で指定された内容を channel で指定されたチャネルで発言します。

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

警告

  • チャンネルゼロおよびデバッグチャネル上で送信されるメッセージは、所有者/ユーザーごと、地域ごとに、200/10秒のレートに制限されます。
  • 制限レートを越えると送信頻度が200/10秒未満に戻るまでチャンネルゼロおよびデバッグチャネル上で送信されるメッセージは削除されます。
  • 発言されたテキストは、 (ルートプリムでなく) 発言元プリムから 20 メートル以内でのみ拾うことができます。これは listen の動作と反対です。つまり、ルートプリムが拾うことができれば、ルートプリムが拾うことのできる場合のみ、メッセージはオブジェクトの中の他のプリムでも拾うことができます。
  • テキストは 1024 バイトが最大です。(文字数の場合ASCII文字で1024文字、漢字などUTF-8では512文字)
  • プリムは自分自身の発言を聞き取れません。これは再帰処理にまつわる問題を防ぐためです。

サンプル

default
{
    state_entry()
    {
        llSay(PUBLIC_CHANNEL, "あっ、どうも!今日はー");
    }
}
オブジェクトが周囲にスパムとなるのを防ぐため、 llOwnerSayllInstantMessage を使いましょう。

注意点

  • チャンネル 0PUBLIC_CHANNEL です。このチャンネルで伝達されたチャットはみんな聞くことができます。他のチャンネルはみなプライベートチャンネル (DEBUG_CHANNEL 以外は、ユーザには送られない) です。
  • デバッグ用には、 、 、DEBUG_CHANNEL を使用することを検討してください。 DEBUG_CHANNELchannel に指定されると、スクリプトは msg をスクリプト警告/エラー・ウィンドウに発言します。
  • あるオブジェクトが他のオブジェクトに何かを「発言」するときは (例えば、ボタンがタッチされたとき、ランプがオンになる) 、大きなマイナス域のチャンネルを使うのはいい案です。
    llSay(-5243212,"turn on");

マイナスのチャンネルはスクリプトのコミュニケーションで広く使われています。クライアントはこれらのチャンネルで直接チャットできないからです ("/-xxxx message" は "message" をチャネル "-xxxx" で発言せず、チャンネル 0 で "/-xxxx message" と発言します)。 llTextBox が導入される前、これを行う唯一の方法は、24 バイトまでの制限で llDialog を使う方法でした。

関連項目

イベント

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

関数

•  llListen listen イベントを要求します
•  llInstantMessage PUBLIC_CHANNEL でスパムしないよう、オーナー (や他のユーザ) にのみチャットを送ります
•  llOwnerSay PUBLIC_CHANNEL でスパムしないよう、オーナーだけにチャットを送ります
•  llRegionSay 地域全体にチャットを送ります
•  llRegionSayTo 特定のアバターやオブジェクトに限定し地域全体の範囲でチャットを送ります
•  llShout 100 メートルに限定したチャットを送ります
•  llWhisper 10 メートルに限定したチャットを送ります

記事

•  Hello Avatar

特記事項

Search JIRA for related Issues

Signature

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