Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Auto Updating vendors and other things....

Chris Widget
Widget Isles @ the Edge!
Join date: 22 Jan 2006
Posts: 67
10-08-2006 08:00
Ok I am sure this is some major trade secret protected by all sorts of three headed dogs, encrypted locks etc. but I am really curious about this. How do those vendors or other auto updating objects like the Multi Gadet from Timeless work ? Yes that is a broad question so let me qualify it a bit.

I have an object, we will call objectCentral and it contain a notecard called notecardCentral (ok so I am not the most creative person ...). I rez a copy of objectCentral called objectCopy and I want it to verify that the notecard it contains is the same version of the notecard in objectCentral. If not it should replace its copy with the objectCentral's notecard. I want it to perform this check on an ongoing basis, like once per day or whatever.

Basically I want to maintain a single copy of a notecard locally and have all my remote locations replace outdated copies as necessary. I am sure this is possible since objects like Multi Gadget and the LandRing do this same type of thing. I have read through what I felt were pertinent sections of the Wiki but to be honest I still haven't figured it out. If someone can just point me in the right direction I would appreciate it.
_____________________
---
Chris Widget
Non
Keiki Lemieux
I make HUDDLES
Join date: 8 Jul 2005
Posts: 1,490
10-08-2006 08:17
I don't think that is how multigadget works. I think that when you attach it, it sends an email (perhaps now it uses llHTTPRequest) to a server object. The server object checks to see if it's the most current version. If it is not the most current version, the server sends the latest version to the owner directly.

I don't think that one object can remotely change the inventory of another (i.e. updating a notecard). For scripts you might test llRemoteLoadScriptPin(), but that will only work within a sim.
_____________________
imakehuddles.com/wordpress/
Chris Widget
Widget Isles @ the Edge!
Join date: 22 Jan 2006
Posts: 67
10-08-2006 09:41
Keiki thanks for the reply. Even though that didn't get me where I wanted to be it did open up a whole range of possibilities. Thanks!
_____________________
---
Chris Widget
Non
Zeera Xi
Real Join Date: Mid '05
Join date: 21 Sep 2006
Posts: 54
10-08-2006 12:25
This question has been asked for so many times.

Basically they work by using a central server to give the object to the receiving agent. The central server is the only part of the network which contains the actual objects which it then gives over to the agents.

The vendors act as a sort of remote device to email/whatever communication the central server to give the object to the agent.
Chris Widget
Widget Isles @ the Edge!
Join date: 22 Jan 2006
Posts: 67
10-08-2006 12:30
Thanks for the reply Zeera. I searched for a starter / example script before asking the question and didn't find anything, next time I will spend more time searching before asking repetitive questions.
_____________________
---
Chris Widget
Non
Rich Cordeaux
Registered User
Join date: 8 May 2006
Posts: 26
10-08-2006 13:26
If the objects are in the same sim, you could use llGiveInventory still - have the upgrader notify the upgradees about the pending upgrade, and have them remove the notecard (to be replaced) and verify that they're ready to receive the new one. Then if the script needs to be updated too, you can do that too.

If the objects are in different regions, but they are connected (like how the Furnation sims are a mini-continent), you could make a packet object whose purpose is to take the stuff to be upgraded from the master object to the objects in other regions needing to be upgraded. It would have to be pretty sophisticated, though, to avoid moving into noscript areas, and to go from sim to sim until it reaches the destination, etc.
Andy Enfield
Hippo Technologies CEO
Join date: 22 Nov 2005
Posts: 79
10-08-2006 13:32
Another route to explore might be to stick your text data on a web page, rather than a notecard, and use llHTTPRequest to pull the data down from there and parse it. That'd let you rez multiple objects until your heart's content and always ensure the data they're working from is up to date.
Eata Kitty
Registered User
Join date: 21 Jan 2005
Posts: 387
10-08-2006 13:46
I messed with network vending a lot, in ways its pretty simple. Vendors act like a normal vendor except on notecard load/product purchase.

You need a central server looking for emails and make your vendors request a notecard from the server, it emails back a key for the item data notecard in it's inventory which contains item names, texture keys and prices (Everything the vendor needs except inventory). Then someone pays and the vendor asks the server to deliver.

All pretty simple until you try to ensure all communication happened correctly and the item has properly been delivered.

Product updaters built into a product are easy, just send a version number to your update server and compare, if it's out of date send a new one. Security is a smidge more complicated but not all that difficult, hard part is making it so your stuff still works if your update server key changes, something you really need to use external email for like ObjectDNS on www.w-hat.com