Difference between revisions of "LlRequestDisplayName"
m |
(Added warning about escaping strings to prevent a wave of injection attacks on people's backends when these functions go live.) |
||
Line 2: | Line 2: | ||
|inject-1={{LSL Function/avatar|id}}{{LSL Generic/pre-release|server-release=[[Display Names|DisplayNames]]}} | |inject-1={{LSL Function/avatar|id}}{{LSL Generic/pre-release|server-release=[[Display Names|DisplayNames]]}} | ||
{{LSL_Function/warning|Security|It is a '''terrible''' idea to tie any security measures to display names. Don't do it.}} | {{LSL_Function/warning|Security|It is a '''terrible''' idea to tie any security measures to display names. Don't do it.}} | ||
{{LSL_Function/warning|Security|They can contain quotes and some punctuation, remember to '''escape''' strings being passed to command line scripts, sql queries, etc.}} | |||
|func_id=NNN|func_sleep=0.0|func_energy=10.0 | |func_id=NNN|func_sleep=0.0|func_energy=10.0 | ||
|func=llRequestDisplayName | |func=llRequestDisplayName |
Revision as of 16:21, 22 November 2010
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Pre-release Documentation Warning! | |
This function is not available yet. This documentation was written prior to its final release so it may not match the final implementation.It is slated for release in Server DisplayNames. |
Security Warning! | |
It is a terrible idea to tie any security measures to display names. Don't do it. |
Security Warning! | |
They can contain quotes and some punctuation, remember to escape strings being passed to command line scripts, sql queries, etc. |
Summary
Function: key llRequestDisplayName( key id );NNN | Function 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>