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

From Second Life Wiki
Jump to: navigation, search
Line 12: Line 12:
 
The parameters are the same as for the LSL command llSensor(string name, key id, integer type, float range, float arc). The ack contains a list of uuid keys, or nosensor if nothing is detected. No other ack is possible.
 
The parameters are the same as for the LSL command llSensor(string name, key id, integer type, float range, float arc). The ack contains a list of uuid keys, or nosensor if nothing is detected. No other ack is possible.
  
Typical exchange with
+
Two examples with
 
* C being the RLV controller
 
* C being the RLV controller
 
* R being the RLV relay
 
* R being the RLV relay
Line 29: Line 29:
  
 
===Remarks===
 
===Remarks===
 +
 +
*Before sending this kind of command, the grabber must check by !x-orgversions the presence of 'sensor=' in the ack of this command.
  
 
*The maximal length of the message is 16*36+15=591<1023. It remains 432 characters for '!x-sensor/name/id/type/range/arc,' !x-sensor = 9 characters, /////, = 6 characters, id = 36 characters, range = 8 characters, arc = 8 characters (example: 3.141593), type = 31 characters maximum (?!), so it remains 334 characters for 'name'.  
 
*The maximal length of the message is 16*36+15=591<1023. It remains 432 characters for '!x-sensor/name/id/type/range/arc,' !x-sensor = 9 characters, /////, = 6 characters, id = 36 characters, range = 8 characters, arc = 8 characters (example: 3.141593), type = 31 characters maximum (?!), so it remains 334 characters for 'name'.  
  
 
*!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.
 
*!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.

Revision as of 16:51, 9 June 2011

sensor

STATUS: draft

version: 001

Description of !x-sensor

Syntax

The parameters are the same as for the LSL command llSensor(string name, key id, integer type, float range, float arc). The ack contains a list of uuid keys, or nosensor if nothing is detected. No other ack is possible.

Two examples with

  • C being the RLV controller
  • R being the RLV relay
C-->R  !x-sensor/name/id/type/range/arc
C<--R  !x-sensor/name/id/type/range/arc,97116a5b-686b-64a9-a086-cae72a95ce6b,ccb7ce46-eec4-e790-9995-47d789adfe49
C-->R  !x-sensor/name/id/type/range/arc
C<--R  !x-sensor/name/id/type/range/arc,nosensor
  • Is it possible to detect 00000000-0000-0000-0000-000000000000 ? If not, maybe the ack nosensor could be replaced by 00000000-0000-0000-0000-000000000000. Or maybe by the wildcard = ffffffff-ffff-ffff-ffff-ffffffffffff ?

Semantics

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 in the ack using llRegionSayTo().

Remarks

  • Before sending this kind of command, the grabber must check by !x-orgversions the presence of 'sensor=' in the ack of this command.
  • The maximal length of the message is 16*36+15=591<1023. It remains 432 characters for '!x-sensor/name/id/type/range/arc,' !x-sensor = 9 characters, /////, = 6 characters, id = 36 characters, range = 8 characters, arc = 8 characters (example: 3.141593), type = 31 characters maximum (?!), so it remains 334 characters for 'name'.
  • !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.