Difference between revisions of "LlModifyLand"

From Second Life Wiki
Jump to navigation Jump to search
m
m (?)
Line 15: Line 15:
|constants=
|constants=
<div>
<div>
<div style="width:auto; height:auto; display:inline;">
<div style="width:auto; height:auto; display:inline; vertical-align:top;">
<div style="display:table-cell; vertical-align:top;" valign="top">
<div style="display:table-cell; vertical-align:top;" valign="top">
{{{!}} class="sortable" border="2" cellspacing="0" cellpadding="3" rules="all" style="margin:0 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#F9F9F9; font-size:90%; empty-cells:show; vertical-align:top;"
{{{!}} class="sortable" border="2" cellspacing="0" cellpadding="3" rules="all" style="margin:0 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#F9F9F9; font-size:90%; empty-cells:show; vertical-align:top;"
Line 49: Line 49:
</div>
</div>
</div>
</div>
<div style="width:auto; height:auto; display:inline;">
<div style="width:auto; height:auto; display:inline; vertical-align:top;">
<div style="display:table-cell; vertical-align:top;" valign="top">
<div style="display:table-cell; vertical-align:top;" valign="top">
{{{!}} class="sortable" border="2" cellspacing="0" cellpadding="3" rules="all" style="margin:0 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#F9F9F9; font-size:90%; empty-cells:show; vertical-align:top;"
{{{!}} class="sortable" border="2" cellspacing="0" cellpadding="3" rules="all" style="margin:0 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#F9F9F9; font-size:90%; empty-cells:show; vertical-align:top;"

Revision as of 14:49, 10 February 2014

Summary

Function: llModifyLand( integer action, integer brush );

Modify land with action on brush

• integer action LAND_* flag
• integer brush LAND_*_BRUSH flag

The position of the prim is used to determine the input for various flags.

Action Description
LAND_LEVEL 0 Levels on prim center
LAND_RAISE 1 Raises the land
LAND_LOWER 2 Lowers the land
LAND_SMOOTH 3 Smooths the land
LAND_NOISE 4 Makes the land rough
LAND_REVERT 5 Restores to baked value
Brush Value Size
LAND_SMALL_BRUSH 0 2m x 2m
LAND_MEDIUM_BRUSH 1 4m x 4m
LAND_LARGE_BRUSH 2 8m x 8m
The constant values in the compiler are wrong.
Use these values instead.

Caveats

  • This function has no effect if the script's owner is offline or not in the same sim as the scripted object.
  • This function has no effect if the scripted object is deeded to a group.
  • Playing with this command, I have found that the LAND_SMALL_BRUSH edits a 4m x 4m area. The LAND_MEDIUM_BRUSH and the LAND_LARGE_BRUSH, both edit an 8m x 8m area. However using 0 instead of LAND_SMALL_BRUSH will edit a 2m x 2m area. I have bug reported this, but until it gets fixed, it should be noted. correct values for the brushes are 0, 1 and 2, not 1, 2, and 3. - Bev
  • If the script is in a prim that is attached to an avatar or is in the child prim of a linkset, then the local position relative to it's attachment point or root prim is used rather than the position within the region. (BUG-4929)

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   Brush constants are all off-by-one.
   llModifyLand modifies wrong location in region, when called in a child prim

Examples

Deep Notes

All Issues

~ Search JIRA for related Issues
   LSL: llModifyLandStrength
   Brush constants are all off-by-one.
   llModifyLand modifies wrong location in region, when called in a child prim

Signature

function void llModifyLand( integer action, integer brush );
integer LAND_SMALL_BRUSH = 1;//Should do 2m x 2m but does 4m x 4m
integer LAND_MEDIUM_BRUSH = 2;//Should do 4m x 4m but does 8m x 8m
integer LAND_LARGE_BRUSH = 3;//8m x 8m