“LlRequestDisplayName”的版本间的差异

来自人工智能助力教育知识百科
跳转至: 导航搜索
(创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: key llRequestDisplayName( key id ); |参数= 参数:key…”)
 
Mkx讨论 | 贡献
 
第1行: 第1行:
 
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}}
 
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}}
  
 
+
{|
 +
'''安全警告!'''
 +
将任何安全措施绑定到显示名称是一个糟糕的想法;它们不是独一无二的,而且很容易改变。
 +
----
 +
'''数据执行警告!'''
 +
显示名称可以包含引号和一些标点符号。虽然这对LSL来说不是问题,但记住要对传递给命令行脚本、sql查询等的字符串进行转义。
 +
|}
 
{{函数详情
 
{{函数详情
 
|函数名 = Function: key llRequestDisplayName( key id );
 
|函数名 = Function: key llRequestDisplayName( key id );

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