Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

How do I?

Kimsey Brodsky
Registered User
Join date: 29 Feb 2004
Posts: 21
12-05-2005 10:11
How do I give several items in an object to anyone who touches it? Is it possible for them to go in a folder?
Hank Ramos
Lifetime Scripter
Join date: 15 Nov 2003
Posts: 2,328
12-05-2005 10:22
From: Kimsey Brodsky
How do I give several items in an object to anyone who touches it? Is it possible for them to go in a folder?


Use the llGiveInventoryList function...
http://secondlife.com/badgeo/wakka.php?wakka=llGiveInventoryList
Kimsey Brodsky
Registered User
Join date: 29 Feb 2004
Posts: 21
12-05-2005 10:32
Thanks for the reply Hank.

I tried that script, but it only works for the owner on rez....unless I am doing something wrong. Highly likely since I have absolutely no scripting skills. :) What I have is several items in an object that I would like anyone who touches that object to receive them in a folder.
Ziggy Puff
Registered User
Join date: 15 Jul 2005
Posts: 1,143
12-05-2005 11:10
You can set the object to be 'For sale', set the price to $0, and set it to give out its contents. That way when someone 'buys' the item (for $0), they'll automatically get a folder with the item's contents in it. The name of the folder will be the name of the container object that they 'bought' from. So you'll get the effect you want (I think), only the user will have to 'buy' the item instead of just touching it. And you won't need a script at all.
Oasis Perun
Registered User
Join date: 2 Oct 2005
Posts: 128
12-05-2005 12:47
The reason it only works for the owner b/c it checks for the owners key.

CODE
llGiveInventoryList(llGetOwner(), text, inventory);


you could change the llGetOwner() to llDetectedLink(0); to give to somebody else.
Kimsey Brodsky
Registered User
Join date: 29 Feb 2004
Posts: 21
12-05-2005 13:29
From: Oasis Perun
The reason it only works for the owner b/c it checks for the owners key.

CODE
llGiveInventoryList(llGetOwner(), text, inventory);


you could change the llGetOwner() to llDetectedLink(0); to give to somebody else.



Thanks Oasis,

I tried that and got the folowing error message. (38, 48) : ERROR: Name not defined within scope.

Guess the easiest way is just to set it for sale.
Ziggy Puff
Registered User
Join date: 15 Jul 2005
Posts: 1,143
12-05-2005 13:50
Try llDetectedKey(0) - that should work. So replace that line with:

CODE
llGiveInventoryList(llDetectedKey(0), text, inventory);


I think that's what Oasis meant to say :)
Oasis Perun
Registered User
Join date: 2 Oct 2005
Posts: 128
12-06-2005 09:10
Thanks Ziggy :).. posting from work so didnt have a chance to test my reply b4 i posted it. :)
Ziggy Puff
Registered User
Join date: 15 Jul 2005
Posts: 1,143
12-06-2005 09:21
Don't worry about it... we've all done it :)