soundproof wall
|
|
rathlin Zeno
Registered User
Join date: 28 May 2006
Posts: 12
|
09-18-2006 14:01
Does anyone know if it's possible to make a soundproof wall?
I have many of Apotheus Silverman's bulletin boards together in the same area, but need to surround them with some sort of booth so that speaking to one doesn't activate them all.
|
|
Kalel Venkman
Citizen
Join date: 10 Mar 2006
Posts: 587
|
No, sorry..
09-18-2006 14:06
From: rathlin Zeno Does anyone know how if it's possible to make a soundproof wall?
I have many of Apotheus Silverman's bulletin boards together in the same area, but need to surround them with some sort of booth so that speaking to one doesn't activate them all. There is nothing you can do to attentuate the effective radius of chat speech, apart from testing the range from the speaker within the script of the device itself, or physically altering the distance between speaker and listener. Other than that, if you're working with something somebody else made that you don't have modify rights on for the scripts, you're pretty much out of luck.
|
|
rathlin Zeno
Registered User
Join date: 28 May 2006
Posts: 12
|
soundproof wall
09-18-2006 16:37
Thanks Kalel.
I do have modify rights on the script - any ideas?
|
|
Jesse Malthus
OMG HAX!
Join date: 21 Apr 2006
Posts: 649
|
09-18-2006 19:28
From: rathlin Zeno Thanks Kalel.
I do have modify rights on the script - any ideas? Rez one, configure. Take it. Rez another, configure. Take. Repeat as necesary.
_____________________
Ruby loves me like Japanese Jesus. Did Jesus ever go back and clean up those footprints he left? Beach Authority had to spend precious manpower. Japanese Jesus, where are you? Pragmatic!
|
|
ed44 Gupte
Explorer (Retired)
Join date: 7 Oct 2005
Posts: 638
|
09-18-2006 20:59
look for instance of the llListen command and configure the channels so they don't clash: integer llListen(integer channel, string name, key id, string msg) then preface each command with /channel no, eg /3 for channel 3, etc
|
|
Newgate Ludd
Out of Chesse Error
Join date: 8 Apr 2005
Posts: 2,103
|
09-19-2006 00:34
Modify each so that when they Rez they set up their own channel.
integer channel; integer listening = 0;
SetChannel() { // Clear Current Channel (if any) if(listening != 0)llListenRemove(listening); listening = 0; channel = (integer)llFrand(100); listening = llListen(channel,"","","");
llSay(0,"Listening on " + (string)channel); }
if its menu driven then add a SetChannel option
|
|
Eloise Pasteur
Curious Individual
Join date: 14 Jul 2004
Posts: 1,952
|
09-19-2006 01:49
You could also alter the listens to listen for a prefix. 1.list, 2.list etc... (or whatever the commands are, and the place I've used numbers could easily be, say, the object's name).
|
|
Kalel Venkman
Citizen
Join date: 10 Mar 2006
Posts: 587
|
Also..
09-19-2006 07:41
.. you could use llSensor() to determine the distance of the speaker, and only process the command if the speaker was within, say, 8 meters, or however far apart these boards need to be. You could feed llSensor() the key of the agent you were trying to detect, so it would be very low lag that way as well.
This method covers all the bases: * You wouldn't have to have a unique script for each bulletin board. * You wouldn't have to be continually picking them up and placing them again each time you wanted to change a message. * You wouldn't have to mess around with secret chat channels, especially if you filter the listen for just the group ownership, or just the owner. * Filtering listens by distance and owner/group cuts the lag you'd normally get with channel 0 chat listens to an insignificant level.
|
|
Newgate Ludd
Out of Chesse Error
Join date: 8 Apr 2005
Posts: 2,103
|
09-20-2006 00:18
If you're going to resort to a sensor you may want to use llVolumeDetect instead.
|
|
Kalel Venkman
Citizen
Join date: 10 Mar 2006
Posts: 587
|
09-20-2006 06:10
From: Newgate Ludd If you're going to resort to a sensor you may want to use llVolumeDetect instead. Oh, I hadn't thought of that - you're right, much lower lag than llSensor().
|
|
Newgate Ludd
Out of Chesse Error
Join date: 8 Apr 2005
Posts: 2,103
|
09-20-2006 06:45
From: Kalel Venkman Oh, I hadn't thought of that - you're right, much lower lag than llSensor(). Just generally less resource intensive. But does require an additional prim etc...
|
|
Pont Pilote
Registered User
Join date: 17 Sep 2006
Posts: 5
|
09-20-2006 17:52
Another Idea.
You could also check the distance of the player from the object using a scan if the object is too far away, Ignore there speach, if they are within range then don't ignore it.
|
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
09-20-2006 20:27
Another thought: have a central mediator that keeps track of the receiving objects and has a main listen. Centralize the distribution logic into this object's script(s) and multiplex it to an appropriate channel for one of the receiving objects. The position of the objects can be kept track of by announcements on another channel. At least, I assume several objects announcing their own positions every once in a while is going to be less work than a sensor. That would probably be a worthwhile thing to test out though.
This way, if commands are on channel zero, at least only ONE object needs listen on that channel and process each chat.
|
|
Pont Pilote
Registered User
Join date: 17 Sep 2006
Posts: 5
|
09-20-2006 21:41
From: someone Another thought: have a central mediator that keeps track of the receiving objects and has a main listen. Centralize the distribution logic into this object's script(s) and multiplex it to an appropriate channel for one of the receiving objects. The position of the objects can be kept track of by announcements on another channel. At least, I assume several objects announcing their own positions every once in a while is going to be less work than a sensor. That would probably be a worthwhile thing to test out though.
This way, if commands are on channel zero, at least only ONE object needs listen on that channel and process each chat.
Wouldn't the central mediator still need a sensor, Too keep track of where the person speaking was and what object they are speaking to ?
|
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
09-21-2006 12:54
From: Pont Pilote Wouldn't the central mediator still need a sensor, Too keep track of where the person speaking was and what object they are speaking to ? Yes. It doesn't change that, except to reduce the number of sensors and channel zero listeners (or same-channel listeners if you will) to one.
|
|
bucky Barkley
Registered User
Join date: 15 May 2006
Posts: 200
|
09-21-2006 14:34
A number of my web browsers are in the same room in a library on info island. I have the first line of the configuration notecard specify the chat channel for the specific browser. That way two AV's can interact with the ones in front of them (do searches, pick a web site), without stepping on each other.
I suppose another thing you could do is "click on one of them, to associate yourself with that object" (and then the others ignore you). That gets into wierd UI and network problems though. Seems easiest to just clue in the user as to which channel will work with the object in front of them.
|