Scripting Features

  • Search existing ideas before submitting
  • Use support.secondlife.com for customer support issues
  • Keep posts on-topic
Thank you for your ideas!
[Function Request] llAttachToAvatarTempFromInventory()
A new function, llAttachToAvatarTempFromInventory(integer AttachmentPoint, string ItemName) , that allows an already attached object to temporarily attach items from that object's inventory without triggering a permission prompt. Use Case: Currently, HUDs and wearable objects must pre-attach all possible assets or rely on cumbersome rezzing workarounds to swap out attachments dynamically. This leads to performance issues due to high prim counts and complexity. A smoother system would be beneficial for: Modular HUDs: Hide/show different components without inflating linksets. Helps with keeping resources low when the main hud is worn at all time. Handheld Items: A backpack could let a user select and equip objects (e.g., food, tools, toys) seamlessly. App-Based Wearables: A "smartphone" HUD could swap out apps dynamically without needing excessive link changes or manual updates. Why It’s Needed: Better UX: No unnecessary permission pop-ups for already attached objects. More Flexibility: Allows seamless temporary attachments without excessive preloading. Performance Gains: Reduces linkset size and avoids multiple workarounds. Proposed Behavior: If the calling object is already attached, it can attach another item from the object's inventory without requiring a permission prompt. If the calling object is not attached, it must request attachment permissions as usual. If the user sits on an object, it must still ask for attachment permissions, following existing conventions. This function would streamline many workflows and enhance interactivity in Second Life while respecting user control.
5
·

tracked

Enhancements to `llGiveAgentInventory` for Folder Management and Depth Expansion
Summary: Enhance llGiveAgentInventory to provide better folder management and allow deeper inventory hierarchy, enabling more complex inventory structures for scripted outfit and appearance management systems. Proposed Enhancements: New Flag for Folder Reuse - Introduce an additional flag ( TRANSFER_REUSE_FOLDER ) that, when set, will place items in an existing destination folder if it already exists, rather than creating a duplicate. - This will prevent unnecessary clutter in a user’s inventory when updating or managing scripted items. Increase Maximum Folder Depth - Expand the allowable inventory path depth from 4 levels to 8 levels when using TRANSFER_DEST . - This allows for more granular organization, which is particularly useful for modular outfit management systems where users need to organize appearance layers and accessories effectively. Use Case: A scripted outfit management system needs to store various items in a structured way, such as: #RLV | Product/Region | Outfits | Sci-Fi | Armor | Chest | V1 #RLV | Product/Region | Outfits | Sci-Fi | Armor | Chest | V2 #RLV | Product/Region | Outfits | Fantasy | Robes | Mage | Red #RLV | Product/Region | Outfits | Fantasy | Robes | Mage | Blue The current depth limitation (4 levels) makes this approach unworkable. By increasing the depth to 8, systems that manage avatar appearances dynamically can maintain organization without workarounds like splitting folders into separate deliveries and having the user manually move them. Additionally, without TRANSFER_REUSE_FOLDER , every time a scripted system attempts to add to an outfit folder, it creates duplicates, making inventory organization difficult for users. This flag would ensure updates and additions go into the existing folder seamlessly. Expected Benefits: Improved Inventory Organization – Prevents unnecessary duplicate folders when updating outfits or items. Greater Flexibility for Outfit Management – Allows deeper categorization, benefiting modular and layered appearance systems. Better User Experience – Reduces clutter and streamlines scripted inventory transfers. These enhancements will significantly improve usability for content creators and users relying on automated inventory systems. Thank you for considering this feature request!
1
[Function Requests] llGetGroupDetails
Currently, the process to obtain group information is extremely limited. For avatars, pulling the UUID via llGetObjectDetails with a list entry given by llGetAttachedList is the only way. Objects themselves being only able to natively return the group UUID via llGetObjectDetails, but obtaining additional details about the group is not possible with any existing function. The only way to pull the name of the group an avatar/object is set to is via the group's webpage which requires running a HTML request, with other things such as the group's texture being pulled the same way. Due to these reasons, trying to set up systems which interface with groups has been largely unintuitive and unreliable beyond a simple true-or-false check. The goal of this request is to create simple functions that can pull group information directly ingame without having to call upon external resources, in addition to adding ways to pull the specific information of a group which there is currently no function for. Examples: string llGetGroupKey(key UUID) - Returns the group UUID active on object or avatar. string llGetGroupName(key Group_UUID) - Returns a string that is the group's name string llGetGroupTexture(key Group_UUID) - Returns the UUID that is the texture set to the group. string llGetGroupDesc(key Group_UUID) - Returns a string that is the description of the group. integer llGetGroupRating(key Group_UUID) - Returns 0 if group is General, or 1 if the rating is set to Moderate. list llGetGroupDetails(key UUID, list flags) - Returns a list containing the information request in 'flags'. Valid flags would be GROUP_KEY, GROUP_NAME, GROUP_TEXTURE, GROUP_DESC, GROUP_RATING.
4
·

tracked

Add a Text Rendering Method
Add a new function LSL function named llRenderText or similar, which allows users to dynamically render text, with limited but flexible formatting, onto the face of their choosing. Concept: // Signature llRenderText(integer face, string text, list params); // Basic example llRenderText(ALL_FACES, "Lorem ipsum...", [ FONT_ALIGN, "right", FONT_WEIGHT, "bold", FONT_FAMILY, "sans serif" ]); Rationale Text is ubiquitous, yet Second Life has no way for users to display text other than uploading a texture, setting floating text using llSetText , or using relatively resource intensive solution such as XyText/Furware/et al. This absence precludes interesting features, such as being able to create a responsive interactive terminal in Second Life, HUDs with dynamic text, etc. A scripted and efficient text solution that displays on the face of a prim/mesh would give Second Life the biggest bang for the buck: Limited in scope (easier to implement than grand UI-creation ideas) Easy to kitbash into existing and new creations For inspiration, you can look to how the Text Display widget is implemented in the Playstation game Dreams. It has limited options: a finite number of fonts and formatting options, but the fact that it can be combined with other content makes it rather powerful. Other details Font color, opacity, glow, etc are controlled by prim properties (Example: setting face color to red sets font color to red) Questions Should the background always be transparent? Creators could put another prim behind the text display face to give it a background, or it could be a property of the render params. Possible Parameters FONT_WEIGHT FONT_STYLE FONT_FAMILY FONT_VERTICAL_ALIGN FONT_HORIZONTAL_ALIGN FONT_TEXT_WRAP FONT_LINE_HEIGHT FONT_SIZE Possible Features Markdown / rich text
30
·

tracked

Load More