LlSetLinkPrimitiveParams

From Second Life Wiki

Jump to: navigation, search

Function: llSetLinkPrimitiveParams( integer linknumber, list rules );

328 Function ID
0.2 Delay
10.0 Energy

Set primitive parameters for linknumber based on rules.

• integer linknumber Link number (0: unlinked, 1: root prim, >1: other prims) or a LINK_* flag
• list rules
Flag Description
LINK_ROOT 1 sends to root prim in a linked set
LINK_SET -1 sends to all prims
LINK_ALL_OTHERS -2 sends to all other prims
Flag Description
LINK_ALL_CHILDREN -3 sends to all children
LINK_THIS -4 sends to the prim the script is in
Flag Description Usage
PRIM_TYPE Sets the prim's shape. PRIM_TYPE, integer flag ] + flag_parameters
PRIM_MATERIAL Sets the prim's material. PRIM_MATERIAL, integer flag ]
PRIM_PHYSICS Sets the object's physics status. PRIM_PHYSICS, integer boolean ]
PRIM_TEMP_ON_REZ Sets the object's temporary status. PRIM_TEMP_ON_REZ, integer boolean ]
PRIM_PHANTOM Sets the object's phantom status. PRIM_PHANTOM, integer boolean ]
PRIM_POSITION Sets the prim's position. PRIM_POSITION, vector position ]
PRIM_ROTATION Sets the prim's rotation. PRIM_ROTATION, rotation rot ]
PRIM_SIZE Sets the prim's size. PRIM_SIZE, vector size ]
PRIM_TEXTURE Sets the prim's texture attributes. PRIM_TEXTURE, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians ]
PRIM_COLOR Sets the face's color. PRIM_COLOR, integer face, vector color, float alpha ]
PRIM_BUMP_SHINY Sets the face's shiny & bump. PRIM_BUMP_SHINY, integer face, integer shiny, integer bump ]
PRIM_POINT_LIGHT Sets the prim as a point light. PRIM_POINT_LIGHT, integer boolean, vector color, float intensity, float radius, float falloff ]
PRIM_FULLBRIGHT Sets the face's full bright flag. PRIM_FULLBRIGHT, integer face, integer boolean ]
PRIM_FLEXIBLE Sets the prim as flexible. PRIM_FLEXIBLE, integer boolean, integer softness, float gravity, float friction, float wind, float tension, vector force ]
PRIM_TEXGEN Sets the face's texture mode. PRIM_TEXGEN, integer face, integer type ]
PRIM_GLOW Sets the face's glow attribute. PRIM_GLOW, integer face, float intensity ]
PRIM_CAST_SHADOWS Sets the prim's cast shadow attribute. (DEPRECATED) PRIM_CAST_SHADOWS, integer boolean ]
PRIM_TYPE_LEGACY Sets the prim's shape (legacy mode, DEPRECATED). [ 1, integer flag ] + flag_parameters
Parameter Additional Parameters Description
PRIM_TYPE ] 9 [ integer flag ] Sets the prim shape.
flag Constants Flag Parameters
PRIM_TYPE_BOX 0 [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ]
PRIM_TYPE_CYLINDER 1 [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ]
PRIM_TYPE_PRISM 2 [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ]
PRIM_TYPE_SPHERE 3 [ integer hole_shape, vector cut, float hollow, vector twist, vector dimple]
PRIM_TYPE_TORUS 4 [ integer hole_shape, vector cut, float hollow, vector twist, vector hole_size, vector top_shear, vector advanced_cut, vector taper, float revolutions, float radius_offset, float skew ]
PRIM_TYPE_TUBE 5 [ integer hole_shape, vector cut, float hollow, vector twist, vector hole_size, vector top_shear, vector advanced_cut, vector taper, float revolutions, float radius_offset, float skew ]
PRIM_TYPE_RING 6 [ integer hole_shape, vector cut, float hollow, vector twist, vector hole_size, vector top_shear, vector advanced_cut, vector taper, float revolutions, float radius_offset, float skew ]
PRIM_TYPE_SCULPT 7 [ string mapinteger type ] Sculpted_Prims:_FAQ
  hole_shape Flags Shape hole_shape Flags Shape
PRIM_HOLE_DEFAULT 0x00 Default PRIM_HOLE_SQUARE 0x20 Square
PRIM_HOLE_CIRCLE 0x10 Circle PRIM_HOLE_TRIANGLE 0x30 Triangle
type Flags Style Description
PRIM_SCULPT_TYPE_SPHERE 1 Sphere Converge top & bottom, stitch left side to right
PRIM_SCULPT_TYPE_TORUS 2 Torus Stitch top to bottom, stitch left side to right
PRIM_SCULPT_TYPE_PLANE 3 Plane No stitching or converging
PRIM_SCULPT_TYPE_CYLINDER 4 Cylinder Stitch left side to right.
PRIM_MATERIAL ] 2 [ integer material] Sets the prim's material. The material determines the default collision sound & sprite.
material Flags Description
PRIM_MATERIAL_STONE 0 stone
PRIM_MATERIAL_METAL 1 metal
PRIM_MATERIAL_GLASS 2 glass
PRIM_MATERIAL_WOOD 3 wood
PRIM_MATERIAL_FLESH 4 flesh
PRIM_MATERIAL_PLASTIC 5 plastic
PRIM_MATERIAL_RUBBER 6 rubber
PRIM_MATERIAL_LIGHT 7 light, DEPRECATED: Looks the same as [ PRIM_FULLBRIGHT, ALL_SIDES, TRUE ]
PRIM_PHYSICS ] 3 [ integer boolean ] Physics status llSetStatus
PRIM_TEMP_ON_REZ  4 [ integer boolean ] Temp on rez status llSetStatus
PRIM_PHANTOM ] 5 [ integer boolean ] Phantom status llSetStatus
PRIM_POSITION ] 6 [ vector position ] Position, llSetPos
PRIM_ROTATION ] 8 [ rotation rot ] Rotation, llSetRot
PRIM_SIZE ] 7 [ vector size ] Size, llSetScale
PRIM_TEXTURE, integer face ] 17 [ string texture, vector repeats, vector offsets, float rotation_in_radians ]
Texture: llSetTexture
Repeats: llScaleTexture
Offset: llOffsetTexture
Rotation: llRotateTexture
PRIM_COLOR, integer face ] 18 [ vector color, float alpha ]
Alpha: llSetAlpha
Color: llSetColor
PRIM_BUMP_SHINY, integer face ] 19 integer shiny, integer bump ]
shiny & bump Flags Description
PRIM_SHINY_NONE 0 none
PRIM_SHINY_LOW 1 low
PRIM_SHINY_MEDIUM 2 medium
PRIM_SHINY_HIGH 3 high
PRIM_BUMP_NONE 0 none: no bump map
PRIM_BUMP_BRIGHT 1 brightness: generate from highlights
PRIM_BUMP_DARK 2 darkness: generate from lowlights
PRIM_BUMP_WOOD 3 woodgrain
PRIM_BUMP_BARK 4 bark
PRIM_BUMP_BRICKS 5 bricks
PRIM_BUMP_CHECKER 6 checker
PRIM_BUMP_CONCRETE 7 concrete
PRIM_BUMP_TILE 8 crustytile
PRIM_BUMP_STONE 9 cutstone: blocks
PRIM_BUMP_DISKS 10 discs: packed circles
PRIM_BUMP_GRAVEL 11 gravel
PRIM_BUMP_BLOBS 12 petridish: blobby amoeba like shapes
PRIM_BUMP_SIDING 13 siding
PRIM_BUMP_LARGETILE 14 stonetile
PRIM_BUMP_STUCCO 15 stucco
PRIM_BUMP_SUCTION 16 suction: rings
PRIM_BUMP_WEAVE 17 weave
PRIM_FULLBRIGHT, integer face ] 20 [ integer boolean ]
PRIM_FLEXIBLE ] 21 [ integer boolean, integer softness, float gravity, float friction, float wind, float tension, vector force ]
PRIM_TEXGEN, integer face ] 22 [ integer mode ]
mode Constants Description
PRIM_TEXGEN_DEFAULT 0
PRIM_TEXGEN_PLANAR 1
PRIM_POINT_LIGHT ] 23 [ integer boolean, vector color, float intensity, float radius, float falloff ]
PRIM_GLOW, integer face ] 25 [ float intensity ]
PRIM_CAST_SHADOWS ] 24 [ integer boolean ] Shadow casting for the primitive,DEPRECATED
[ 1 ]
PRIM_TYPE_LEGACY
1 [ integer flag, paramaters ]
flag Constants Flag Parameters
PRIM_TYPE_BOX 0 [ vector cut, float hollow, float twist_end, vector top_size, vector top_shear ]
PRIM_TYPE_CYLINDER 1 [ vector cut, float hollow, float twist_end, vector top_size, vector top_shear ]
PRIM_TYPE_PRISM 2 [ vector cut, float hollow, float twist_end, vector top_size, vector top_shear ]
PRIM_TYPE_SPHERE 3 [ vector cut, float hollow, vector dimple ]
PRIM_TYPE_TORUS 4 [ vector cut, float hollow, float twist_end, float hole_size_y, vector top_shear, vector advanced_cut ]
PRIM_TYPE_TUBE 5 [ vector cut, float hollow, float twist_end, float topshear_x ]

Caveats

  • This function causes the script to sleep for 0.2 seconds.
  • If texture is missing from the prim's inventory and it is not a UUID or it is not a texture then an error is shouted on DEBUG_CHANNEL.
  • If texture is a UUID then there are no new asset permissions consequences for the object.
    • The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.
  • If map is missing from the prim's inventory and it is not a UUID or it is not a texture then an error is shouted on DEBUG_CHANNEL.
  • If map is a UUID then there are no new asset permissions consequences for the object.
    • The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.
  • If face is ALL_SIDES then the flag works on all sides.
  • The flag silently fails if its face value indicates a face that does not exist
  • Applying an operation to LINK_SET is applied first to the root prim, then to each child prim.
  • The sim will clamp attributes before storing them.
  • The client will clamp attributes before rendering.
  • There is currently no corresponding llGetLinkPrimitiveParams.
    • The only way to get many parameters from linked prims is to put a separate script in each child and use linked messages.

Examples

A simple script to light up a prim in a linkset when touched, and unlight the others using llSetLinkPrimitiveParams, when script is installed in the root prim of the linkset.

 
default
{
    touch_start(integer total_number)
    {
        // Turn off all prims
        llSetLinkPrimitiveParams(LINK_SET,[PRIM_FULLBRIGHT,ALL_SIDES,FALSE]);
        // Turn on the one that was touched
        llSetLinkPrimitiveParams(llDetectedLinkNumber(0),[PRIM_FULLBRIGHT,ALL_SIDES,TRUE]);        
    }
}
 

Notes

Note that avatars sitting on the object can be moved with this function as well. See llSitTarget#Useful_Snippets for an example of this.

See Also

Functions

•  llGetLinkNumber Returns the link number of the prim the script is in.
•  llSetPrimitiveParams Set many primitive parameters
•  llGetPrimitiveParams Get many primitive parameters
•  llSetLinkAlpha
•  llSetLinkColor
•  llSetLinkTexture

Articles

•  Color in LSL
•  Translucent Color
Personal tools