Difference between revisions of "LlSay/ja"
< LlSay
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m |
|||
(8 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{LSL_Function/chat/ja|channel|msg}} | {{LSL_Function/ja | ||
|inject-2={{LSL_Function/chat/ja|channel|msg}} | |||
|func_id=23 | |func_id=23 | ||
|func_sleep=0.0 | |func_sleep=0.0 | ||
Line 12: | Line 13: | ||
|constants | |constants | ||
|caveats= | |caveats= | ||
*チャンネルゼロおよびデバッグチャネル上で送信されるメッセージは、所有者/ユーザーごと、地域ごとに、200/10秒のレートに制限されます。 | |||
*制限レートを越えると送信頻度が200/10秒未満に戻るまでチャンネルゼロおよびデバッグチャネル上で送信されるメッセージは削除されます。 | |||
*発言されたテキストは、 (ルートプリムでなく) 発言元プリムから 20 メートル以内でのみ拾うことができます。これは {{LSLG/ja|listen}} の動作と反対です。つまり、ルートプリムが拾うことができれば、ルートプリムが拾うことのできる場合のみ、メッセージはオブジェクトの中の他のプリムでも拾うことができます。 | *発言されたテキストは、 (ルートプリムでなく) 発言元プリムから 20 メートル以内でのみ拾うことができます。これは {{LSLG/ja|listen}} の動作と反対です。つまり、ルートプリムが拾うことができれば、ルートプリムが拾うことのできる場合のみ、メッセージはオブジェクトの中の他のプリムでも拾うことができます。 | ||
*テキストは 1024 バイトが最大です。 | *テキストは 1024 バイトが最大です。(文字数の場合ASCII文字で1024文字、漢字などUTF-8では512文字) | ||
*プリムは自分自身の発言を聞き取れません。これは再帰処理にまつわる問題を防ぐためです。 | *プリムは自分自身の発言を聞き取れません。これは再帰処理にまつわる問題を防ぐためです。 | ||
|examples=< | |examples=<source lang="lsl2">default | ||
{ | { | ||
state_entry() | state_entry() | ||
{ | { | ||
llSay( | llSay(PUBLIC_CHANNEL, "あっ、どうも!今日はー"); | ||
} | } | ||
}</ | }</source> | ||
オブジェクトが周囲にスパムとなるのを防ぐため、 {{LSLG/ja|llOwnerSay}} か {{LSLG/ja|llInstantMessage}} を使いましょう。 | オブジェクトが周囲にスパムとなるのを防ぐため、 {{LSLG/ja|llOwnerSay}} か {{LSLG/ja|llInstantMessage}} を使いましょう。 | ||
|helpers | |helpers | ||
Line 29: | Line 32: | ||
{{LSL DefineRow||{{LSLG/ja|llListen}}|listen イベントを要求します}} | {{LSL DefineRow||{{LSLG/ja|llListen}}|listen イベントを要求します}} | ||
{{LSL DefineRow||{{LSLG/ja|llInstantMessage}}|{{#var:PUBLIC_CHANNEL}} でスパムしないよう、オーナー (や他のユーザ) にのみチャットを送ります}} | {{LSL DefineRow||{{LSLG/ja|llInstantMessage}}|{{#var:PUBLIC_CHANNEL}} でスパムしないよう、オーナー (や他のユーザ) にのみチャットを送ります}} | ||
{{LSL DefineRow||{{LSLG/ja|llOwnerSay}}|PUBLIC_CHANNEL でスパムしないよう、オーナーだけにチャットを送ります}} | {{LSL DefineRow||{{LSLG/ja|llOwnerSay}}|{{#var:PUBLIC_CHANNEL}} でスパムしないよう、オーナーだけにチャットを送ります}} | ||
{{LSL DefineRow||{{LSLG/ja|llRegionSay}}|地域全体にチャットを送ります}} | {{LSL DefineRow||{{LSLG/ja|llRegionSay}}|地域全体にチャットを送ります}} | ||
{{LSL DefineRow||{{LSLG/ja|llRegionSayTo}}|特定のアバターやオブジェクトに限定し地域全体の範囲でチャットを送ります}} | |||
{{LSL DefineRow||{{LSLG/ja|llShout}}|100 メートルに限定したチャットを送ります}} | {{LSL DefineRow||{{LSLG/ja|llShout}}|100 メートルに限定したチャットを送ります}} | ||
{{LSL DefineRow||{{LSLG/ja|llWhisper}}|10 メートルに限定したチャットを送ります}} | {{LSL DefineRow||{{LSLG/ja|llWhisper}}|10 メートルに限定したチャットを送ります}} | ||
Line 36: | Line 40: | ||
|also_articles={{LSL DefineRow||{{LSLG/ja|Hello Avatar}}}} | |also_articles={{LSL DefineRow||{{LSLG/ja|Hello Avatar}}}} | ||
|notes= | |notes= | ||
* | * チャンネル {{HoverText|0|ゼロ}} は {{#var:PUBLIC_CHANNEL}} です。このチャンネルで伝達されたチャットはみんな聞くことができます。他のチャンネルはみなプライベートチャンネル ({{#var:DEBUG_CHANNEL}} 以外は、ユーザには送られない) です。 | ||
* デバッグ用には、 llInstantMessage | * デバッグ用には、 {{#var:llInstantMessage}} 、{{#var:llOwnerSay}} 、{{#var:DEBUG_CHANNEL}} を使用することを検討してください。 {{#var:DEBUG_CHANNEL}} が '''channel''' に指定されると、スクリプトは '''msg''' をスクリプト警告/エラー・ウィンドウに発言します。 | ||
* あるオブジェクトが他のオブジェクトに何かを「発言」するときは (例えば、ボタンがタッチされたとき、ランプがオンになる) 、大きなマイナス域のチャンネルを使うのはいい案です。 | * あるオブジェクトが他のオブジェクトに何かを「発言」するときは (例えば、ボタンがタッチされたとき、ランプがオンになる) 、大きなマイナス域のチャンネルを使うのはいい案です。 | ||
< | <source lang="lsl2"> | ||
llSay(-5243212,"turn on"); | llSay(-5243212,"turn on"); | ||
</ | </source> | ||
マイナスのチャンネルはスクリプトのコミュニケーションで広く使われています。クライアントはこれらのチャンネルで直接チャットできないからです ("/-xxxx message" は "message" をチャネル "-xxxx" で発言せず、チャンネル 0 で "/-xxxx message" と発言します)。 {{LSLG/ja|llTextBox}} が導入される前、これを行う唯一の方法は、24 バイトまでの制限で {{LSLG/ja|llDialog}} を使う方法でした。 | |||
|cat1 | |cat1 | ||
|cat2 | |cat2 |
Latest revision as of 14:52, 12 May 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
チャネル定数 | 説明 | |
---|---|---|
DEBUG_CHANNEL | 0x7FFFFFFF | スクリプトのデバッグメッセージとエラーメッセージを受け取るチャットチャネル |
PUBLIC_CHANNEL | 0x0 | 近くのユーザ全員にブロードキャストされるチャットチャネル |
警告
- チャンネルゼロおよびデバッグチャネル上で送信されるメッセージは、所有者/ユーザーごと、地域ごとに、200/10秒のレートに制限されます。
- 制限レートを越えると送信頻度が200/10秒未満に戻るまでチャンネルゼロおよびデバッグチャネル上で送信されるメッセージは削除されます。
- 発言されたテキストは、 (ルートプリムでなく) 発言元プリムから 20 メートル以内でのみ拾うことができます。これは listen の動作と反対です。つまり、ルートプリムが拾うことができれば、ルートプリムが拾うことのできる場合のみ、メッセージはオブジェクトの中の他のプリムでも拾うことができます。
- テキストは 1024 バイトが最大です。(文字数の場合ASCII文字で1024文字、漢字などUTF-8では512文字)
- プリムは自分自身の発言を聞き取れません。これは再帰処理にまつわる問題を防ぐためです。
サンプル
default
{
state_entry()
{
llSay(PUBLIC_CHANNEL, "あっ、どうも!今日はー");
}
}
注意点
- チャンネル 0 は PUBLIC_CHANNEL です。このチャンネルで伝達されたチャットはみんな聞くことができます。他のチャンネルはみなプライベートチャンネル (DEBUG_CHANNEL 以外は、ユーザには送られない) です。
- デバッグ用には、 、 、DEBUG_CHANNEL を使用することを検討してください。 DEBUG_CHANNEL が channel に指定されると、スクリプトは 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 |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。