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