Table of Contents

LSL: Name

Name Lookups

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

string name = "imaaltthree Resident";
key displayname_query;
key username_query;
key userkey_query;
 
default {
    state_entry() {
        llOwnerSay("original name: " + name);
        // Key the user key first, the other lookups need it
        userkey_query = llRequestUserKey(name);
    }
 
    dataserver(key queryid, string data) {
        if (queryid == userkey_query) {
            llOwnerSay("userkey query: " + data);
 
            // Lookup the display name and current username
            displayname_query = llRequestDisplayName(data);
            username_query = llRequestUsername(data);
        }
        if (queryid == username_query) {
            llOwnerSay("username query: " + data);
        }
        if (queryid == displayname_query) {
            llOwnerSay("displayname query: " + data);
        }
    }
}

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);
}