LSL Protocol/Restrained Love Open Relay Group/simwide

From Second Life Wiki
< LSL Protocol‎ | Restrained Love Open Relay Group
Revision as of 23:01, 4 June 2011 by Dahlia Orfan (talk | contribs) (Created page with "= 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. …")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 of 16*36+15=591<1023 so the maximal length cannot be reached.

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.