Difference between revisions of "LlRegionSay/ja"

From Second Life Wiki
Jump to: navigation, search
m (Undo revision 848872 by Mako Nozaki (Talk))
Line 1: Line 1:
{{LSL_Function/ja
+
{{LSL_Function/chat/ja|channel|msg|np=*}}{{LSL_Function/ja
 
|func_id=331
 
|func_id=331
 
|func_sleep=0.0
 
|func_sleep=0.0
 
|func_energy=10.0
 
|func_energy=10.0
 
|func=llRegionSay
 
|func=llRegionSay
|p1_type=integer|p1_name=channel|p1_desc=いずれかの0以外のinteger値。
+
|p1_type=integer|p1_name=channel|p1_desc
|p2_type=string|p2_name=msg|p2_desc=送信されるメッセージ。
+
|p2_type=string|p2_name=msg|p2_desc
|func_desc=チャンネルナンバー'''channel'''上で、スクリプトの[[listen/ja|listen]]によって、[[region/ja|リージョン]]内でどこでも聞かれるであろう、stringの'''msg'''を発言します。
+
|func_desc=スクリプトを使えば [[region/ja|地域]] のどこにいても聞けるように、チャネル番号 '''channel''' で文字列 '''msg''' を発言します。
|func_footnote=プリムの場所にかかわらず、メッセージはリージョン境界を越えていくことはないでしょう。
+
|func_footnote=プリムの場所にかかわらず、メッセージがリージョン境界を越えて伝わることはありません。
 
|return_text
 
|return_text
 
|spec
 
|spec
|constants={{LSL Constants/Chat/ja|mode=no_public}}
+
|constants
|caveats=*この関数は{{LSL Const|PUBLIC_CHANNEL|integer|0|パブリックチャンネル}}上では実行できませんが、デザインの仕様上とバグをなくすためです。
+
|caveats=*この関数は {{#var:PUBLIC_CHANNEL}} でメッセージを伝達することができませんが、これは仕様であって、バグではありません。
*'''msg'''が1023byteよりも長い場合、1023byteに切り捨てられます。
+
*'''msg''' が 1023 バイトよりも長い場合、1023 バイトに切り捨てられます。
*プリム自身は聞き取れず、再起問題の防止となっています。
+
*プリムは自分自身の発言を聞き取れ '''ません''' 。これは再帰処理まつわる問題を防ぐためです。
 
|examples=<lsl>default
 
|examples=<lsl>default
 
{
 
{
Line 21: Line 21:
 
     }
 
     }
 
}</lsl>
 
}</lsl>
オブジェクトが周囲へのスパムとなるのを避けるため、[[llOwnerSay/ja|llOwnerSay]][[llInstantMessage/ja|llInstantMessage]]を使いましょう。
+
ェクトが周囲へのスパムとなるのを避けるため、 {{LSLG/ja|llOwnerSay}} {{LSLG/ja|llInstantMessage}} を使いましょう。
 
|helpers
 
|helpers
 
|also_events=
 
|also_events=
{{LSL DefineRow||[[listen/ja|listen]]|}}
+
{{LSL DefineRow||{{LSLG/ja|listen}}|}}
 
|also_functions=
 
|also_functions=
{{LSL DefineRow||[[llListen/ja|llListen]]|}}
+
{{LSL DefineRow||{{LSLG/ja|llListen}}|}}
{{LSL DefineRow||[[llOwnerSay/ja|llOwnerSay]]|オーナにのみチャットを送信します}}
+
{{LSL DefineRow||{{LSLG/ja|llOwnerSay}}|オーナーだけにチャットを送ります}}
{{LSL DefineRow||[[llWhisper/ja|llWhisper]]|10メートルを限度にチャットを送信します}}
+
{{LSL DefineRow||{{LSLG/ja|llWhisper}}|10 メートルに限定したチャットを送ります}}
{{LSL DefineRow||[[llSay/ja|llSay]]|20メートルを限度にチャットを送信します}}
+
{{LSL DefineRow||{{LSLG/ja|llSay}}|20 メートルに限定したチャットを送ります}}
{{LSL DefineRow||[[llShout/ja|llShout]]|100メートルを限度にチャットを送信します}}
+
{{LSL DefineRow||{{LSLG/ja|llShout}}|100 メートルに限定したチャットを送ります}}
{{LSL DefineRow||[[llInstantMessage/ja|llInstantMessage]]|}}
+
{{LSL DefineRow||{{LSLG/ja|llInstantMessage}}|}}
 +
{{LSL DefineRow||{{LSLG/ja|llDialog}}|}}
 +
{{LSL DefineRow||{{LSLG/ja|llTextBox}}|}}
 
|also_tests
 
|also_tests
 
|also_articles
 
|also_articles
|notes=一つのオブジェクトが他のオブジェクトに何か'発言する'場合(例えば、ボタンがタッチされたとき、ランプがオンになる)、大きなマイナス域のチャンネルを使うのはいい案です。例
+
|notes=一つのオブジェクトが他のオブジェクトに何か「発言する」場合 (例えば、ボタンがタッチされたとき、ランプがオンになる) 、大きなマイナス域のチャンネルを使うのはいい案です。例えば、
 
<lsl>    llRegionSay(-5243212,"turn on");</lsl>
 
<lsl>    llRegionSay(-5243212,"turn on");</lsl>
アバタがマイナス域のチャンネル上でチャットをするのは不可能で、何らかのほかのオブジェクトが、そのようなチャンネル上で偶然何かを発言してしまうことは滅多にありえません。(もちろん、メッセージのあて先がこのチャンネル上で'listen'を設定しなければならないでしょう。)
+
マイナスのチャネルはスクリプトのコミュニケーションで広くつかわれています。クライアントはこれらのチャネルで直接チャットできないからです ("/-xxxx message" は "message" をチャネル "-xxxx" で発言せず、チャネル 0 で "/-xxxx message" と発言します){{LSLG/ja|llTextBox}} が導入される前、これを行う唯一の方法は、24 バイトまでの制限で {{LSLG/ja|llDialog}} を使う方法でした。
{{LSL Const/ja|DEBUG_CHANNEL|integer|hex=0x7FFFFFFF}}がチャンネルで用いられている場合、スクリプトはScript Warning/Errorウィンドウにて'''msg'''を発言するでしょう。
+
 
* 1.18.3より、{{LSL Const/ja|DEBUG_CHANNEL|integer|hex=0x7FFFFFFF}}でllRagionSayを使うと、チャンネル0上で、100mの範囲で包み込んで表示します。
+
{{#var:DEBUG_CHANNEL}} が '''channel''' に指定されると、スクリプトは '''msg''' をスクリプト警告/エラー・ウィンドウに発言します。
|history=SL 1.16.0で実装
+
 
 +
* 1.18.3より、 {{#var:DEBUG_CHANNEL}} で llRagionSay を使うと、チャネルカウンタが巻き戻ってチャネル 0 で表示され、100 m の範囲となります。
 +
|history=
 +
*SL 1.16.0 で導入されました。
 
|cat1=Communications
 
|cat1=Communications
 
|cat2=Chat
 
|cat2=Chat

Revision as of 07:56, 7 May 2010

要約

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

スクリプトを使えば 地域 のどこにいても聞けるように、チャネル番号 channel で文字列 msg を発言します。

• integer channel 出力チャネル、PUBLIC_CHANNEL 以外の任意の整数
• string msg 送信するメッセージ

プリムの場所にかかわらず、メッセージがリージョン境界を越えて伝わることはありません。

チャネル定数 説明
DEBUG_CHANNEL 0x7FFFFFFF スクリプトのデバッグメッセージとエラーメッセージを受け取るチャットチャネル

警告

  • この関数は PUBLIC_CHANNEL でメッセージを伝達することができませんが、これは仕様であって、バグではありません。
  • msg が 1023 バイトよりも長い場合、1023 バイトに切り捨てられます。
  • プリムは自分自身の発言を聞き取れ ません 。これは再帰処理まつわる問題を防ぐためです。
All Issues ~ Search JIRA for related Bugs

サンプル

<lsl>default {

   state_entry()
   {
       llRegionSay(25,"This is an incredibly useless program." );
   }

}</lsl>

ェクトが周囲へのスパムとなるのを避けるため、 llOwnerSayllInstantMessage を使いましょう。

注意点

一つのオブジェクトが他のオブジェクトに何か「発言する」場合 (例えば、ボタンがタッチされたとき、ランプがオンになる) 、大きなマイナス域のチャンネルを使うのはいい案です。例えば、 <lsl> llRegionSay(-5243212,"turn on");</lsl> マイナスのチャネルはスクリプトのコミュニケーションで広くつかわれています。クライアントはこれらのチャネルで直接チャットできないからです ("/-xxxx message" は "message" をチャネル "-xxxx" で発言せず、チャネル 0 で "/-xxxx message" と発言します)。 llTextBox が導入される前、これを行う唯一の方法は、24 バイトまでの制限で llDialog を使う方法でした。

DEBUG_CHANNELchannel に指定されると、スクリプトは msg をスクリプト警告/エラー・ウィンドウに発言します。

  • 1.18.3より、 DEBUG_CHANNEL で llRagionSay を使うと、チャネルカウンタが巻き戻ってチャネル 0 で表示され、100 m の範囲となります。

関連項目

イベント

•  listen

関数

•  llListen
•  llOwnerSay オーナーだけにチャットを送ります
•  llWhisper 10 メートルに限定したチャットを送ります
•  llSay 20 メートルに限定したチャットを送ります
•  llShout 100 メートルに限定したチャットを送ります
•  llInstantMessage
•  llDialog
•  llTextBox

特記事項

経緯

  • SL 1.16.0 で導入されました。

Search JIRA for related Issues

Signature

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