LSL Protocol/Restrained Love Open Relay Group/sensor

From Second Life Wiki
Jump to: navigation, search


STATUS: draft

version: 001

Description of !x-sensor


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

  • 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 ?


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(). 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.