Difference between revisions of "LlSay/ja"

From Second Life Wiki
Jump to navigation Jump to search
 
(One intermediate revision by one other user not shown)
Line 13: 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=<source lang="lsl2">default
|examples=<source lang="lsl2">default
Line 32: Line 34:
{{LSL DefineRow||{{LSLG/ja|llOwnerSay}}|{{#var: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 37: 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}} 以外は、ユーザには送られない) です。
* チャンネル {{HoverText|0|ゼロ}} は {{#var:PUBLIC_CHANNEL}} です。このチャンネルで伝達されたチャットはみんな聞くことができます。他のチャンネルはみなプライベートチャンネル ({{#var:DEBUG_CHANNEL}} 以外は、ユーザには送られない) です。
* デバッグ用には、 {{#var:llInstantMessage}} 、{{#var:llOwnerSay}} 、{{#var:DEBUG_CHANNEL}} を使用することを検討してください。 {{#var:DEBUG_CHANNEL}} が '''channel''' に指定されると、スクリプトは '''msg''' をスクリプト警告/エラー・ウィンドウに発言します。
* デバッグ用には、 {{#var:llInstantMessage}} 、{{#var:llOwnerSay}} 、{{#var:DEBUG_CHANNEL}} を使用することを検討してください。 {{#var:DEBUG_CHANNEL}} が '''channel''' に指定されると、スクリプトは '''msg''' をスクリプト警告/エラー・ウィンドウに発言します。
* あるオブジェクトが他のオブジェクトに何かを「発言」するときは (例えば、ボタンがタッチされたとき、ランプがオンになる) 、大きなマイナス域のチャンネルを使うのはいい案です。
* あるオブジェクトが他のオブジェクトに何かを「発言」するときは (例えば、ボタンがタッチされたとき、ランプがオンになる) 、大きなマイナス域のチャンネルを使うのはいい案です。
<lsl>
<source lang="lsl2">
     llSay(-5243212,"turn on");
     llSay(-5243212,"turn on");
</lsl>
</source>


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

要約

関数: 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の関連した項目が参考になるかもしれません。