LlReplaceAgentEnvironment

来自人工智能助力教育知识百科
Mkx讨论 | 贡献2020年7月19日 (日) 04:09的版本 (创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: Integer llReplaceAgentEnvironment( key agent_id, float tra…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Template:Needs Translation/


函数名
Function: Integer llReplaceAgentEnvironment( key agent_id, float transition, string environment );
参数:

• key agent_id – 该地区代理商的钥匙。代理必须在该地区,必须参与到体验中。

• float transition – 转换到新设置的秒数。

• string environment – 对象目录中环境设置的名称或环境的资产ID。

返回值:llReplaceAgentEnvironment函数覆盖代理看到的当前区域和包裹环境。新环境持续存在,直到代理跨到新的区域,或者使用特定代理的环境参数中的NULL_KEY或空字符串调用该函数,这样做将删除作为体验的一部分应用于该代理的所有环境设置。这个功能必须作为体验的一部分来执行。

返回一个整数

注意事项
代理的查看器可以选择忽略此命令。

在查看器上本地设置的环境将覆盖从该函数设置的任何环境。

如果UUID作为环境参数传递,并且该UUID没有指定环境设置,则查看器将忽略该指令。

示例
示例1
string gEnvironment = "A-12AM"; // Can be asset's name in object's inventory or the asset ID
float gTransitionTime = 3.0;
 
default
{
    touch_start(integer total_number)
    {
        key person = llDetectedKey(0);
        if (llGetAgentSize(person) != ZERO_VECTOR)
        {
            llRequestExperiencePermissions(person, "");
        }
        else
        {
            llInstantMessage(person, "You need to be in the same region to change environment");
        }
    }
 
    experience_permissions(key agent_id)
    {
        integer envTest = llReplaceAgentEnvironment(agent_id, gTransitionTime, gEnvironment);
        if (envTest == 1)
        {
            llRegionSayTo(agent_id, 0, "Applying environment for " + (string)agent_id);
        }
        else
        {
            llRegionSayTo(agent_id, 0, "Cannot apply environment for " + (string)agent_id + " due to reason id: " + (string)envTest);
        }
    }
 
    experience_permissions_denied(key agent_id, integer reason)
    {
        llRegionSayTo(agent_id, 0, "Denied experience permissions for " + (string)agent_id + " due to reason id: " + (string)reason);
    }
}
相关函数
llSetAgentEnvironment

llGetEnvironment

相关事件

附录:(表格)

Value Constant Description
1 代理已经被指示改变他们的环境。
ENV_INVALID_AGENT -4 无法找到指定的代理。
ENV_NO_ENVIRONMENT -3 找不到环境目录对象。
ENV_NO_EXPERIENCE_LAND -7 经验没有被启用或不能在土地上运行。
ENV_NO_EXPERIENCE_PERMISSION -2 代理没有给予许可。
ENV_NOT_EXPERIENCE -1 脚本没有作为具有有效体验键的体验的一部分运行。
ENV_THROTTLE -8 脚本已经超出了油门。等待并重试请求。