Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Alternatives To llMessageLinked() For Large Objects?

Jessica Qin
Wo & Shade, Importers
Join date: 16 Feb 2005
Posts: 161
04-15-2005 07:53
I need to send messages to scripts embedded in the walls of a cube that is 40m x 40m x 40m (or possibly larger). The "obvious" mechanism would be to use llMessageLinked(), but I'm finding it difficult to link an object of that size.

Any advice on how to send control messages out to elements of a large unlinkable object? My basic design is a single controller that directs 96 slave scripts.

Jess
Eloise Pasteur
Curious Individual
Join date: 14 Jul 2004
Posts: 1,952
04-15-2005 08:51
llShout() on a silent channel seems the obvious solution - that would give you a 100m range for the controller, and listens in the slaves.
Kali Dougall
Purple and Spikey
Join date: 5 Feb 2005
Posts: 98
04-15-2005 10:18
96 listeners might noticeably impact your sim regardless of channel, but you can try it. Other than that, I don't see a way to do this. Except maybe go vote for the object-to-object communication feature. This is where that sort of thing is sorely lacking.
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
04-15-2005 10:24
You could try a hybrid system of llShout and llMessageLinked. Link the large build into a few big chunks, based on the limitatinos link distance. Hopefully you can get it down to a decent amount of chunks. Put a llListen() into the root prim of each chunk, and have it forward the messages on to the rest of the prims using llMessageLinked(). That reduces the number of listeners to a somewhat reasonable level.
Karsten Rutledge
Linux User
Join date: 8 Feb 2005
Posts: 841
04-15-2005 10:25
Probably the most efficient way to do this at the moment would be to link your cube into as big of pieces as possible, like quarters. Then have one listener in each link set that listens and passes messages to it's children via llMessageLinked. That way you only have 4 listeners, instead of 96, for everyone's sake.
_____________________


New products, updates, rants, randomness.
Addictive high-quality games for sale: Greedy Greedy, On-A-Roll, Mancala and the newly released Khet laser strategy game.
Karsten Rutledge
Linux User
Join date: 8 Feb 2005
Posts: 841
04-15-2005 10:26
Woo, go us, simulpost.
_____________________


New products, updates, rants, randomness.
Addictive high-quality games for sale: Greedy Greedy, On-A-Roll, Mancala and the newly released Khet laser strategy game.
Jessica Qin
Wo & Shade, Importers
Join date: 16 Feb 2005
Posts: 161
04-15-2005 12:06
Thanks all -- I was hoping there was a "nice" solution that I didn't know about. Oh well. I think I'll divide the cube into 8 20m x 20m x 20m sections (I'll try it again, but my previous attempts at building it from 4 20m x 20m x 40m linked sections met with failure).

Again, thanks to everyone who responded. And yes, I'm definitely voting for that object-to-object comm feature.

Jess
Karsten Rutledge
Linux User
Join date: 8 Feb 2005
Posts: 841
04-15-2005 13:19
I think the linking range is limited to 30m, so 8 pieces is probably your only choice. Still better than 96.
_____________________


New products, updates, rants, randomness.
Addictive high-quality games for sale: Greedy Greedy, On-A-Roll, Mancala and the newly released Khet laser strategy game.
Rickard Roentgen
Renaissance Punk
Join date: 4 Apr 2004
Posts: 1,869
04-15-2005 14:21
Depending on the nature of your object and the messeges your sending using the key of a control prim and using llKey2Name to get the name of that object can allow you to retrieve information from the control objects title anywhere in a sim. This is a single sim only solution though. moving the control object out of the sim will change its key, and llKey2Name won't work across sim boarders.
_____________________