Feature Request: Range sensitive RLV commands

Issue #54 new
Former user created an issue

The recently added RLV functions, recvchatfrom, recvemotefrom, recvimfrom, sendimto and startimto allow for the ability to create range sensitive restrictions, albeit with some limitations and possibly noticeable impact on LSL/sim performance. However, because the viewer already knows where other agents are (for mini-map, etc) the viewer could handle this processing without having to rely on repeated sensors or unrestricted listeners on channel 0. Furthermore, they would not be subject to the 16 agent limit that LSL/sensors are.

What could range sensitive commands do? 1) Reduce the range that a sub can hear chat/see emotes. @mutechat and @muteemote could accept a value between 0% and 100% (or 0.0 and 1.0) where 0 would completely prevent the sub from hear chat/emotes. A value of 50%/0.5 would would effective reduce preceptible chat/talk(emote)/shout ranges to 5/10/50. A value of 100%/1.0 would allow the sub to hear normally.

2) @recvlocalim, @sendlocalim & @startlocalim could work in a similar way to the suggested functions above or, more simply, could block IMs between the sub and people within 20m. Effectively forcing the sub to socialise in local chat but without blocking IMs entirely (for busy subs who need to keep open IMs for supporting business, social groups, etc).

Why not just use the existing commands? 1) All the above commands can be achieved, after a fashion, using a repeating LSL sensor, to continually maintain a list of who to block however it has certain limitations. An LSL sensor only picks up the nearest 16 agents. Furthermore, if the sub is at a busy venue that straddles a sim border, won't reliably pick up people in the other sim, even if they're only a few metres away. (the mute functions can also be done using a listener on channel 0).

2) Although the mute functions can be sort-of-done using LSL, there's one aspect that can't be done in LSL. When someone whispers, says or shouts, the viewer identifies the volume (whisper/say/shout) in the log. So it knows how loud the agent is speaking. LSL scripts have no way to know this. So a range limitation on chat using a script would have to assume that all chat were says. Only viewer/side code can process a chat based on whether it's a whisper, say or shout.

Conclusion: To me it seems the next logical step after the implementation of the from/to chat/emote/IM commands would be to create range sensitive products however doing so in LSL has limitations and performance implications (repeating sensors and/or unqualified listeners on channel 0). So creating RLV commands to implement this functionality should be considered with a reasonable priority.

Comments (0)

  1. Log in to comment