// SPDX-License-Identifier: MIT // Copyright (c) 2026 Incoprea // Timed texture slideshow // Not compiled or tested in-world // Setup: Add licensed textures to a spare display prim; set FACE. Owner-touch starts/stops a ten-second slideshow. // Stop / restore: Touch to restore captured diffuse settings before removing or resetting. // Notes: Original texture and UV settings are saved in memory. The script skips an empty inventory and rechecks texture count on each update. Keep example captions and notecard lines short, preferably ASCII. Character clipping is not UTF-8 byte-budget clipping: multibyte text may reach hover-text or chat limits sooner and be truncated. // License: see LICENSE in this distribution. // Original Incoprea. MIT. Not compiled or tested in-world. integer FACE=0; integer active; integer index; list saved; show() { integer n=llGetInventoryNumber(INVENTORY_TEXTURE); if(!n) { llOwnerSay("No inventory textures."); return; } index=index%n; llSetTexture(llGetInventoryName(INVENTORY_TEXTURE,index++),FACE); } default { state_entry() { saved=llGetLinkPrimitiveParams(LINK_THIS,[PRIM_TEXTURE,FACE]); } touch_start(integer n) { if(llDetectedKey(0)!=llGetOwner())return; active=!active; if(active) { index=0; show(); llSetTimerEvent(10.0); } else { llSetTimerEvent(0.0); llSetLinkPrimitiveParamsFast(LINK_THIS,[PRIM_TEXTURE,FACE]+saved); } } timer() { show(); } }