llGiveInventoryList to an object raises exception

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

llGiveInventoryList to an object raises exception

Jeff Kelley
list items = ["item1", "item2", "item3"];
llGiveInventoryList (llGetOwner(), "folder", items);

Works ok.
______________________________________________

list items = ["item1", "item2", "item3"];
key objectId = "9a0da4c0-2a4a-47a2-9108-0e24991d207d"; // An object
in the same sim
llGiveInventoryList (objectId, "folder", items);

Fails with:

[06:25 AM] Brick Textures:
System.Reflection.TargetInvocationException: Exception has been
thrown by the target of an invocation.

Server stack trace:
   at System.Reflection.MonoMethod.Invoke (System.Object obj,
BindingFlags invokeAttr, System.Reflection.Binder binder,
System.Object[] parameters, System.Globalization.CultureInfo culture)
[0x00000]
   at System.Reflection.MethodBase.Invoke (System.Object obj,
System.Object[] parameters) [0x00000]
   at
OpenSim.Region.ScriptEngine.Shared.ScriptBase.Executor.ExecuteEvent
(System.String state, System.String FunctionName, System.Object[]
args) [0x00000]

Exception rethrown at [0]:
  ---> System.NullReferenceException: Object reference not set to an
instance of an object

Server stack trace:
   at OpenSim.Region.Framework.Scenes.Scene.MoveTaskInventoryItems
(UUID destID, System.String category,
OpenSim.Region.Framework.Scenes.SceneObjectPart host,
System.Collections.Generic.List`1 items) [0x00000]
   at OpenSim.Region.ScriptEngine.Shared.Api.LSL_Api.llGiveInventoryL

______________________________________________

REPRO:

Rez box A.
Script A:

default {
     state_entry() {
         key id = llGetKey();
         llOwnerSay((string)id);
         llRemoveInventory(llGetScriptName()); // Delete self
     }
}

Copy UUID.

Rez box B.
Fill with textures (full-mod).
Script B:

key target = "__paste_UUID_here__";
integer LIST_WHAT = INVENTORY_TEXTURE;

list makeList (integer what) {
     list result;
     integer howMany = llGetInventoryNumber (what);
     integer i; for (i=0; i<howMany; i++)
         result += [ llGetInventoryName (what, i) ];
     return result;
}

default {
     state_entry() {
         list items = makeList (LIST_WHAT);
         llOwnerSay (llDumpList2String (items,"\n"));
         llGiveInventoryList (target, "textures", items);
     }
}


_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raises exception

Storm Singer

Are all the textures good ones? Or is one of them corrupted? I seem to remember having some problem way back when, with diva, with a couple of the library textures being inaccessable.

On Apr 11, 2013 11:55 AM, "Jeff Kelley" <[hidden email]> wrote:
list items = ["item1", "item2", "item3"];
llGiveInventoryList (llGetOwner(), "folder", items);

Works ok.
______________________________________________

list items = ["item1", "item2", "item3"];
key objectId = "9a0da4c0-2a4a-47a2-9108-0e24991d207d"; // An object in the same sim
llGiveInventoryList (objectId, "folder", items);

Fails with:

[06:25 AM] Brick Textures: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.

Server stack trace:
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000]
  at OpenSim.Region.ScriptEngine.Shared.ScriptBase.Executor.ExecuteEvent (System.String state, System.String FunctionName, System.Object[] args) [0x00000]

Exception rethrown at [0]:
 ---> System.NullReferenceException: Object reference not set to an instance of an object

Server stack trace:
  at OpenSim.Region.Framework.Scenes.Scene.MoveTaskInventoryItems (UUID destID, System.String category, OpenSim.Region.Framework.Scenes.SceneObjectPart host, System.Collections.Generic.List`1 items) [0x00000]
  at OpenSim.Region.ScriptEngine.Shared.Api.LSL_Api.llGiveInventoryL

______________________________________________

REPRO:

Rez box A.
Script A:

default {
    state_entry() {
        key id = llGetKey();
        llOwnerSay((string)id);
        llRemoveInventory(llGetScriptName()); // Delete self
    }
}

Copy UUID.

Rez box B.
Fill with textures (full-mod).
Script B:

key target = "__paste_UUID_here__";
integer LIST_WHAT = INVENTORY_TEXTURE;

list makeList (integer what) {
    list result;
    integer howMany = llGetInventoryNumber (what);
    integer i; for (i=0; i<howMany; i++)
        result += [ llGetInventoryName (what, i) ];
    return result;
}

default {
    state_entry() {
        list items = makeList (LIST_WHAT);
        llOwnerSay (llDumpList2String (items,"\n"));
        llGiveInventoryList (target, "textures", items);
    }
}


_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users

_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raises exception

Storm Singer
In reply to this post by Jeff Kelley

Or perhaps it's having an issue with your syntax... Have you tried setting objectid with the same value gotten by llgetowner()? Your //comment suggests that the uuid is just a random object.

On Apr 11, 2013 11:55 AM, "Jeff Kelley" <[hidden email]> wrote:
list items = ["item1", "item2", "item3"];
llGiveInventoryList (llGetOwner(), "folder", items);

Works ok.
______________________________________________

list items = ["item1", "item2", "item3"];
key objectId = "9a0da4c0-2a4a-47a2-9108-0e24991d207d"; // An object in the same sim
llGiveInventoryList (objectId, "folder", items);

Fails with:

[06:25 AM] Brick Textures: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.

Server stack trace:
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000]
  at OpenSim.Region.ScriptEngine.Shared.ScriptBase.Executor.ExecuteEvent (System.String state, System.String FunctionName, System.Object[] args) [0x00000]

Exception rethrown at [0]:
 ---> System.NullReferenceException: Object reference not set to an instance of an object

Server stack trace:
  at OpenSim.Region.Framework.Scenes.Scene.MoveTaskInventoryItems (UUID destID, System.String category, OpenSim.Region.Framework.Scenes.SceneObjectPart host, System.Collections.Generic.List`1 items) [0x00000]
  at OpenSim.Region.ScriptEngine.Shared.Api.LSL_Api.llGiveInventoryL

______________________________________________

REPRO:

Rez box A.
Script A:

default {
    state_entry() {
        key id = llGetKey();
        llOwnerSay((string)id);
        llRemoveInventory(llGetScriptName()); // Delete self
    }
}

Copy UUID.

Rez box B.
Fill with textures (full-mod).
Script B:

key target = "__paste_UUID_here__";
integer LIST_WHAT = INVENTORY_TEXTURE;

list makeList (integer what) {
    list result;
    integer howMany = llGetInventoryNumber (what);
    integer i; for (i=0; i<howMany; i++)
        result += [ llGetInventoryName (what, i) ];
    return result;
}

default {
    state_entry() {
        list items = makeList (LIST_WHAT);
        llOwnerSay (llDumpList2String (items,"\n"));
        llGiveInventoryList (target, "textures", items);
    }
}


_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users

_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raises exception

Jeff Kelley
In reply to this post by Storm Singer
At 12:29 AM -0400 4/12/13, Storm Singer wrote:

>  Are all the textures good ones? Or is one of them corrupted?

The textures ore ok. When I give to myself, they are not corrupted.

>  Or perhaps it's having an issue with your syntax... Have you tried
>setting objectid
>  with the same value gotten by llgetowner()? Your //comment suggests that the
>  uuid is just a random object.

key target = "c16275b8-fede-4d89-9d96-64f481ec12d5"; // My UUID
llGiveInventoryList (target, "textures", items);

Works.

key target = "48c0e33a-9bb8-46de-b3d1-4ad39fe98845"; // Object UUID
llGiveInventoryList (target, "textures", items);

Fails. Same syntax.

The object exists and is in the same region.
It is not locked. Both objects belong to me.

I forgot to mention that this is opensim 0.7.5 Release/MONO.

Do you think this is a real bug and should be MANTISed? Can you reproduce it?

-- Jeff
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raises exception

Storm Singer
In reply to this post by Storm Singer

So my hypothesis is the argument may be looking for the uuid of an avatar and just won't accept the uuid of an object. Will it accept the uuid of another user? What about one that's offline?

Or what about perms on the object? Distance of the object from the script calling it? Is the object on the root region? Was it created on the root region? Is it physical? Phantom?

It's kind of sad I've seen all of those things change whether or not a script works...

Also, what documentation are you using to get this command from? Is there a similar one you can use instead? This may be desired behavior of the command, the term 'inventory' seems to suggest it. (in the hazy realm of connotation.... What I mean is, "people" have inventories, "boxes" don't. You can 'inventory' a box, but that assumes the box is in the inventory of a person and enters the contents into that persons inventory.)

It would be some hours before I can get on my box to attempt to reproduce, but if it is indeed desired behavior it should reproduce without issue.

On Apr 12, 2013 4:55 AM, "Jeff Kelley" <[hidden email]> wrote:
At 12:29 AM -0400 4/12/13, Storm Singer wrote:

 Are all the textures good ones? Or is one of them corrupted?

The textures ore ok. When I give to myself, they are not corrupted.

 Or perhaps it's having an issue with your syntax... Have you tried setting objectid
 with the same value gotten by llgetowner()? Your //comment suggests that the
 uuid is just a random object.

key target = "c16275b8-fede-4d89-9d96-64f481ec12d5"; // My UUID
llGiveInventoryList (target, "textures", items);

Works.

key target = "48c0e33a-9bb8-46de-b3d1-4ad39fe98845"; // Object UUID
llGiveInventoryList (target, "textures", items);

Fails. Same syntax.

The object exists and is in the same region.
It is not locked. Both objects belong to me.

I forgot to mention that this is opensim 0.7.5 Release/MONO.

Do you think this is a real bug and should be MANTISed? Can you reproduce it?

-- Jeff
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users

_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raises exception

Jeff Kelley
At 5:19 AM -0400 4/12/13, Storm Singer wrote:

>  So my hypothesis is the argument may be looking for the uuid of an avatar
>  and just won't accept the uuid of an object.

Probably.

>  Will it accept the uuid of another user?
Yes. The avatar receives the folder.

>  What about one that's offline?
Nothing happens. No error.

>  Or what about perms on the object?
Both objects, sender and receiver, are full-perms.

>  Distance of the object from the script calling it?
About 2 meters.

>  Is the object on the root region?
No.

>  Was it created on the root region?
No.

>  Is it physical?
No.

>  Phantom?
No.

>  Also, what documentation are you using to get this command from?
http://wiki.secondlife.com/wiki/LlGiveInventoryList

>  Is there a similar one you can use instead?
Yes, looping on llGiveInventory.

>  This may be desired behavior of the command, the term 'inventory' seems to
>  suggest it. (in the hazy realm of connotation.... What I mean is,
>"people" have
>  inventories, "boxes" don't.

The wiki says destination may be avatar or prim UUID.
Boxes have inventories. They lie in the primItems table.

They can't be hierarchical.
So, llGiveInventoryList must ignore the 'folder' argument.

>  It would be some hours before I can get on my box to attempt to reproduce,
>  but if it is indeed desired behavior it should reproduce without issue.

Thanks for your help.


-- jeff
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raises exception

Storm Singer
In reply to this post by Storm Singer

Still afk, sorry... Have you tried removing the folder argument from the command? Since prims don't use it, perhaps that's what's causing the exception?

On Apr 12, 2013 7:35 AM, "Jeff Kelley" <[hidden email]> wrote:
At 5:19 AM -0400 4/12/13, Storm Singer wrote:

 So my hypothesis is the argument may be looking for the uuid of an avatar
 and just won't accept the uuid of an object.

Probably.

 Will it accept the uuid of another user?
Yes. The avatar receives the folder.

 What about one that's offline?
Nothing happens. No error.

 Or what about perms on the object?
Both objects, sender and receiver, are full-perms.

 Distance of the object from the script calling it?
About 2 meters.

 Is the object on the root region?
No.

 Was it created on the root region?
No.

 Is it physical?
No.

 Phantom?
No.

 Also, what documentation are you using to get this command from?
http://wiki.secondlife.com/wiki/LlGiveInventoryList

 Is there a similar one you can use instead?
Yes, looping on llGiveInventory.

 This may be desired behavior of the command, the term 'inventory' seems to
 suggest it. (in the hazy realm of connotation.... What I mean is, "people" have
 inventories, "boxes" don't.

The wiki says destination may be avatar or prim UUID.
Boxes have inventories. They lie in the primItems table.

They can't be hierarchical.
So, llGiveInventoryList must ignore the 'folder' argument.

 It would be some hours before I can get on my box to attempt to reproduce,
 but if it is indeed desired behavior it should reproduce without issue.

Thanks for your help.


-- jeff
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users

_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raises exception

Jeff Kelley
At 7:51 PM -0400 4/12/13, Storm Singer wrote:

>Have you tried removing the folder argument from the command?
>Since prims don't use it, perhaps that's what's causing the exception?


You can't "remove" it without raising a syntax error.

You can pass the empty string "", but the result is the same.


Regards.


-- Jeff
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raises exception

Melanie
llGiveInventoryList doesn't apply to objects. It's for avatars only.
Use llGiveInventory.

Melanie

On 13/04/2013 02:13, Jeff Kelley wrote:

> At 7:51 PM -0400 4/12/13, Storm Singer wrote:
>
>>Have you tried removing the folder argument from the command?
>>Since prims don't use it, perhaps that's what's causing the exception?
>
>
> You can't "remove" it without raising a syntax error.
>
> You can pass the empty string "", but the result is the same.
>
>
> Regards.
>
>
> -- Jeff
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> https://lists.berlios.de/mailman/listinfo/opensim-users
>
>
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raises exception

Gary Beck
In reply to this post by Jeff Kelley
Jeff,

I was able to reproduce your exception today.  Running Opensim 0.7.5 on
Windows Vista.
The target of of llGiveInventoryList can be either a avatar or prim UUID.
It is not a syntax issue.
After testing under Opensim 0.7.5 I tested the same script in Second Life.
No errors.  The inventory items in the list were given to the prim.
Hope that's helpful to you.

- Gary Beck
----- Original Message -----
From: "Jeff Kelley" <[hidden email]>
To: <[hidden email]>
Sent: Friday, April 12, 2013 8:13 PM
Subject: Re: [Opensim-users] llGiveInventoryList to an object raises
exception


> At 7:51 PM -0400 4/12/13, Storm Singer wrote:
>
>>Have you tried removing the folder argument from the command?
>>Since prims don't use it, perhaps that's what's causing the exception?
>
>
> You can't "remove" it without raising a syntax error.
>
> You can pass the empty string "", but the result is the same.
>
>
> Regards.
>
>
> -- Jeff
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> https://lists.berlios.de/mailman/listinfo/opensim-users 

_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raises exception

Jeff Kelley
At 12:08 AM -0400 4/13/13, Gary Beck wrote:

>I was able to reproduce your exception today.  Running Opensim 0.7.5
>on Windows Vista.
>The target of of llGiveInventoryList can be either a avatar or prim
>UUID. It is not a syntax issue.
>After testing under Opensim 0.7.5 I tested the same script in Second
>Life. No errors.  The inventory items in the list were given to the
>prim.
>Hope that's helpful to you.


Yes Beck. Thank you very much.

We now know this is not a bug.

It is a non-feature.


-- Jeff

_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raisesexception

Gary Beck
In reply to this post by Melanie
Melanie,
Are you able to provide a reference to where this is documented?
When I look here: http://opensimulator.org/wiki/LSL_Status/Functions
I find a link back to the Linden Lab documentation.  I assume you're aware
that it states llGivenInventoryList is for both avatars and objects.
- Gary Beck

----- Original Message -----
From: "Melanie" <[hidden email]>
To: <[hidden email]>
Sent: Friday, April 12, 2013 11:05 PM
Subject: Re: [Opensim-users] llGiveInventoryList to an object
raisesexception


> llGiveInventoryList doesn't apply to objects. It's for avatars only.
> Use llGiveInventory.
>
> Melanie
>
> On 13/04/2013 02:13, Jeff Kelley wrote:
>> At 7:51 PM -0400 4/12/13, Storm Singer wrote:
>>
>>>Have you tried removing the folder argument from the command?
>>>Since prims don't use it, perhaps that's what's causing the exception?
>>
>>
>> You can't "remove" it without raising a syntax error.
>>
>> You can pass the empty string "", but the result is the same.
>>
>>
>> Regards.
>>
>>
>> -- Jeff
>> _______________________________________________
>> Opensim-users mailing list
>> [hidden email]
>> https://lists.berlios.de/mailman/listinfo/opensim-users
>>
>>
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> https://lists.berlios.de/mailman/listinfo/opensim-users 

_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raisesexception

Melanie
No. It is _meant_ to work for both, it's just not implemented.

Melanie

On 14/04/2013 01:42, Gary Beck wrote:

> Melanie,
> Are you able to provide a reference to where this is documented?
> When I look here: http://opensimulator.org/wiki/LSL_Status/Functions
> I find a link back to the Linden Lab documentation.  I assume you're aware
> that it states llGivenInventoryList is for both avatars and objects.
> - Gary Beck
>
> ----- Original Message -----
> From: "Melanie" <[hidden email]>
> To: <[hidden email]>
> Sent: Friday, April 12, 2013 11:05 PM
> Subject: Re: [Opensim-users] llGiveInventoryList to an object
> raisesexception
>
>
>> llGiveInventoryList doesn't apply to objects. It's for avatars only.
>> Use llGiveInventory.
>>
>> Melanie
>>
>> On 13/04/2013 02:13, Jeff Kelley wrote:
>>> At 7:51 PM -0400 4/12/13, Storm Singer wrote:
>>>
>>>>Have you tried removing the folder argument from the command?
>>>>Since prims don't use it, perhaps that's what's causing the exception?
>>>
>>>
>>> You can't "remove" it without raising a syntax error.
>>>
>>> You can pass the empty string "", but the result is the same.
>>>
>>>
>>> Regards.
>>>
>>>
>>> -- Jeff
>>> _______________________________________________
>>> Opensim-users mailing list
>>> [hidden email]
>>> https://lists.berlios.de/mailman/listinfo/opensim-users
>>>
>>>
>> _______________________________________________
>> Opensim-users mailing list
>> [hidden email]
>> https://lists.berlios.de/mailman/listinfo/opensim-users 
>
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> https://lists.berlios.de/mailman/listinfo/opensim-users
>
>
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raisesexception

Storm Singer

That's what I thought. I think I ran into this problem in the past, and I wound up using completely different code to solve it. Probably the llgiveinventory command. It all rings bells... Unfortunately I'm not a terribly organized coder...

On Apr 14, 2013 6:50 AM, "Melanie" <[hidden email]> wrote:
No. It is _meant_ to work for both, it's just not implemented.

Melanie

On 14/04/2013 01:42, Gary Beck wrote:
> Melanie,
> Are you able to provide a reference to where this is documented?
> When I look here: http://opensimulator.org/wiki/LSL_Status/Functions
> I find a link back to the Linden Lab documentation.  I assume you're aware
> that it states llGivenInventoryList is for both avatars and objects.
> - Gary Beck
>
> ----- Original Message -----
> From: "Melanie" <[hidden email]>
> To: <[hidden email]>
> Sent: Friday, April 12, 2013 11:05 PM
> Subject: Re: [Opensim-users] llGiveInventoryList to an object
> raisesexception
>
>
>> llGiveInventoryList doesn't apply to objects. It's for avatars only.
>> Use llGiveInventory.
>>
>> Melanie
>>
>> On 13/04/2013 02:13, Jeff Kelley wrote:
>>> At 7:51 PM -0400 4/12/13, Storm Singer wrote:
>>>
>>>>Have you tried removing the folder argument from the command?
>>>>Since prims don't use it, perhaps that's what's causing the exception?
>>>
>>>
>>> You can't "remove" it without raising a syntax error.
>>>
>>> You can pass the empty string "", but the result is the same.
>>>
>>>
>>> Regards.
>>>
>>>
>>> -- Jeff
>>> _______________________________________________
>>> Opensim-users mailing list
>>> [hidden email]
>>> https://lists.berlios.de/mailman/listinfo/opensim-users
>>>
>>>
>> _______________________________________________
>> Opensim-users mailing list
>> [hidden email]
>> https://lists.berlios.de/mailman/listinfo/opensim-users
>
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> https://lists.berlios.de/mailman/listinfo/opensim-users
>
>
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users

_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: llGiveInventoryList to an object raisesexception

Jeff Kelley
At 9:34 PM -0400 4/14/13, Storm Singer wrote:

>That's what I thought. I think I ran into this problem in the past,
>and I wound up
>using completely different code to solve it. Probably the
>llgiveinventory command.
>It all rings bells... Unfortunately I'm not a terribly organized coder...


A small code snippet can emulate llGiveInventoryList with a loop on
llGiveInventory, with no delay penalty (2.0s for an avatar target,
0.0 for an object).

We just have to flag llGiveInventoryList to object as non implemented
and use this work-around:

myGiveInventoryList (key target, string folder, list inventory )
{
     integer howMany = llGetListLength (inventory);
     integer i; for (i=0; i<howMany; i++)
         llGiveInventory (target, llList2String (inventory, i) );
}


-- Jeff
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users