Re. your last edit (Strife). Surprise surprise I'm confused. Say we have multiples of the same object in inventory of object. Could one of the inventory objects be modified while in the inventory so causing a new asset to be created? This would then create two distinct inventory objects with different keys. Right? For simple example if the name of one object is changed while in the scripted objects inventory. Would that create a new asset and thus new key? If that is the case (and if there are other ways for an asset to be modified by a script whilst in the inventory etc. etc. (told you I'm confused)) erm. I think I am asking too many questions. -- Eddy (talk|contribs) 09:48, 31 July 2009 (UTC)
- Currently there is no way for a script to actually modify the items in the objects inventory, only delete and add. When a script modifies the object it is contained in, it is modifying the instance of an asset; that instance is periodically backed up as part of the simstate. When it is taken/copied into inventory only then does it become an asset. Attachments work much the same way, only when you log out, crash, copy or detach an attachment does it get saved as an asset. When an object is in inventory the only tool that can modify it is the bulk permission dialog and that only applies to how it sets the permissions of nested items. Permissions, name & description are all properties of the inventory item, not the asset. Modifying them doesn't change the asset. So to answer your questions more directly:
- Modifying a rezzed object, be it attached or not, does not in itself create a new asset. Though when it is taken into inventory a new asset will be created.
- When an attachment overwrites a previous incarnation of itself in inventory, it creates a new asset and changes the UUID of the inventory item that was attached, updating the permissions on the inventory item as needed.
- One problem that SL continues to have is that permissions aren't just a part of the wrapper, they are also governed by the items embedded in them. This means that for notecards and objects the wrapper must be kept in sync with the items embedded.
- I wish it weren't so complicated but it has to be.-- Strife (talk|contribs) 13:28, 31 July 2009 (UTC)
Wow thank you Strife. You just made sense of loads of little nagging details that I had previously just thought were a pain. Like not being able to copy an attachment or not being able to drag an objects inventory into another objects inventory. I feel bad about the fact that now you explain it it all makes so much sense. I wonder sometimes if I'm a little bit thick. I have a feeling all this is part of the same puzzle that determines the llCreateLink and the other one called something else (he says trying to remember)complexities. Funnily even though permissions and assets are complex and have all these restrictions it's kind of comforting to know that at least a few functions are working properly. Thanks again for explaining. Awesome. -- Eddy (talk|contribs) 22:34, 31 July 2009 (UTC)
- You aren't thick (you followed the explanation). I just don't know where to document it and how to draw it to peoples attention. A full description of the asset system doesn't really belong to just this function. -- Strife (talk|contribs) 11:01, 2 August 2009 (UTC)