Table of Contents

SLua: Name

Name Lookups

Looking up UUIDs and usernames can be fun, this is a quick example of how to resolve (possible leagacy) login name to the current login name if it has been changed.

namelookup.lua
-- namelookup.lua - Look up names from UUID
-- Look up names from UUID
 
local name = "seriesumei Resident";
local displayname_query;
local username_query;
local userkey_query;
 
function dataserver(queryid, data)
    if queryid == userkey_query then
        ll.OwnerSay("userkey query: " .. data);
 
        -- Lookup the display name and current username
        displayname_query = ll.RequestDisplayName(data);
        username_query = ll.RequestUsername(data);
    end
    if queryid == username_query then
        ll.OwnerSay("username query: " .. data);
    end
    if queryid == displayname_query then
        ll.OwnerSay("displayname query: " .. data);
    end
end
 
local function main()
    ll.OwnerSay("original name: " .. name);
    -- Key the user key first, the other lookups need it
    userkey_query = ll.RequestUserKey(name);
end
 
main()

Group Name

key groupNameRequestId;
key groupKey;
string groupName;
 
...
 
state_entry() {
    groupNameRequestId = llHTTPRequest("http://world.secondlife.com/group/" + (string)groupKey, [], "");
}
 
http_response(key request_id, integer status, list metadata, string body) {
    if (request_id != groupNameRequestId)
        return;
 
    list args = llParseString2List(body, ["title"], []);
    groupName = llList2String(llParseString2List(llList2String(args, 1), [">", "<", "/"], []), 0);
}