Difference between revisions of "LSL Protocol/Restrained Love Open Relay Group/simwide"

From Second Life Wiki
Jump to navigation Jump to search
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{ ORG Restrained Life Relay Specs TOC }}
= simwide =
= simwide =


STATUS: draft
STATUS: deprecated


version: 001
version: 000


''Implemented in Dahlia's multirelay >= 1.2.10 and in anythingRLV >= 3.5''
Two new commands !x-simwide and !x-simwide/clear explained below.
 
Two new commands !x-simwide and !x-sensor explained below.


==Description of !x-simwide==
==Description of !x-simwide==
Line 13: Line 12:
The relay must answer ok if and only if the source is a grabber. Otherwise the answer is always ko. The effect of this command is as follows: for any command @getsomething:xxx=channel, the relay must listen to the viewer's answer and resend it using llRegionSayTo() using the same channel and to the source. So !x-simwide enables to use such command with a hud which is more than 100m away (simwide mode).
The relay must answer ok if and only if the source is a grabber. Otherwise the answer is always ko. The effect of this command is as follows: for any command @getsomething:xxx=channel, the relay must listen to the viewer's answer and resend it using llRegionSayTo() using the same channel and to the source. So !x-simwide enables to use such command with a hud which is more than 100m away (simwide mode).


It does not seem to be necessary to implement a !x-simwide/clear.
Typical exchange (if C is already accepted by the relay) in chat session:
 
==Description of !x-sensor==
 
The relay must answer ok if and only if the source is a grabber and if the grabber previously sent !x-simwide to enable simwide mode. Otherwise the answer is always ko. The syntax is the same as the one of the command llSensor(string name, key id, integer type, float range, float arc), with an additional parameter which is the channel where to send the result.
 
So the syntax is !x-sensor/name/id/type/range/arc/channel_number. The effect of this command is that the relay performs a llSensor() with the given parameters, and sends the result as a (possibly empty) list of keys separated by a comma to the grabber using the channel_number using llRegionSayTo(). The maximal length of the message of 16*36+15=591<1023 so the maximal length cannot be reached.


!x-sensor enables to use llSensor(), e.g. for a forcesit command or to force to follow an object or an avatar, when the captured avatar is far more than 100m away.
C -chat on RLVRC-> R: enable_forward,!x-simwide
C <-chat on RLVRC- R: enable_forward,!x-simwide,ok
C -chat on RLVRC-> R: outfit_query,@getoutfit=1111
C <-chat on RLVRC- R: outfit_query,@getoutfit=1111,ok
R --llOwnerSay--> V: @getoutfit=1111
R <-chat on 1111- V: 0010011111111110
C <-chat on 1111- R: 0010011111111110
C -chat on RLVRC-> R: disable_forward,!x-simwide/clear
C <-chat on RLVRC- R: disable_forward,!x-simwide/clear,ok


==Interaction with !x-takeover==
==Interaction with !x-takeover==

Latest revision as of 07:49, 11 June 2011

simwide

STATUS: deprecated

version: 000

Two new commands !x-simwide and !x-simwide/clear explained below.

Description of !x-simwide

The relay must answer ok if and only if the source is a grabber. Otherwise the answer is always ko. The effect of this command is as follows: for any command @getsomething:xxx=channel, the relay must listen to the viewer's answer and resend it using llRegionSayTo() using the same channel and to the source. So !x-simwide enables to use such command with a hud which is more than 100m away (simwide mode).

Typical exchange (if C is already accepted by the relay) in chat session:

C -chat on RLVRC-> R: enable_forward,!x-simwide
C <-chat on RLVRC- R: enable_forward,!x-simwide,ok
C -chat on RLVRC-> R: outfit_query,@getoutfit=1111
C <-chat on RLVRC- R: outfit_query,@getoutfit=1111,ok
R --llOwnerSay--> V: @getoutfit=1111
R <-chat on 1111- V: 0010011111111110
C <-chat on 1111- R: 0010011111111110
C -chat on RLVRC-> R: disable_forward,!x-simwide/clear
C <-chat on RLVRC- R: disable_forward,!x-simwide/clear,ok

Interaction with !x-takeover

These instructions must be used only with llRegionSayTo(). So the relay will have to save the uuid key of the grabber and also will have to update it after a !x-takeover.

Interaction with !x-handover

After a !x-handover, the next grabber must send a new !x-simwide to enable the simwide mode again.