LSL Protocol/Restrained Love Open Relay Group/speech
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".
The string must be escaped using llEscapeURL() in the version 002 of the protocol.
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.
The strings must be escaped using llEscapeURL() in the version 002 of the protocol.
No caveat anymore since the strings are escaped in the version 002 of the protocol. So the separators / (slash) and , (comma) are not anymore a problem.