Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Updating no copy/trans products

Zaplok Riggles
Registered User
Join date: 25 Feb 2008
Posts: 119
09-19-2008 06:39
I have a number of products out there that are all copy/no trans. So, I generally use an update group to send out updates as notices. Works out fine as it is simple and is opt in so no spammage. Now, I am thinking of creating my first no copy product/trans. The problem now is I cannot use groups of course (as if the product is sold I would need to add the new owner to the group and remove the old owner, not to mention, if I send out an update in the group, technically the person now has 2 of my products - the old versions and the new version).

How do you folks handle product updates for no copy/trans items? I can see how scripts can be easily updated but what if part of the update involved one or more prims? For example, a texture change or a resizing or even a brand new prim?

Thanks for any feedback. If you know of products that do this somehow, links to those would also be appreciated (note, must support updates for no copy/trans items and NOT involve sending out another brand new copy of the item).
Jodie Suisei
Lost In LSL Code
Join date: 6 Oct 2006
Posts: 66
09-19-2008 07:11
There is a couple of ways to do this with transfer items.

You could in the product to be update use llSetRemoteAccessPin and the relevent into an "Updater" prim on the forums someplace, I made a basic version of how to do it for copying scripts and inventory items over to another pin that it checks the product to be update on.

If the pin and password matchs it will copy the script over in the running state and clean up after itself in the demo that i made but you can adapt that easily to copy the new scripts over then delete the old version scripts and notecards ;)

All you would basically need to do is make the product before you let it go out in the state entry to set the remote pin then in your "Updater" have a matching pin and such.

The updater i done was just a very basic learning curve myself but i will try to dig the link up. There are other ways do it but personally setting it up with secret passwords each update and keeping the same pin something unique to you.

You would then just send out the updater prim for the customer to update there product in there own time there isnt many open source basic ideas for llRemoteAccesPin and llSetRemoteAccessPin.

/54/20/282057/1.html

Is the link to it you can of course edit it copy and modify only restriction is no selling the script but it should give you a basic idea of one way to update a product with prim to prim communications ;)
Zaplok Riggles
Registered User
Join date: 25 Feb 2008
Posts: 119
09-19-2008 08:31
From: Jodie Suisei
There is a couple of ways to do this with transfer items.


You could in the product to be update use llSetRemoteAccessPin and the relevent into an "Updater" prim on the forums someplace, I made a basic version of how to do it for copying scripts and inventory items over to another pin that it checks the product to be update on.

If the pin and password matchs it will copy the script over in the running state and clean up after itself in the demo that i made but you can adapt that easily to copy the new scripts over then delete the old version scripts and notecards ;)

All you would basically need to do is make the product before you let it go out in the state entry to set the remote pin then in your "Updater" have a matching pin and such.

The updater i done was just a very basic learning curve myself but i will try to dig the link up. There are other ways do it but personally setting it up with secret passwords each update and keeping the same pin something unique to you.

You would then just send out the updater prim for the customer to update there product in there own time there isnt many open source basic ideas for llRemoteAccesPin and llSetRemoteAccessPin.

/54/20/282057/1.html

Is the link to it you can of course edit it copy and modify only restriction is no selling the script but it should give you a basic idea of one way to update a product with prim to prim communications ;)


Yes, thanks for the link. I had seen your previous example. However, what it lacks and the dilemna I face is how to update or add prims to a build? If it is just a new script, I could deal with that, but an update may contain a brand new component, a new prim for an object, etc.
Jodie Suisei
Lost In LSL Code
Join date: 6 Oct 2006
Posts: 66
09-19-2008 08:57
Should be able to transfer prims also as long as the updater prim has the key during the message transition between them both you can send notecards scripts just about anything ;). Try changing the give notecard to a prim in the inventory and you will see it will do prims also ;)

As long as the llGiveInventory has the key from the other prim you can send An "Object" in the inventory just simply tell the llGiveInventory the name of the object you want to transfer it will it send it over after the pins negotiated :)

Hope that helps a little - actually forgot to add a prim example to it lol

Edit spelling grr

Edit Two

If you are referring to a new component that wouldnt be a problem the key from the messaging between the two prims you can send scripts, notecards, landmarks, Objects you can easily for example

What you can and cant do with an update system of this type is change a prim in a linked object located in either of the product to be updated or the updater itself,

but you can easily wipe the old from the product to get updated, and send a new fixed upgraded or whatever linked prim set over

any linked prims in the product to get changed tell the cleanup to delete it you can always name sequence the prims for example Prim 1.0 and such so the clean up system knows exactly what to delete and what not to delete.

you would of course need to manually set each bit to delete in the update cant just cluster delete otherwise you may end up wiping stuff you want to keep including the update just sent ;)

Edit again

string Inventory = "A Notecard"; change that to for example the name of a prim and give it a try :)

If you need some help with anything on my example to get working or dont understand feel free to let me know.
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
09-19-2008 10:37
Have the owner rez the item and have it communicate to an update server. The item copy and the update server can arrange between themselves to have 1.) the object die (either making sure it isn't attached or burning itself out so it is no longer usable before allowing the transaction to succeed) AND 2.) the server send the updated copy. Do your best to ensure this happens as a complete transaction, so either both 1&2 occur or neither does.

Probably the safest way to do this is to send the owner a SLURL they can teleport to and rez the object for direct communication, but you could possibly implement an e-mail or HTTP communication protocol instead. Just make sure you can be reasonably certain the object and server acknowledge each other so that the owner (and/or the wonderfully unreliable SL system) can't accidentally or purposefully interfere with the operation and lose their object or gain them an extra.

P.S. - This would also be a good scheme for exchanging a purchased no-copy/transfer product for a copy/no-transfer one, as an alternative to gift certificates.