// SPDX-License-Identifier: MIT // Copyright (c) 2026 Incoprea // Resolve aliases with cycle protection // Not compiled or tested in-world // Setup: Edit the small sample lists and touch as owner. These examples print previews only. // Stop / restore: Remove or disable; no simulator objects or persistent records are changed. // Notes: Alias keys must be unique. The traversal is bounded and reports loops rather than hanging; it does not execute the resolved text. // License: see LICENSE in this distribution. // Original Incoprea example. MIT. list ALIASES=["old-lamp","garden-lamp","garden-lamp","lamp-v3"]; string START="old-lamp"; default { touch_start(integer touches) { if(llDetectedKey(0)!=llGetOwner())return; if(llGetListLength(ALIASES)%2 || llGetListLength(ALIASES)>40) { llOwnerSay("Use up to 20 alias pairs."); return; } list keys; integer i; for(i=0;i