Closed sl-service-account closed 8 months ago
bubblecannon commented at 2022-03-02T01:06:15Z
This would be incredibly useful.
Moy Loon commented at 2022-03-02T02:03:46Z
Seems like the inventory details could be very expensive and more dataserver-like. Just because there's an asset in an object, doesn't mean that the sim has it stored locally.
I think there may be privacy concerns if you can just get loads of information about objects outside of the linkset too.
dantia Gothly commented at 2022-03-02T11:03:16Z, updated at 2022-03-02T11:27:36Z
I don't think it would be expensive at all, I also do get the impression that the conents of objects are cached in the sim so those details should be accessable.
calls more likely be more limited to only returning details about a given type so small calls like
float animation_length = llList2Float(llGetLinkedInventoryDetails(LINK_THIS,INVENTORY_ANIMATION,Anim_index,INVENTORY_ANIMATION_LENGTH),0);
I do agree that adding it to llGetObjectDetails might have security risk but if implemented correctly with permissions checks should be fine.
I don't know what the server code looks like nor do I work on the client. I'm just a content creator. This function would allow me to make better things.
Kyle Linden commented at 2022-03-02T19:09:06Z
Hello, and thank you for your feature request.
Incoming suggestions are reviewed in the order they are received by a team of Lindens with diverse areas of expertise. We consider a number of factors: Is this change possible? Will it increase lag? Will it break existing content? Is it likely that the number of residents using this feature will justify the time to develop it? This wiki page further describes the reasoning we use: http://wiki.secondlife.com/wiki/Feature_Requests
This particular suggestion, unfortunately, cannot be tackled at this time. However, we regularly review previously deferred suggestions when circumstances change or resources become available.
We are grateful for the time you took to submit this feature request. We hope that you are not discouraged from submitting others in the future. Many excellent ideas to improve Second Life come from you, our residents. We can’t do it alone.
Thank you for your continued commitment to Second Life.
How would you like the feature to work?
llGetLinkedInventoryDetails should return a list of values respective of the Inventory_Type. Sounds would include options such as Sound_Length, Sound_Radius, Sound_Volume. Animations would return values like Animation_Length, Animation_Priority, Animation_Ease_In, Animation_Ease_out, Animation_Is_Looped and so on for each of the Inventory Types.
Most if not all of this information already exists for all of these inventory types when you inspect them. This information already exists on the server. We should be able to access this information using LSL
Example:
float animation_length = llList2Float(llGetLinkedInventoryDetails(LINK_THIS,INVENTORY_ANIMATION,Anim_index,INVENTORY_ANIMATION_LENGTH),0);
This function would work along side my previous LSL feature request for expanding the get inventory functions here. https://jira.secondlife.com/browse/BUG-231848
llGetInventoryName() would be expanded to llGetLinkInventoryName(); and so on for each of the get inventory functions.
llGetObjectDetails Should also include options for getting the contents of objects.
Example:
list llGetObjectDetails(key id,[integer INVENTORY_TYPE, INVENTORY_NAME,integer index]);
Animations:
ANIMATION_NAME - string
ANIMATION_DESC - string
ANIMATION_CREATOR - key
ANIMATION_LENGTH - float
ANIMATION_PRIORITY - integer
ANIMATION_EASE_IN - float
ANIMATION_EASE_OUT - float
ANIMATION_IS_LOOPED - integer
ANIMATION_JOINTS - integer
ANIMATION_PERMISSION - integer
Sounds:
SOUND_NAME - string
SOUND_DESC - string
SOUND_CREATOR - key
SOUND_CREATION_DATE - string
SOUND_LENGTH - float
SOUND_VOLUME - float
SOUND_IS_LOOPED - integer
SOUND_PERMISSION - integer
Textures:
TEXTURE_NAME - string
TEXTURE_DESC - string
TEXTURE_CREATOR - key
TEXTURE_DATE - string
TEXTURE_SIZE - vector
TEXTURE_ASPECT_RATIO - float
TEXTURE_IS_LOSSLESS - integer
TEXTURE_HAS_ALPHA - integer
TEXTUIRE_PERMISSOIN - integer
objects:
OBJECT_NAME - string
OBJECT_DESCRIPTION - string
OBJECT_CREATOR - key
OBJECT_CREATION_DATE - string
OBJECT_TYPE - integer ( MESH, PRIM or SCULPT )
OBJECT_IS_TEMP - interger
OBJECT_IS_PHYSICAL - integer
OBJECT_IS_SCRIPTED - integer
OBJECT_PHYS_SHAPE - integer (none, prim or convex)
OBJECT_GRAVITY - float
OBJECT_FRICTION - float
OBJECT_DENSITY - float
OBJECT_ANIMESH_ENABLED - integer
OBJECT_LIGHT_ENABLED - integer
OBJECT_POINT_LIGHT_ENABLED - integer
OBJECT_LIGHT_COLOR - vector
OBJECT_FLEXABLE_ENABLED - integer
OBJECT_MATERIAL_TYPE - integer
OBJECT_SCRIPT_ENABLED - integer ( is the script inside the object set to running or not)
OBJECT_IS_PHANTOM - integer
OBJECT_PERMISSOIN - integer
scripts:
SCRIPT_NAME - string
SCRIPT_DESC - string
SCRIPT_CREATOR - key
SCRIPT_CREATION_DATE - string
SCRIPT_MEMORY - float
SCRIPT_LINE_COUNT - integer
SCRIPT_PERMISSION - integer
Landmarks:
LANDMARK_REGION - string
LANDMARK_SLURL - string
LANDMARK_RESTRICTIONS - integer
LANDMARK_MATURITY - integer
LANDMARK_CREATOR - key
LANDMARK_CREATION_DATE - string
LANDMARK_INFO - string
LANDMARK_TITLE - string
LANDMARK_NOTES - string
LANDMARK_PERMISSION - integer
Notecards:
NOTECARD_NAME - string
NOTECARD_DESC - string
NOTECARD_CREATOR - key
NOTECARD_CREATION_DATE - string
NOTECARD_NUMBER_OF_LINES - integer
NOTECARD_NUMBER_OF_CHARACTERS - integer
NOTECARD_INCLUDES_CONTENTS - integer (notecard has items in it TRUE / FALSE)
NOTECARD_CONTENT_TYPES - integer (Returns the different types if contents contained within the notecard.)
NOTECARD_PERMISSION - integer
Gestures:
GESTURE_NAME - string
GESTURE_DESC - string
GESTURE_TRIGGER - string
GESTURE_REPLACED_TRIGGER - string
GESTURE_SHORTCUT_KEY - string ( should return string valueA, string valueB. for example CTRL , A)
GESTURE_STEPS - integer (number of steps)
GESTURE_PERMISSION - integer
Bodyparts:
BODYPART_NAME - string
BODYPART_DESC - string
BODYPART_CREATOR - key
BODYPART_CREATION_DATE - string
BODYPART_TYPE - integer (eyes, body, legs, arms, hair etc.)
BODYPART_COLOR - vector ( returns the color value for a seclted body part)
BODYPART_PERMISSION - integer
Settings: (Env \ Windlight)
SETTINGS_NAME - string
SETTINGS_DESC - string
SETTINGS_CREATOR - key
SETTINGS_CREATION_DATE - string
SETTINGS_PERMISSION - integer
SETTINGS_AMBIENT_COLOR - vector
SETTINGS_HORIZON_COLOR - vector
SETTINGS_DENSITY_COLOR - vector
SETTINGS_HAZE_HORIZON - float
SETTINGS_HAZE_DENSITY - float
SETTINGS_MOISTURE_LEVEL - float
SETTINGS_DROPLET_RADIUS - float
SETTINGS_ICE_LEVEL - float
SETTINGS_DENSITY_MULTIPLIER - float
SETTINGS_DISTANCE_MULTIPLIR - float
SETTINGS_SCENE_GAMMA - float
SETTINGS_CLOUD_COVERAGE - float
SETTINGS_CLOUD_SCALE - float
SETTINGS_CLOUD_VARIANCE - float
SETTINGS_CLOUD_SCROLL - vector
SETTINGS_CLOUD_IMAGE - key
SETTINGS_CLOUD_COLOR - vector
SETTINGS_CLOUD_DENSITY - vector
SETTINGS_DETAIL - vector
SETTINGS_SUN_POSITOIN - vector
SETTINGS_SUN_TEXTURE - key
SETTINGS_SUN_AZIMUTH - float
SETTINGS_SUN_ELEVATION - float
SETTINGS_SUN_FOCUS - float
SETTINGS_SUN_SCALE - vector
SETTINGS_SUN_GLOW - float
SETTINGS_STAR_BRIGHTNESS - float
SETTINGS_MOON_POSITOIN - vector
SETTINGS_MOON_TEXTURE - key
SETTINGS_MOON_SCALE - vector
SETTINGS_MOON_AZIMUTH - float
SETTINGS_MOON_ELEVATION - float
SETTINGS_MOON_BRIGHTNESS - float
Why is this feature important to you? How would it benefit the community?
This feature would allow us to make cleaner running more accurate triggers in our scripts for sound players, Animation triggers and overrides. For instance if I knew how long an animation was I could put a bunch of random animation in a box and play them one after the other without them overriding the last one just by knowing how long it was. the same would apply for everything else including sounds.
Original Jira Fields
| Field | Value | | ------------- | ------------- | | Issue | BUG-231867 | | Summary | LSL Feature Request list llGetLinkedInventoryDetails(integer link,integer Inventory_Type,integer index,list Type_Details); | | Type | New Feature Request | | Priority | Unset | | Status | Closed | | Resolution | Unactionable | | Reporter | dantia Gothly (dantia.gothly) | | Created at | 2022-03-01T20:38:37Z | | Updated at | 2022-03-02T19:09:06Z | ``` { 'Build Id': 'unset', 'Business Unit': ['Platform'], 'Date of First Response': '2022-03-01T19:06:15.164-0600', 'How would you like the feature to work?': 'llGetLinkedInventoryDetails should return a list of values respective of the Inventory_Type. \r\nSounds would include options such as Sound_Length, Sound_Radius, Sound_Volume.\r\nAnimations would return values like Animation_Length, Animation_Priority, Animation_Ease_In, Animation_Ease_out, Animation_Is_Looped and so on for each of the Inventory Types. ', 'ReOpened Count': 0.0, 'Severity': 'Unset', 'Target Viewer Version': 'viewer-development', 'Why is this feature important to you? How would it benefit the community?': 'This feature would allow us to make cleaner running more accurate triggers in our scripts for sound players, Animation triggers and overrides. For instance if I knew how long an animation was I could put a bunch of random animation in a box and play them one after the other without them overriding the last one just by knowing how long it was. the same would apply for everything else including sounds. ', } ```