Difference between revisions of "LlRequestDisplayName"

From Second Life Wiki
Jump to navigation Jump to search
(sync'ing warnings)
m (Looks like I forgot to add it.)
Line 1: Line 1:
{{#vardefine:p_data_desc|DATA_* flag}}{{LSL_Function
{{#vardefine:p_data_desc|DATA_* flag}}{{LSL_Function
|inject-1={{LSL_Function/warning|Security|It is a '''terrible''' idea to tie any security measures to display names; they are not unique and can easily be changed.}}
|inject-1=
{{LSL Function/avatar|id}}
{{LSL_Function/warning|Security|It is a '''terrible''' idea to tie any security measures to display names; they are not unique and can easily be changed.}}
{{LSL_Function/warning|Data Execution|Display names can contain [[Display_names#Punctuation_characters_allowed_in_your_display_name|quotes and some punctuation]]. While this is ''not'' a problem for LSL, remember to '''escape''' strings being passed to command line scripts, sql queries, etc.<br/>See: [http://xkcd.com/327/ XKCD: Exploits of a Mom]}}
{{LSL_Function/warning|Data Execution|Display names can contain [[Display_names#Punctuation_characters_allowed_in_your_display_name|quotes and some punctuation]]. While this is ''not'' a problem for LSL, remember to '''escape''' strings being passed to command line scripts, sql queries, etc.<br/>See: [http://xkcd.com/327/ XKCD: Exploits of a Mom]}}
|func_id=NNN|func_sleep=0.0|func_energy=10.0
|func_id=NNN|func_sleep=0.0|func_energy=10.0

Revision as of 20:46, 27 November 2010

Emblem-important-red.png Security Warning!

It is a terrible idea to tie any security measures to display names; they are not unique and can easily be changed.

Emblem-important-red.png Data Execution Warning!

Display names can contain quotes and some punctuation. While this is not a problem for LSL, remember to escape strings being passed to command line scripts, sql queries, etc.
See: XKCD: Exploits of a Mom

Summary

Function: key llRequestDisplayName( key id );
0.0 Forced Delay
10.0 Energy

Requests the Display Name of the agent identified by id. When the Display Name is available the dataserver event will be raised. The agent identified by id does not need to be in the same region or online at the time of the request.
Returns the key that is used to identify the dataserver event when it is raised.

• key id avatar UUID

Caveats

  • If the request fails for any reason, there will be no error notice or dataserver event. You may use a timer to check for stale requests.
  • If you merely wish to show avatar name information in the viewer window, it may be more straightforward to avoid a dataserver event and simply output: <lsl>llSay(0, "secondlife:///app/agent/" + (string)id + "/about");</lsl>

Examples

<lsl>key owner_key; key owner_name_query; string owner_display_name;

default {

   state_entry()
   {
       owner_key = llGetOwner();
       owner_name_query = llRequestDisplayName(owner_key);
   }
   dataserver(key queryid, string data)
   {
       if ( owner_name_query == queryid )
       {
           owner_display_name = data;
           llSay(0, "The display name of the owner of this script : " + owner_display_name );
       }
   }
}</lsl>

See Also

Events

•  dataserver

Functions

•  llGetDisplayName
•  llRequestUsername

Deep Notes

Signature

function key llRequestDisplayName( key id );