Difference between revisions of "LlTextBox/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (カテゴリ変更)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{LSL_Function/avatar/ja|avatar}}{{LSL_Function/chat/ja|chat_channel}}{{LSL_Function/ja
{{LSL_Function/ja
|inject-2={{LSL_Function/avatar/ja|avatar}}{{LSL_Function/chat/ja|chat_channel}}
|func_id=335|func_sleep=1.0|func_energy=10.0
|func_id=335|func_sleep=1.0|func_energy=10.0
|func=llTextBox
|func=llTextBox
|mode=pre-release
|p1_type=key|p1_name=avatar|p1_desc
|p1_type=key|p1_name=avatar|p1_desc
|p2_type=string|p2_name=message|p2_desc=テキスト入力ボックスと共に表示する説明文
|p2_type=string|p2_name=message|p2_desc=テキストボックスに表示するメッセージ
|p3_type=integer|p3_name=chat_channel|p3_desc
|p3_type=integer|p3_name=chat_channel|p3_desc
|return_type
|return_type
|return_text
|return_text
|func_desc=説明文 '''message''' とテキスト入力ボックスがあるダイアログを '''avatar''' の画面に表示します。(ダイアログの) "OK" ボタンが押されると、テキスト入力ボックスへの入力は全て '''chat_channel''' において[[llSay/ja|発言]]されます。
|func_desc=文字列 '''message''' があるダイアログボックスを '''avatar''' のスクリーンに表示します。入力用のテキストボックスがあり、"OK" ボタンをクリックすると、入力した文字列が '''chat_channel''' で {{LSLG/ja|llSay|発言}} されます。
|func_footnote
|func_footnote
|caveats=* テキストボックスを非表示にすることはできません。
|caveats=* バージョン2.4以前のリンデンラボ公式ビューワではサポートされていません。いくつかの[[Third_Party_Viewer_Directory|サードパーティ製ビューワ]]でもサポートされていないでしょう。サポートされていないビューワではダイアログボックスに "!!llTextBox!!" と表示されるだけでしょう。
* ユーザが小さな "無視する" ボタンを押したかどうかを検知することはできません。(ボタンを押した場合、結果的に何の発言も行なわれません。)
* テキストボックスを非表示にすることはできません。
* "OK" ボタンが押された時、ダイアログの回答を Listen しているプリムが、(このスクリプト入りの) 発話プリムから 20m 以上離れている場合、その回答を聞く事はできません
* ユーザが"無視する" ボタンを押したかどうかを検知することはできません。 (ボタンを押してもチャット発言は一切生成されません)
** この制限は装備品に関しても同様です。Listen しているプリムから装備者が 20m 以上離れてはいけません。
* "OK" ボタンが押された時、ダイアログの回答を Listen しているプリムが発言元プリムから 20 メートル以上離れていると、回答を聞くことができません。
** この制限はアタッチメントに関しても同様です。リスナーがある場所から装着者が 20 メートル以上離れている場合、リスナーは回答を聞くことができません。


===説明文の制限{{Anchor|message limits}}===
===説明文の制限{{Anchor|message limits}}===
* 8 行を超えた場合、スクロールバーが表示されます。
* 8 行を超えた場合、スクロールバーが表示されます。
* '''message''' は 512 バイト未満かつ 1 バイト以上でなければなりません。さもないと {{LSLG/ja|DEBUG_CHANNEL}} にエラーメッセージが shout されます。
* '''message''' は 512 バイト未満で、空であってはいけません。さもないとエラーが {{LSLG/ja|DEBUG_CHANNEL}} で叫ばれます。


|examples=<lsl>integer listener;
|examples=<source lang="lsl2">integer listener;


default
default
Line 25: Line 26:
     touch_start(integer total_number)
     touch_start(integer total_number)
     {
     {
         llListenRemove(listener);//直前のユーザが未回答のままかもしれません。はっきり区別しましょう。
         llListenRemove(listener);//直前のユーザが未回答のままかもしれません。情報漏洩しないようにしましょう!
         integer channel = ~(integer)llFrand(1000.0);
         integer channel = ~(integer)llFrand(1000.0);
         listener = llListen(channel,"","","");
         listener = llListen(channel,"","","");
Line 36: Line 37:
         llListenRemove(listener);
         llListenRemove(listener);
     }
     }
}</lsl>
}</source>
|spec
|spec
|constants
|constants
Line 51: Line 52:
{{LSL DefineRow||{{LSLG/ja|listen}}}}
{{LSL DefineRow||{{LSLG/ja|listen}}}}
|notes
|notes
|history=Introduced in {{SVN|568|rev=88085|trunk=*|anchor=file33|date=Wednesday, 21 May 2008}}
|location=
|cat1=Dialog/ja
{{SourceLink|indra/llcommon/lllslconstants.h|line=189}}
|cat2=Chat/ja
<cpp>// llTextBox() の識別文字列 - ええ、これはハックです。どうぞ訴えてください。
const std::string TEXTBOX_MAGIC_TOKEN = "!!llTextBox!!";</cpp>
|history={{SVN|568|rev=88085|trunk=*|anchor=file33|date=Wednesday, 21 May 2008}} で導入
|cat1=Dialog
|cat2=Chat
|cat3
|cat3
|cat4
|cat4
}}
}}
<div style="display:none"><lsl></lsl></div>

Latest revision as of 02:57, 25 February 2016

要約

関数: llTextBox( key avatar, string message, integer chat_channel );

文字列 message があるダイアログボックスを avatar のスクリーンに表示します。入力用のテキストボックスがあり、"OK" ボタンをクリックすると、入力した文字列が chat_channel発言 されます。

• key avatar アバターの UUID
• string message テキストボックスに表示するメッセージ
• integer chat_channel 出力チャネル、任意の整数
チャネル定数 説明
DEBUG_CHANNEL 0x7FFFFFFF スクリプトのデバッグメッセージとエラーメッセージを受け取るチャットチャネル
PUBLIC_CHANNEL 0x0 近くのユーザ全員にブロードキャストされるチャットチャネル

警告

  • この関数は 1.0 秒間、スクリプトを停止します。
  • バージョン2.4以前のリンデンラボ公式ビューワではサポートされていません。いくつかのサードパーティ製ビューワでもサポートされていないでしょう。サポートされていないビューワではダイアログボックスに "!!llTextBox!!" と表示されるだけでしょう。
  • テキストボックスを非表示にすることはできません。
  • ユーザが"無視する" ボタンを押したかどうかを検知することはできません。 (ボタンを押してもチャット発言は一切生成されません)
  • "OK" ボタンが押された時、ダイアログの回答を Listen しているプリムが発言元プリムから 20 メートル以上離れていると、回答を聞くことができません。
    • この制限はアタッチメントに関しても同様です。リスナーがある場所から装着者が 20 メートル以上離れている場合、リスナーは回答を聞くことができません。

説明文の制限

  • 8 行を超えた場合、スクロールバーが表示されます。
  • message は 512 バイト未満で、空であってはいけません。さもないとエラーが DEBUG_CHANNEL で叫ばれます。

サンプル

integer listener;

default
{
    touch_start(integer total_number)
    {
        llListenRemove(listener);//直前のユーザが未回答のままかもしれません。情報漏洩しないようにしましょう!
        integer channel = ~(integer)llFrand(1000.0);
        listener = llListen(channel,"","","");
        llTextBox(llDetectedKey(0),"何か入力してください...",channel);
    }
    
    listen(integer channel, string name, key id, string message)
    {
        llSay(0,"あなたの入力は: " + message);
        llListenRemove(listener);
    }
}

関連項目

イベント

•  listen

関数

•  llDialog
•  llListen
•  llSay
•  llWhisper
•  llShout
•  llRegionSay

特記事項

経緯

Search JIRA for related Issues

ソース

viewer - indra/llcommon/lllslconstants.h <cpp>// llTextBox() の識別文字列 - ええ、これはハックです。どうぞ訴えてください。 const std::string TEXTBOX_MAGIC_TOKEN = "!!llTextBox!!";</cpp>

Signature

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