Difference between revisions of "LlSay/zh-Hant"

From Second Life Wiki
Jump to navigation Jump to search
(New page: {{LSL_Function/ja |func_id=23 |func_sleep=0.0 |func_energy=10.0 |func=llSay |sort=Say |p1_type=integer|p1_name=channel |p2_type=string|p2_name=msg |func_desc=integer '''channel'''にて渡...)
 
Line 1: Line 1:
{{LSL_Function/ja
{{LSL_Function/chat|channel|msg}}{{LSL_Function
|func_id=23
|func_id=23
|func_sleep=0.0
|func_sleep=0.0
Line 7: Line 7:
|p1_type=integer|p1_name=channel
|p1_type=integer|p1_name=channel
|p2_type=string|p2_name=msg
|p2_type=string|p2_name=msg
|func_desc=integer '''channel'''にて渡されるチャンネル上でstring '''msg'''にて渡されるテキストを発言します。
|func_desc=Says the text supplied in string '''msg''' on channel supplied in integer '''channel'''.
|return_text
|return_text
|spec
|spec
|constants={{LSL Constants/Chat/ja}}
|constants
|caveats=*テキストは1024byteまでを最大値とします。
|caveats=
*llSayの口語供述は、発しているオブジェクトの20メートル内でのみ聞き取ることができます。
*Text spoken can only be heard within 20 meters of the speaking prim (rather than the root). This is contrary to how the event [[listen]] works, where a message can only be heard by any prim in the object if and only if the root prim is capable of hearing it.
*プリム自身は聞き取ることができませんが、再帰問題の防止のためです。
*Text can only be a maximum of 1024 bytes.
*A prim cannot hear itself, to prevent problems with recursion.
|examples=<lsl>default
|examples=<lsl>default
{
{
     state_entry()
     state_entry()
     {
     {
         llSay(0,"This is an incredibly useless program." );
         llSay(0,"Hello, Avatar!");
     }
     }
}</lsl>
}</lsl>
オブジェクトが周囲にスパムとなるのを防ぐため、llOwnerSayかllInstantMessageを使いましょう。
To avoid making your object spam its neighborhood, use [[llInstantMessage]] or [[llOwnerSay]].
|helpers
|helpers
|also_events=
|also_events=
{{LSL DefineRow||[[listen/ja|listen]]|}}
{{LSL DefineRow||[[listen]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|Receives chat}}
|also_functions=
|also_functions=
{{LSL DefineRow||[[llListen/ja|llListen]]|}}
{{LSL DefineRow||[[llListen]]|Ask for listen events}}
{{LSL DefineRow||[[llOwnerSay/ja|llOwnerSay]]|[[PUBLIC_CHANNEL/ja|PUBLIC_CHANNEL]]でのスパムを避けるためにオーナにのみチャットを送信します}}
{{LSL DefineRow||[[llInstantMessage]]|Sends chat to the owner only (or to some other user only) to avoid spamming the {{#var:PUBLIC_CHANNEL}}}}
{{LSL DefineRow||[[llRegionSay/ja|llRegionSay]]|リージョン範囲でチャットを送信します}}
{{LSL DefineRow||[[llOwnerSay]]|Sends chat to the owner only to avoid spamming the PUBLIC_CHANNEL}}
{{LSL DefineRow||[[llWhisper/ja|llWhisper]]|10メートルを限度としてチャットを送信します}}
{{LSL DefineRow||[[llRegionSay]]|Sends chat region wide}}
{{LSL DefineRow||[[llShout/ja|llShout]]|100メートルを限度としてチャットを送信します}}
{{LSL DefineRow||[[llShout]]|Sends chat limited to 100 meters}}
{{LSL DefineRow||[[llInstantMessage/ja|llInstantMessage]]|}}
{{LSL DefineRow||[[llWhisper]]|Sends chat limited to 10 meters}}
|also_tests
|also_tests
|also_articles
|also_articles={{LSL DefineRow||[[Hello Avatar]]}}
|notes=
|notes=
デバッグ目的では、[[llOwnerSay/ja|llOwnerSay]]か{{LSL Const/ja|DEBUG_CHANNEL|integer|hex=0x7FFFFFFF}}を使うことも考慮しましょう。
* Channel {{HoverText|0|Zero}} is the {{#var:PUBLIC_CHANNEL}}. Everyone can hear chat transmitted on this channel. All other channels are private channels (not sent to users, with the exception of {{#var:DEBUG_CHANNEL}}).
一つのオブジェクトが他のオブジェクトに何か'発言する'場合(例えば、ボタンがタッチされたとき、ランプがオンになる)、大きなマイナス域のチャンネルを使うのはいい案です(最大マイナス域での32bit integerで、これ以上はありえないマイナス域とすれば、-2,147,483,64です) 例
* Consider using llInstantMessage, llOwnerSay, or the {{#var:DEBUG_CHANNEL}} for debugging purposes. If {{#var:DEBUG_CHANNEL}} is used as '''channel''', the script will say '''msg''' to the Script Warning/Error window.
* If one object 'says' something to another object (''e.g''., a button that, when touched, turns on a lamp), it is a good idea to use a very negative channel, ''e.g.'',
<lsl>
<lsl>
     llSay(-5243212,"turn on");
     llSay(-5243212,"turn on");
</lsl>
</lsl>
アバタがマイナス域のチャンネル上でチャットをするのは不可能で、何らかのほかのオブジェクトが、そのようなチャンネル上で偶然何かを発言してしまうことは滅多にありえません。(もちろん、メッセージのあて先がこのチャンネル上で'listen'を設定しなければならないでしょう。)
Negative channels are popular for script communications because the client is unable to chat directly on those channels ("/-xxxx message" won't chat "message" on channel "-xxxx", it will chat "/-xxxx message" on channel zero). The only way to do so prior to [[llTextBox]] was to use [[llDialog]] which was limited to 24 bytes.
DEBUG_CHANNELがチャンネルで用いられている場合、スクリプトはScript Warning/Errorウィンドウにてmsgを発言するでしょう。
|cat1
0を''channel''に使われている場合、スクリプトは一般チャットで誰もが見ることができる''msg''を発言するでしょう。全てのほかのintegerはプライベートチャンネルです。
|cat2
|cat1=Communications
|cat2=Chat
|cat3
|cat3
|cat4
|cat4
}}
}}

Revision as of 03:08, 17 February 2009

Summary

Function: llSay( integer channel, string msg );

Says the text supplied in string msg on channel supplied in integer channel.

• integer channel output chat channel, any integer value
• string msg message to be transmitted
Channel Constant Description
DEBUG_CHANNEL 0x7FFFFFFF Chat channel reserved for script debugging and error messages, broadcasts to all nearby users.
PUBLIC_CHANNEL 0x0 Chat channel that broadcasts to all nearby users. This channel is sometimes referred to as: open chat, local chat and public chat.

Caveats

  • Messages sent on channel zero[1] and DEBUG_CHANNEL are throttled to a rate of <200/10sec, per region, per owner/user.
    • Once the rate is exceeded, all following messages on channel zero or DEBUG_CHANNEL will be dropped until the send rate is again below 200/10sec for the previous 10 sec. Dropped messages, despite being dropped still count against the limit.
  • Text spoken can only be heard within 20 meters of the speaking prim (rather than the root). This is contrary to how the event listen works, where a message can only be heard by any prim in the object if and only if the root prim is capable of hearing it.
  • Text can only be a maximum of 1024 bytes.
  • A prim cannot hear itself, to prevent problems with recursion.
All Issues ~ Search JIRA for related Bugs

Examples

<lsl>default {

   state_entry()
   {
       llSay(0,"Hello, Avatar!");
   }

}</lsl>

To avoid making your object spam its neighborhood, use llInstantMessage or llOwnerSay.

Notes

  • Channel 0 is the PUBLIC_CHANNEL. Everyone can hear chat transmitted on this channel. All other channels are private channels (not sent to users, with the exception of DEBUG_CHANNEL).
  • Consider using llInstantMessage, llOwnerSay, or the DEBUG_CHANNEL for debugging purposes. If DEBUG_CHANNEL is used as channel, the script will say msg to the Script Warning/Error window.
  • If one object 'says' something to another object (e.g., a button that, when touched, turns on a lamp), it is a good idea to use a very negative channel, e.g.,

<lsl>

   llSay(-5243212,"turn on");

</lsl> Negative channels are popular for script communications because the client is unable to chat directly on those channels ("/-xxxx message" won't chat "message" on channel "-xxxx", it will chat "/-xxxx message" on channel zero). The only way to do so prior to llTextBox was to use llDialog which was limited to 24 bytes.

See Also

Events

•  listen                 Receives chat

Functions

•  llListen Ask for listen events
•  llInstantMessage Sends chat to the owner only (or to some other user only) to avoid spamming the PUBLIC_CHANNEL
•  llOwnerSay Sends chat to the owner only to avoid spamming the PUBLIC_CHANNEL
•  llRegionSay Sends chat region wide
•  llShout Sends chat limited to 100 meters
•  llWhisper Sends chat limited to 10 meters

Articles

•  Hello Avatar

Deep Notes

Search JIRA for related Issues

Footnotes

  1. ^ Channel zero is also known as: PUBLIC_CHANNEL, open chat, local chat and public chat

Signature

function void llSay( integer channel, string msg );