llGetDisplayName
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials | 
|   | Security Warning! | 
| It is a terrible idea to tie any security measures to display names; they are not unique and can easily be changed. | 
|   | 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. | 
Summary
Function: string llGetDisplayName( key id );| 0.0 | Forced Delay | 
| 10.0 | Energy | 
Returns a string that is the non-unique display name of the avatar specified by id.
| • key | id | – | avatar UUID that is in the same region or is otherwise known to the region | 
id must specify a valid avatar key, present in or otherwise known to the sim in which the script is running, otherwise an empty string is returned. This function will still return a valid display name if the avatar is a child agent of the sim (i.e., in an adjacent sim, but presently able to see into the one the script is in), or for a short period after the avatar leaves the sim (specifically, when the client completely disconnects from the sim, either as a main or child agent).
Caveats
- To get around the "avatar must be present" limitation, you can use the llRequestDisplayName function and the dataserver event to obtain the avatar's display name from a key (this is slower).
- There is no opposite function (llDisplayName2Key) available since display names are non-unique.
- Either of ???or""is returned if the region is unable to return display names. This can happen even if display names are enabled on the region, especially the first time a given key is checked. At least one retry may be advisable. Do not rely on this function to verify avatar presence.
- It is possible for Loading...to be returned if called before the region has had a chance to resolve the agent's display name.- Do not retry failed attempts indefinitely in a loop. In a few cases, a display name or username will not be returned for as long as the avatar is in the region.
 
- If you merely wish to show the agent display name in the viewer window, it may be more straightforward to use Viewer URI Name Space, e.g.:llSay(0, "secondlife:///app/agent/" + (string)id + "/displayname"); 
Examples
// Best viewed in Chat History (ctrl-h)
default
{
    collision_start(integer a)//Announce who collided
    {
        llSay(0, "llGetDisplayName: " + llGetDisplayName(llDetectedKey(0)) +
                 "\nllDetectedName: " + llDetectedName(0));
    }
    touch_start(integer a)
    {
        llSay(0, "llGetDisplayName: " + llGetDisplayName(llDetectedKey(0)) +
                 "\nllDetectedName: " + llDetectedName(0));
    }
}
See Also
Functions
| • | llRequestDisplayName | – | Uses the dataserver to request avatar information | |
| • | llGetUsername | |||
| • | llRequestUsername | – | Uses the dataserver to request avatar information | 
Deep Notes
| Signature | 
|---|
| function string llGetDisplayName( key id ); | 
| Haiku | 
|---|
| Hi! My name's Jerome,
 | 
