CODE
touch_start(integer total_number)
{
key av = llGetOwner();
integer max = llGetInventoryNumber(INVENTORY_OBJECT);
llOwnerSay((string) max);
integer n;
for(n=0; n<max; n++)
{
llOwnerSay(llGetInventoryName(INVENTORY_OBJECT, n));
}
integer i =0;
for (i = 0; i < max; i++)
{
llOwnerSay("giving "+llGetInventoryName(INVENTORY_OBJECT, i));
if (llGetInventoryName(INVENTORY_OBJECT, i)!="")
{
llGiveInventory(av, llGetInventoryName(INVENTORY_OBJECT, i));
}
}
}
give me the following results (I've cut out the bits about accepting and declining things):
8:03] Object: 6
[8:03] Object: Lovers Entanglement 1.0
[8:03] Object: Tree 1
[8:03] Object: Tree 3
[8:03] Object: Tree 2
[8:03] Object: Tree 4
[8:03] Object: Tree 5
[8:03] Object: giving Lovers Entanglement 1.0
[8:03] Object: giving Tree 1
[8:03] Object: giving Tree 3
[8:03] Object: giving Tree 5
[8:03] Object: giving
[8:03] Object: giving
then I have to touch it again, and..
[8:03] Object: 3
[8:03] Object: Lovers Entanglement 1.0
[8:03] Object: Tree 2
[8:03] Object: Tree 4
[8:03] Object: giving Lovers Entanglement 1.0
[8:03] Object: giving Tree 2
[8:03] Object: giving Tree 4
I want it, obviously, to give me all the objects in one go.
The permissions, as it happens, were Trees 1,3,5 no copy and 2&4 copy but I got exactly the same results when they were all no copy (a friend made the objects, so was able to give them to me with different permissions). And because they are not supposed to be copyable, I can't use llGiveInventoryList, of course.
Why is it getting the contents right when it says what they are but not when it uses the identical function to give them to me?
