LlRequestDisplayName

来自人工智能助力教育知识百科
Mkx讨论 | 贡献2020年7月25日 (六) 02:55的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Template:Needs Translation/

安全警告! 将任何安全措施绑定到显示名称是一个糟糕的想法;它们不是独一无二的,而且很容易改变。

数据执行警告! 显示名称可以包含引号和一些标点符号。虽然这对LSL来说不是问题,但记住要对传递给命令行脚本、sql查询等的字符串进行转义。

函数名
Function: key llRequestDisplayName( key id );
参数:key id – avatar UUID
返回值:请求由id标识的代理的显示名称。当显示名称可用时,将引发dataserver事件。通过id标识的代理不需要在请求时处于同一区域或在线。

返回handle(键),该句柄用于在引发dataserver事件时标识该事件。

注意事项
如果请求因任何原因失败,将不会出现错误通知或dataserver事件。您可以使用计时器检查过时的请求。

如果您只是希望在查看器窗口中显示代理的显示名称,那么使用查看器URI名称空间和避免dataserver事件可能会更直接,例如:

 llSay(0, "secondlife:///app/agent/" + (string)id + "/displayname");
示例
示例1
key owner_key;
key owner_name_query;
string owner_display_name;
 
default
{
    state_entry()
    {
        owner_key = llGetOwner();
        owner_name_query = llRequestDisplayName(owner_key);
    }
    dataserver(key queryid, string data)
    {
        if ( owner_name_query == queryid )
        {
            owner_display_name = data;
            llSay(0, "The display name of the owner of this script : " + owner_display_name );
        }
    }
}
相关函数
llRequestUsername

llGetDisplayName

相关事件
dataserver