LlSetAgentEnvironment
首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
函数名 |
---|
Function: llSetAgentEnvironment( key agent_id, float transition, list params ); |
参数: key agent_id –该地区代理商的钥匙。代理必须在该地区,必须参与到体验中。
• float transition – 转换到新设置的秒数。 • list params – 要从当前环境检索的参数列表。详见附录。 |
返回值:此函数为体验中的单个代理设置环境值。对环境的更改一直持续到代理移动到一个新的区域,或者对一个空列表的代理调用llSetAgentEnvironment。在参数中传递一个空列表将删除应用于该代理的所有环境设置(作为体验的一部分) |
注意事项 |
---|
有效参数列表与llGetEnvironment可用的参数列表不同。
代理的查看器可以选择忽略此命令。 在查看器上本地设置的环境将覆盖从该函数设置的任何环境。 |
示例 |
---|
float gTransitionTime = 3.0; list gListEnvironmentParams = [ SKY_CLOUD_TEXTURE, TEXTURE_PLYWOOD, SKY_GAMMA, 10.0, WATER_NORMAL_SCALE, <5.0, 5.0, 5.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 = llSetAgentEnvironment(agent_id, gTransitionTime, gListEnvironmentParams); 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); } } |
相关函数 |
---|
llReplaceAgentEnvironment |
相关事件 |
---|
无 |
附录:(表格)
Value | Constant | Description |
---|---|---|
1 | 代理已经被指示改变他们的环境。 | |
ENV_INVALID_AGENT | -4 | 无法找到指定的代理。 |
ENV_INVALID_RULE | -5 | 有一条规定出了问题。 |
ENV_NO_ENVIRONMENT | -3 | 找不到环境目录对象。 |
ENV_NO_EXPERIENCE_LAND | -7 | 经验没有被启用或不能在土地上运行。 |
ENV_NO_EXPERIENCE_PERMISSION | -2 | The agent has not granted permission. |
ENV_NOT_EXPERIENCE | -1 | 脚本没有作为具有有效体验键的体验的一部分运行。 |
ENV_THROTTLE | -8 | 脚本已经超出了限制。等待并重试请求。 |
ENV_VALIDATION_FAIL | -6 | 无法验证传递的值。 |
Parameters
Parameter | Constant | Return values
!Description | |
---|---|---|---|
SKY_CLOUD_TEXTURE | 19 | string texture_ident | 物品清单中的物品名称或用于云的纹理的UUID。 |
SKY_CLOUDS | 2 | vector color, float coverage, float scale, float variance, vector scroll, vector density, vector detail | 云环境信息:
颜色:用于云彩的颜色。 range = [<0,0,0>, <1,1,1>] 覆盖率:覆盖率百分比。 range = [0,1] 缩放:应用于云纹理的缩放。 range = (0 - 3) 方差:应用于主云层的随机因子。 range = [0,1] 滚动:云的滚动速度。X为东/西,Y为北/南,Z未使用。 range = [<-50,-50>, <50,50>] 密度:用于生成云密度的X/Y和D参数。 range = [<0,0,0>, <1,1,3>] detail:用于生成云细节的X/Y和D参数。 range = [<0,0,0>, <1,1,1>] |
SKY_DOME | 4 | float offset, float radius, float max_altitude | 天空穹顶的信息。
偏移:应用于天空穹顶的偏移。 范围= [0,1] 半径:天空穹顶的半径。 范围=(1000、2000) max_altitude:天空穹顶的高度。 范围= [0,10000) |
SKY_GAMMA | 5 | float gamma | 应用于场景的伽马值。
范围= [0,20) |
SKY_GLOW | 6 | float glow_size, float glow_focus | 太阳和月亮的光芒。
glow_size:发光效果的大小。 range = [0.2, 40] glow_focus:聚焦辉光效果。 范围(-10,10) |
SKY_MOON | 9 | rotation rot, float scale, float brightness | 详细的月球信息:
rot:当前对月球的旋转。 规范化的旋转。 缩放:当前应用于月球纹理的缩放。 range = [0.25, 20] 亮度:月亮的亮度。 范围= [0,1] |
SKY_MOON_TEXTURE | 20 | string texture_ident | 目录中的纹理名称或用于月球的纹理的UUID。 |
SKY_PLANET | 10 | float planet_radius, float sky_bottom_radius, float sky_top_radius | 用于渲染天空的行星信息。
planet_radius: range = [1000, 32768] sky_bottom_radius: range = [1000, 32768] sky_top_radius: range = [1000, 32768] |
SKY_REFRACTION | 11 | float moisture_level, float droplet_radius, float ice_level | 彩虹和光学效果的天空折射参数。
湿度等级:范围= [0,1] droplet_radius: range = [5,1000] ice_level: range = [0,1] |
SKY_STAR_BRIGHTNESS | 13 | float brightness | 亮度值适用于恒星。
范围= [0500] |
SKY_SUN | 14 | rotation rot, float scale, vector sun_color | 太阳的详细信息:
rot:当前对太阳的旋转。 规范化的旋转。 缩放:当前应用于太阳纹理的缩放。 range = [0.25, 20] 太阳的颜色:太阳的颜色。 range = [<0,0,0>, <1,1,1>] |
SKY_SUN_TEXTURE | 21 | string texture_ident | 目录中的纹理名称或用于太阳的纹理的UUID。 |
WATER_BLUR_MULTIPLIER | 100 | float multiplier | 在水下使用倍增器模糊场景。
range = [-0.5, 0.5] |
WATER_FOG | 101 | vector color, float density, fload modulation | 水下应用雾参数:
颜色:水下雾的颜色。 range = [<0,0,0>, <1,1,1>] 密度:雾的密度指数。 range = [- 10,10] 调制: range = [0,20] |
WATER_FRESNEL | 102 | float offset, float scale | 菲涅耳散射作用于水面。
偏移量:range = [0,1] 范围:range = [0,1] |
WATER_NORMAL_SCALE | 104 | float offset, float scale | 施加在水面上的snel散射。
偏移量:range = [0,1] 范围:range = [0,1] |
WATER_NORMAL_TEXTURE | 107 | string texture_ident | 在目录中的纹理名称或用于水法线的纹理UUID。 |
WATER_REFRACTION | 105 | float scale_above, float scale_below | 透过水面观察时的折射因子。
scale_above: range = [0,3] scale_below: range = [0,3] |
WATER_WAVE_DIRECTION | 106 | vector large_wave, vector small_wave | 矢量表示波的方向,Y代表北/南,X代表东西运动。
大波:大波的速度和方向。 range = [<-20, -20>, <20, 20>] 小波:小波的速度和方向。 range = [<-20, -20>, <20, 20>] |