Problems transferring items in boxes

Ask technical support questions about other topics
Post Reply
User avatar
Iain McCracken
Posts: 25
Joined: Thu Feb 21, 2013 6:35 pm
Has thanked: 38 times
Been thanked: 14 times

Problems transferring items in boxes

Post by Iain McCracken »

The team I'm on is using boxes to transfer items, like avatar parts etc. Here's what I mean: you create a box, fill it with items (ie body parts, shape, clothing, etc) all with next-owner perms set to full MCT. The next person comes along, opens the box, and clicks "Copy To Inventory"

This works perfectly in SL, but not in Kitely.

Here's what happens in Kitely:
1) I get the error message "You have selected 'no copy' inventory items. These items will be moved to your inventory, not copied. Because this object is scripted, moving these items to your inventory may cause the script to malfunction..."

There are no 'no copy' items in the box at all. There is no script in the box.

Clicking OK apparently moves all items to my inventory, leaving the box empty. Closing it an opening it again still shows it empty. If I edit and click refresh on the contents panel, it still shows as empty.

But: If I drag-copy all the items back into the box, the box suddenly has two copies of everything. Then I have to go through and delete the second copy of all the items.

All of the items transferred to my inventory are full perms. No 'no copy' items at all.

What's going on? And how do we make this work as one would expect it to work?


EDIT: In the time it took me to write this, the contents of the box have magically reappeared. So they vanish for several minutes after pretending to be no-copy when they aren't, then reappear as if nothing had gone wrong in the first place.
These users thanked the author Iain McCracken for the post:
Selby Evans
User avatar
Ilan Tochner
Posts: 6515
Joined: Sun Dec 23, 2012 8:44 am
Has thanked: 4962 times
Been thanked: 4468 times
Contact:

Re: Problems transferring items in boxes

Post by Ilan Tochner »

Hi Iain,

Did you create these items inside Kitely or did you import them into Kitely using an OAR file?

Did you set the permissions of the items while they where in your inventory or contained in the box or did you rezz the items, set their permissions and only then add them to the box?

Is it possible that some of the items in the box contain scripts themselves. If that is the case then the script contained in those items needs to have the proper Next Owner permissions set before those items are added to the box.
User avatar
Iain McCracken
Posts: 25
Joined: Thu Feb 21, 2013 6:35 pm
Has thanked: 38 times
Been thanked: 14 times

Re: Problems transferring items in boxes

Post by Iain McCracken »

Hi Ilan

The items were created inside Kitely. I'll ask Ada whether she set the perms in her inventory or in the box.

I rezzed the items that could be rezzed (the skins, shapes, tattoos, etc, of course can't be), and all were empty.

Note that one of the problem boxes contains nothing but animations.

Also, every item arrives in my inventory full perm, but every item disappears from the box, implying that client or server thinks every single item is nocopy.
User avatar
Ilan Tochner
Posts: 6515
Joined: Sun Dec 23, 2012 8:44 am
Has thanked: 4962 times
Been thanked: 4468 times
Contact:

Re: Problems transferring items in boxes

Post by Ilan Tochner »

Please try the following experiment:

1) Rezz a new box.
2) Rezz new items of the type you'd like the box to contain and make certain the each have full Next Owner perms.
3) Add the items to the box.
4) Configure box to allow buying the items.

Now test to see whether that box and its items behave as you expect. If they do start adding to it (one) by one items from the problematic box and testing after each such item. Find the item where this fails and remove it from the box. Continue with the rest of the items to find if there are any additional items that cause this experiment to fail. We can then check whether those items are configured correctly.
These users thanked the author Ilan Tochner for the post:
Selby Evans
User avatar
Ada Radius
Posts: 435
Joined: Sun Dec 23, 2012 6:20 pm
Has thanked: 659 times
Been thanked: 546 times

Re: Problems transferring items in boxes

Post by Ada Radius »

Thank you Iain for dealing with this!
Yes, all items were created in Kitely. I set perms both in Inventory, and again in the boxes, as some perms didn't set properly in Inventory. The items consist of avatar shapes, system layers, mesh attachments and animations - everything an avateer (Selby coined this term to refer to the people who activate the avatars for screen capture) will need during the video shoot. We need members of a group, and only of that group, to be able to click on a box and get a folder of its contents. Right now our workaround is to set the box for sale for L$0 and restrict access to the sim, but we'd rather open access to the sim and restrict access to the boxes.
Ada
Iain McCracken wrote:Hi Ilan

The items were created inside Kitely. I'll ask Ada whether she set the perms in her inventory or in the box.

I rezzed the items that could be rezzed (the skins, shapes, tattoos, etc, of course can't be), and all were empty.

Note that one of the problem boxes contains nothing but animations.

Also, every item arrives in my inventory full perm, but every item disappears from the box, implying that client or server thinks every single item is nocopy.
User avatar
Iain McCracken
Posts: 25
Joined: Thu Feb 21, 2013 6:35 pm
Has thanked: 38 times
Been thanked: 14 times

Re: Problems transferring items in boxes

Post by Iain McCracken »

Ilan Tochner wrote:Please try the following experiment:

1) Rezz a new box.
2) Rezz new items of the type you'd like the box to contain and make certain the each have full Next Owner perms.
3) Add the items to the box.
4) Configure box to allow buying the items.
Configuring any box to sell its contents works as expected. It was when the boxes were configured to open on click and clicking the "copy to inventory" failed. All boxes and all items fail in that case.

For now, we've set the boxes to sell for 0KC as a workaround. In SL we use a script that gives the inventory (llGiveInventoryList) on touch to avatars wearing the correct group tag (llDetectedGroup) but Ada reports that it doesn't work in Kitely. I'll investigate that, as that is what we need to restrict access to the box contents.
User avatar
Oren Hurvitz
Posts: 361
Joined: Sun Dec 23, 2012 8:42 am
Has thanked: 19 times
Been thanked: 499 times
Contact:

Re: Problems transferring items in boxes

Post by Oren Hurvitz »

I've spent a lot of time researching this issue, and my conclusion is that the ability to use "Copy To Inventory" isn't really usable by anyone except the object's owner, so it shouldn't be used to give items to other users.

Let's compare two features: "Open" (with "Copy To Inventory") and "Buy". The "Buy" feature works very well: it shows the list of items along with their "Next Owner" permissions, which is great since if you click "Buy" then you get the items with those exact permissions. In contrast, when you "Open" a prim and look at its items what the viewer shows is the "Everyone" permissions. Those aren't the permissions that the user will get if they get the items into their inventory. But you won't be able to get the items anyway, because the viewer refuses to copy to your inventory any items for which you don't have sufficient permissions. And since it checks the "Everyone" permissions, which are very limited, no items have enough permissions.

I tried this in Second Life as well, with mixed results. I did manage to use "Copy To Inventory" once, but in the next 4-5 attempts I always got the error "There are no items you can copy". So this feature doesn't seem to work very well in SL either.

So there are two things you can do. First, let the users "Take Copy" of the entire object. This works, and then they can rez the object and copy its contents to their inventory. You can of course allow only Group members to copy the object. Second, use llGiveInventoryList(). You've mentioned that maybe it doesn't work, but I tried it with a simple script and it worked for me.
These users thanked the author Oren Hurvitz for the post (total 3):
Danko WhitfieldSelby EvansIain McCracken
User avatar
Iain McCracken
Posts: 25
Joined: Thu Feb 21, 2013 6:35 pm
Has thanked: 38 times
Been thanked: 14 times

Re: Problems transferring items in boxes

Post by Iain McCracken »

Oren Hurvitz wrote:I've spent a lot of time researching this issue, and my conclusion is that the ability to use "Copy To Inventory" isn't really usable by anyone except the object's owner, so it shouldn't be used to give items to other users.
Ya, I've come to the same conclusion.

It actually does allow you to get items if you have edit rights for the box's owner, but with the spurious error message and mysterious apparent but not actual emptying of the box. The items arrive with the correct next owner perms applied, and the box isn't actually emptied. Note that you can edit the box and drag the contents to your inventory without a problem. So... We're looking at a weird reaction to an unexpected use case. No idea whether that is in the viewer or the sim.
Oren Hurvitz wrote:(snip) And since it checks the "Everyone" permissions, which are very limited, no items have enough permissions.
And that's probably the source of it. I tried setting the everyone-can-copy perm on all items, and the error message went away, as did the apparent emptying of the prim. However, the idea of restricting access goes out the window. :D
Oren Hurvitz wrote:(snip) Second, use llGiveInventoryList(). You've mentioned that maybe it doesn't work, but I tried it with a simple script and it worked for me.
Ada brought in a script from SL that gives a folder on touch only if you're wearing the right group tag. It didn't work, so she resorted to the open-on-click to allow people who have edit rights on her stuff to grab the contents. I haven't looked at that script so I have no idea what's wrong with it.

I wrote a fresh script that worked and I've handed it to Ada. So that handles our need to restrict access.

Thanks for putting in the time to spelunk the code!
Post Reply