Difference between revisions of "LlTextBox"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 3: Line 3:
|func=llTextBox
|func=llTextBox
|p1_type=key|p1_name=avatar|p1_desc
|p1_type=key|p1_name=avatar|p1_desc
|p2_type=string|p2_name=message|p2_desc=Text to display in the message box
|p2_type=string|p2_name=message|p2_desc=message to be displayed in the text box
|p3_type=integer|p3_name=channel|p3_desc
|p3_type=integer|p3_name=chat_channel|p3_desc=output channel
|return_type
|return_type
|return_text
|return_text
|func_desc=Shows a dialog box on '''avatar''''s screen with the text '''message'''. It contains a text box for input, any text that is entered is [[llSay|said]] on '''channel''' when the "OK" button is clicked.
|func_desc=Shows a dialog box on '''avatar''''s screen with the text '''message'''. It contains a text box for input, any text that is entered is [[llSay|said]] on '''chat_channel''' when the "OK" button is clicked.
|func_footnote
|func_footnote
|caveats=* There is no way by script to kill a text box.
|caveats=* There is no way by script to kill a text box.
Line 13: Line 13:
* If the listening prim is out of the 20 meter range of the sending prim when the "OK" button is pressed, it will not be able to hear the response.
* If the listening prim is out of the 20 meter range of the sending prim when the "OK" button is pressed, it will not be able to hear the response.
** This limitation affects attachments too if the wearer moves more than 20 meters from where the listener is located.  
** This limitation affects attachments too if the wearer moves more than 20 meters from where the listener is located.  
===message limits===
*If it exceeds 8 lines a scroll bar will appear.
*'''message''' must be less than 512 bytes and not empty. Otherwise it will shout an error on [[DEBUG_CHANNEL]].
|examples=<lsl>integer listener;
|examples=<lsl>integer listener;



Revision as of 09:40, 24 May 2008

Summary

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

Shows a dialog box on avatar's screen with the text message. It contains a text box for input, any text that is entered is said on chat_channel when the "OK" button is clicked.

• key avatar avatar UUID that is in the same region
• string message message to be displayed in the text box
• integer chat_channel output channel
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

  • This function causes the script to sleep for 1.0 seconds.
  • 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.
  • There is no way by script to kill a text box.
  • There is no way for the script to detect if the user clicked the small "ignore" button (no chat is generated as a result of pressing this button).
  • If the listening prim is out of the 20 meter range of the sending prim when the "OK" button is pressed, it will not be able to hear the response.
    • This limitation affects attachments too if the wearer moves more than 20 meters from where the listener is located.

message limits

  • If it exceeds 8 lines a scroll bar will appear.
  • message must be less than 512 bytes and not empty. Otherwise it will shout an error on DEBUG_CHANNEL.
All Issues ~ Search JIRA for related Bugs

Examples

<lsl>integer listener;

default {

   touch_start(integer total_number)
   {
       llListenRemove(listener);//A previous user may not have responded. Make sure we don't leak!
       integer channel = ~(integer)llFrand(1000.0);
       listener = llListen(channel,"","","");
       llTextBox(llDetectedKey(0),"Write something here...",channel);
   }
   
   listen(integer channel, string name, key id, string message)
   {
       llSay(0,"You wrote: " + message);
       llListenRemove(listener);
   }
}</lsl>

See Also

Events

•  listen

Functions

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

Deep Notes

History

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 llTextBox( key avatar, string message, integer chat_channel );