LSL Protocol/Restrained Love Open Relay Group/speech

From Second Life Wiki
Jump to navigation Jump to search

speech

STATUS: draft

version: 001

Implemented in Dahlia's multirelay 1.3.7 and in AnythingRLV 3.9.30

Two new commands !x-speech and !x-rename

Description of !x-rename

  • The syntax is !x-rename[/STRING[/FLOAT]]

The effect of !x-rename is to clear any previous setting (it is equivalent to !x-rename/clear which does not exist for obvious reasons). The effect of the command !x-rename/string is to rename the wearer of the relay for all messages and emotes sent to the local chat. The second optional parameter is the range (default: 20.0m). In a relay simulating several controllers, only one controller at a given time can rename the wearer.

The relay must answer "ok" and accepts this command only if the controller sending it is already accepted and if there is no other controller already renaming the wearer of the relay. Otherwise this command has no effect and the relay must answer "ko".

Description of !x-speech

  • The syntax is !x-speech/INTEGER/STRING[/FLOAT[/STRING]].

The effect of !x-speech/0/string is to force the avatar wearing the relay to say the string. The effect of !x-speech/1/string is to force the avatar wearing the relay to emote the string. The default range is the say range (default: 20.0m). The third optional parameter is the range. The fourth optional parameter is the name given to the wearer of this avatar for whispering/saying/shouting the string. If no fourth argument is given, the argument given in a previous accepted !x-rename will be taken, or the username of the wearer. Note that it is written username, not displayname. The controller can always force the displayname if necessary by adding it as fourth argument.

The relay must answer "ok" and accepts this command only if the controller sending it is already accepted. Otherwise this command has no effect and the relay must answer "ko". This setting is to avoid grieffers sending forced speech commands using a wildcard.

Caveat

The separators / (slash) and , (comma) are forbidden in the strings in parameters. A workaround is for the controller to escape the string to be sent using llEscapeURL() and for the relay to unescape it using llUnescapeURL().