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

From Second Life Wiki
Jump to navigation Jump to search
Line 19: Line 19:
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.  
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.  
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 is 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.
!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 more than 100m away.


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

Revision as of 06:23, 5 June 2011

simwide

STATUS: draft

version: 001

Implemented in Dahlia's multirelay >= 1.2.10 and in anythingRLV >= 3.5

Two new commands !x-simwide and !x-sensor 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).

It does not seem to be necessary to implement a !x-simwide/clear.

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 is 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 more than 100m away.

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.