LlRequestUsername
Looking for the current API? Open the llRequestUsername reference →
Wiki description
Requests the Username of the agent identified by
id. When the Username 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.Function notes
If the name has been changed some time in the past, this provides only the current name.
Return value notes
Returns a key that is used to identify the dataserver event when it is raised.
If
id is not the UUID of an avatar, the dataserver event is not raised.Caveats
- If you merely wish to show the agent username in the viewer window, it may be more straightforward to use Viewer URI Name Space and avoid a dataserver event, e.g.:
llSay(0, "secondlife:///app/agent/" + (string)id + "/username"); - This function is throttled. The throttle is undocumented, but as of October 2018 the function appears to support bursts of up to 20 requests and sustained use at an average rate of 1.9 requests per second per owner, per region. (Meaning the throttle applies to all objects in the region with the same owner.) Once tripped, the function fails and says "Too many llRequestUsername requests. Throttled until average falls." on DEBUG_CHANNEL.
Examples
key owner_name_query;
default
{
state_entry()
{
owner_name_query = llRequestUsername(llGetOwner());
}
dataserver(key queryid, string data)
{
if ( owner_name_query == queryid )
{
llSay(0, "The username of the owner of this script : " + data);
}
}
}See also: functions
See also: events
Shared wiki helpers
The original page also injects shared parameter notes, caveats or issue information through these helpers. Their conditional MediaWiki logic is not reproduced here; inspect the preserved helper source for additional material.
Original shared helper source (conditional wiki logic is not evaluated)
{{LSL Injection Test}}<noinclude>{{Multi-lang|category=LSL}}</noinclude>{{#if:
{{#vardefine:p_{{{1|none}}}_desc|avatar {{#if:{{{group|}}}|or group}} {{HoverLink|UUID|Universally Unique Identifier}} {{#if:{{{sim|}}}{{{region|}}}|that is in the same [[region]] {{#ifeq:{{{sim|}}}{{{region|}}}|known|or is otherwise known to the region{{Footnote|handle=known}}}}}}}}
{{#vardefine:p_{{{1|none}}}_hover|avatar {{#if:{{{group|}}}|or group}} UUID {{#if:{{{sim|}}}{{{region|}}}|that is in the same region {{#ifeq:{{{sim|}}}{{{region|}}}|known|or is otherwise known to the region}}}}}}
<includeonly>
{{#if:{{{nc|}}}||{{#vardefine:hidden-text|{{#var:hidden-text}}
{{#if:{{#pos:{{#var:moded}}|r}}{{#pos:{{#var:moded}}|u}}||{{LSLC|Avatar/As A Parameter||{{#var:lang}}}}}}
}}}}
</includeonly>
}}<noinclude>
{| {{Prettytable}}
|-{{Hl2}}
! #var
! value
|-
{{VarPair|p_{{{1|none}}}_desc}}
|-
{{VarPair|p_{{{1|none}}}_hover}}
|}
</noinclude>Original shared helper source (conditional wiki logic is not evaluated)
{{Issues|SCR-388|type=bug|[[llRequestUsername]] [[dataserver]] event returns {{String|???}} while [[llGetUsername]] returns correct value}}Original wiki source
Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.