Skip to content
lsl.devlsl.devLSL Dev

llSetLinkTexture

function
Function syntax
llSetLinkTexture(
  1. integer link,// Link number (1 for root, >1 for children) or a LINK_* flag. Values: Links
  2. string texture,// Name of a texture in the prim's inventory, or a UUID.
  3. integer face// Face number or ALL_SIDES. Values: Faces
);
Delay
0.2 s
Energy
10

If a prim exists in the link set at link, set Blinn-Phong diffuse texture on face of that prim.

How to use
llSetLinkTexture(0, "", 0);
Cover a link set in the texture “bark” (from the library)
default
{
touch_start(integer detected)
{
llSetLinkTexture(LINK_SET, "66bf4030-04f9-a808-43ab-b48b6aeb6456", ALL_SIDES);
}
}

This function doesn’t have the 0.2 second delay. It’s not very fast anyway though, but faster than llSetLinkTexture.

SetLinkTextureFast(integer link, string texture, integer face)
{
// Obtain the current texture parameters and replace the texture only.
// If we are going to apply the texture to ALL_SIDES, we need
// to adjust the returned parameters in a loop, so that each face
// keeps its current repeats, offsets and rotation.
list Params = llGetLinkPrimitiveParams(link, [PRIM_TEXTURE, face]);
integer idx;
face *= face > 0; // Make it zero if it was ALL_SIDES
// This part is tricky. The list returned by llGLPP has a 4 element stride
// (texture, repeats, offsets, angle). But as we modify it, we add two
// elements to each, so the completed part of the list has 6 elements per
// stride.
integer NumSides = llGetListLength(Params) / 4; // At this point, 4 elements per stride
for (idx = 0; idx < NumSides; ++idx)
{
// The part we've completed has 6 elements per stride, thus the *6.
Params = llListReplaceList(Params, [PRIM_TEXTURE, face++, texture], idx*6, idx*6);
}
llSetLinkPrimitiveParamsFast(link, Params);
}

From the issue templates included by the wiki article:

  • SVC-1500 (bug): llSetLinkTexture fails and reports an error on textures created by someone else without full permissions
  • SVC-3199 (bug): <code>llSetLinkTexture(LINK_THIS, foo, bar)</code> does not work for non-full-perm textures.
  • SVC-914 (bug): CHANGED_TEXTURE is not triggered when texture is changed via script
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.