Skip to content
lsl.devlsl.devLSL Dev

llSetEnvironment

function
Function syntax
integer llSetEnvironment(
  1. vector position,// Position vector in region coordinates to specify the target parcel, or <-1.0, -1.0, z> for the entire region (where z specifies the sky track, or -1 for all tracks).
  2. list params// A list of environmental attributes and values to apply (or empty to clear).
);
Returns
integer
Energy
10

This function overrides the environmental settings for a region or a parcel. The owner of the script must have permission to modify the environment on the parcel or be an estate manager to change the entire region.

An override for a given parameter can be set at the region scope or parcel scope. It can also be set for a single sky track, all sky tracks, or both. If an override of a given parameter is specified for both an individual track and all tracks, the individual track’s override takes priority.

Note that the list of valid parameters differs from those available for llGetEnvironment.

How to use
integer result = llSetEnvironment(ZERO_VECTOR, []);
From the LSL definitions: EnvironmentParam (rule, then its arguments)
// Sun, moon and starsSKY_SUN, rotation rot, float scale, vector sun_colorSKY_MOON, rotation rot, float scale, float brightnessSKY_SUN_TEXTURE, string texture_ident  // inventory name or UUIDSKY_MOON_TEXTURE, string texture_ident  // inventory name or UUIDSKY_GLOW, float glow_size, float glow_focusSKY_STAR_BRIGHTNESS, float brightness  // 0 to 500// Sky colour and atmosphereSKY_AMBIENT, vector colorSKY_BLUE, vector blue_density, vector blue_horizonSKY_HAZE, float density, float horizon, float density_multiplier, float distance_multiplierSKY_GAMMA, float gamma  // 0 to 20SKY_DOME, float offset, float radius, float max_altitudeSKY_PLANET, float planet_radius, float sky_bottom_radius, float sky_top_radiusSKY_REFRACTION, float moisture_level, float droplet_radius, float ice_levelSKY_REFLECTION_PROBE_AMBIANCE, float ambiance  // 0.0 to 10.0// CloudsSKY_CLOUDS, vector color, float coverage, float scale, float variance, vector scroll, vector density, vector detailSKY_CLOUD_TEXTURE, string texture_ident  // inventory name or UUID// WaterWATER_FOG, vector color, float density, float modulationWATER_NORMAL_TEXTURE, string texture_ident  // inventory name or UUIDWATER_NORMAL_SCALE, vector scale  // <0,0,0> to <10,10,10>WATER_WAVE_DIRECTION, vector large_wave, vector small_waveWATER_FRESNEL, float offset, float scaleWATER_REFRACTION, float scale_above, float scale_belowWATER_BLUR_MULTIPLIER, float multiplier  // -0.5 to 0.5

Return Values

ValueConstantDescription
ENV_OK1The parcel or region will attempt to change the applied environment.
ENV_NO_ENVIRONMENT-3There is no environment on this parcel to modify.
ENV_INVALID_RULE-5There was an issue with one of the rules.
ENV_VALIDATION_FAIL-6Unable to validate values passed.
ENV_THROTTLE-8The scripts have exceeded the throttle. Wait and retry the request.
ENV_NO_PERMISSIONS-9The script does not have rights to modify this parcel or region.
parameterinteger valuevalues to setdescription
SKY_CLOUDS, vector color, float coverage, float scale, float variance, vector scroll, vector density, vector detail, integer is_default2vector color, float coverage, float scale, float variance, vector scroll, vector density, vector detail

Environmental cloud information:

  • color: The color used for the clouds.

    range = [<0,0,0>, <1,1,1>]

  • coverage: The coverage percentage.

    range = [0, 1]

  • scale: The scaling applied to the cloud textures.

    range = (0 - 3]

  • variance: A randomizing factor applied to the main cloud layer.

    range = [0, 1]

  • scroll: The scroll speed of the clouds. X is east/west, Y is north/south, and Z is unused.

    range = [<-50,-50>, <50,50>]

  • density: The X/Y and D parameter used to generate cloud density.

    range = [<0,0,0>, <1,1,3>]

  • detail: The X/Y and D parameter used to generate cloud details.

    range = [<0,0,0>, <1,1,1>]

SKY_CLOUD_TEXTURE19string texture_identName of item in inventory or UUID for texture to be used for the clouds.
SKY_DOME, float offset, float radius, float max_altitude4float offset, float radius, float max_altitude

Sky dome information.

  • offset: offset applied to the sky dome.

    range = [0,1]

  • radius: radius of the sky dome.

    range = [1000,2000]

  • max_altitude: altitude of the sky dome.

    range = [0,10000]

SKY_GAMMA5float gammaThe gamma value applied to the scene.
range = [0,20]
SKY_GLOW, float glow_size, float glow_focus6float glow_size, float glow_focus

Glow applied to the sun and moon.

  • glow_size: size of glow effect.

    range = [0.2, 40]

  • glow_focus: focus of glow effect.

    Range [-10, 10]

SKY_MOON, rotation rot, float scale, float brightness, integer is_default_texture, vector direction, vector ambient_color, vector diffuse_color9rotation rot, float scale, float brightness

Detailed moon information:

  • rot: The current rotation applied to the moon.

    Normalized rotation.

  • scale: The current scale applied to the moon’s texture.

    range = [0.25, 20]

  • brightness: The moon’s brightness.

    range = [0,1]

SKY_MOON_TEXTURE20string texture_identName of texture in inventory or UUID for texture to be used for the moon.
SKY_STAR_BRIGHTNESS13float brightnessBrightness value applied to stars.
range = [0,500]
SKY_SUN, rotation rot, float scale, vector sun_color, integer is_default_texture, vector direction, vector ambient_color, vector diffuse_color14rotation rot, float scale, vector sun_color

Detailed sun information:

  • rot: The current rotation applied to the sun.

    Normalized rotation.

  • scale: The current scale applied to the sun’s texture.

    range = [0.25, 20]

  • sun_color: The sun’s color.

    range = [<0,0,0>, <1,1,1>]

SKY_SUN_TEXTURE21string texture_identName of texture in inventory or UUID for texture to be used for the sun.
SKY_PLANET, float planet_radius, float sky_bottom_radius, float sky_top_radius10float planet_radius, float sky_bottom_radius, float sky_top_radius

Planet information used in rendering the sky.

  • planet_radius: range = [1000, 32768]
  • sky_bottom_radius: range = [1000, 32768]
  • sky_top_radius: range = [1000, 32768]
SKY_REFRACTION, float moisture_level, float droplet_radius, float ice_level11float moisture_level, float droplet_radius, float ice_level

Sky refraction parameters for rainbows and optical effects.

  • moisture_level: range = [0, 1]
  • droplet_radius: range = [5, 1000]
  • ice_level: range = [0, 1]
WATER_BLUR_MULTIPLIER100float multiplierMultiplier applied to blur the scene when under water. range = [-0.5, 0.5]
WATER_FOG, vector color, float density, float modulation101vector color, float density, fload modulation

Fog parameters applied when underwater:

  • color: The color of the underwater fog.

    range = [<0,0,0>, <1,1,1>]

  • density: Density exponent applied to the fog.

    range = [-10, 10]

  • modulation:

    range = [0, 20]

WATER_FRESNEL, float offset, float scale102float offset, float scale

Fresnel scattering applied to the surface of the water.

  • offset: range = [0,1]

scale: range = [0,1]

WATER_NORMAL_TEXTURE107string texture_identName of texture in inventory or UUID of texture to be used for the water normal.
WATER_NORMAL_SCALE104vector scaleScaling applied to the water normal map. range = [<0,0,0>, <10,10,10>]
WATER_REFRACTION, float scale_above, float scale_below105float scale_above, float scale_below

Refraction factors when looking through the surface of the water.

  • scale_above: range = [0, 3]
  • scale_below: range = [0, 3]
WATER_WAVE_DIRECTION, vector large_wave, vector small_wave106vector large_wave, vector small_wave

Vector for the directions of the waves Y represents north/south and X represents movement east/west.

  • large_wave: Large wave speed and direction.

    range = [<-20, -20>, <20, 20>]

  • small_wave: Small wave speed and direction.

    range = [<-20, -20>, <20, 20>]

SKY_AMBIENT0vector colorAmbient color used in the scene.
SKY_BLUE, vector blue_density, vector blue_horizon22vector blue_density, vector blue_horizonChange the colors used to calculate blue density and blue horizon in the environment.
SKY_HAZE, float density, float horizon, float density_multiplier, float distance_multiplier23float density, float horizon, float density_multiplier, float distance_multiplierValues used to calculate the impact of blue_density and blue_horizon on the scene lighting.
SKY_REFLECTION_PROBE_AMBIANCE24float ambianceMinimum ambiance value for all reflection probes. range = [0.0, 10.0] Caveat: This feature will be supported in the upcoming GLTF Materials project. Currently it will only work in supported testing areas with a supported test viewer.
  • An environment set locally on the viewer will override any environment set from this function.
  • When changing a parcel’s environment it must first have had an environment set.
  • If the parcel is group-owned, the script must either be deeded to the group, or the script owner must have “Modify environment settings and day cycle” group ability and have an active agent in the sim.
  • The ENV_OK constant is only present on Lua-enabled sims. On older sims, use it’s value of 1 instead

Date of Release 12/08/2022

Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.