Jump to content

llGiveInventory(); no copy


Kostya Noyes
 Share

You are about to reply to a thread that has been inactive for 2062 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

That Royalty Vendor is owned by Linden Lab, which has a full perm version of the object, so Linden Lab is not the "next owner".  You are. The item you receive is "no copy" for you, but not for them. Also, that vendor is not delivering items from its own inventory.  It is delivering them from a remote server, which is why you do not see an object there.  The vendor sends a message to the remote server, somewhere in SL, and the server uses llGiveInventory to send the object from its inventory.

Link to comment
Share on other sites

No, but it's easy to guess exactly how it works, at least without all the accounting frills that you or I would normally build into any vendor.  The Royalty Vendor that you see can be very simple. All it needs to do is collect your UUID from a touch_start event and send it in a message to the remote server.  I'm guessing that the message is sent by HTTP, but it could be e-mail.  The remote server has the original item in its own inventory.  The script there can also be incredibly simple.  It receives the message, gets your UUID from it, and immediately does

llGiveInventory(your_uuid,"The Item");

The llGiveInventory function can give the object to an avatar anywhere in SL, so you will receive it instantly. 

That's really all there is to it.  No magic.  If I were scripting a vendor like that, I would include all sorts of extra code for storing a history of transactions (probably in KVP), for double checking to be sure that you only get one copy of the item, and that the creator of the item gets paid a royalty for each transaction.  And of course anything else that makes the vendor pretty.  The basic vendor itself, though, is easy.

Link to comment
Share on other sites

Thank you, i read this.

I understand than need create new object (I is creator, I is owner) which will be have inner_object and will be listen command trouth llSay from main_object (I creator, owner other) and give inner_object with no_copy permission.

Maybe I can send item from my invetory? or any ways?

Link to comment
Share on other sites

Just set the "Next owner permissions" to "No Copy".  This way, it won't give the only copy, but whoever you give it to can't make copies.  Don't make it a "True" no copy item, or it will give itself away and there will be no more copies in the inventory!

The smart ones can call me out on this answer ;-)

Link to comment
Share on other sites

"No copy" means that no one can make a copy.

However, if you were the creator of "inner object", you have full rights on the item.
You can duplicate your own creation as many as you like, also your vending machine is able to duplicate the your creation as many as it needs.
Then you'll never lose the original "inner object".

If the "inner object (no copy)" was NOT created by you, you have to follow the original creator's permission set. Either you and your vending machine can not create any copies of the item.
There will be only one solution : Put many (no copy) objects into the vending machine.

That "Royal vendor" you mentioned above has a storage server in somewhere else.
If you clicked the vendor, it sends your UUID to the storage server and the server sends you a guitar. That's why the vendor only has a script inside and doesn't have any copies of the guitar to give out.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2062 days.

Please take a moment to consider if this thread is worth bumping.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...