I was asked by a developer to file this.
This feature request is for the following function:
integer llAnyoneCanMove(integer status);
Upon success, turns on/off Anyone Can Move status on the linkset's root regardless of which link it was called from.
The use case is for scene/amenities/game component rezzers that rez objects meant to be moved by other guests/users, not just by the application owner.
requires PERMISSION_ANYONE_CAN_MOVE which is explicit and not auto-granted
returns 0 if successful with no error.
returns 1 if no perms granted
returns 2 if object is locked
returns 3 if perms granted are not that of the object's owner, or if object is deeded, perms are not granted by an agent belonging to the group's "Owners" role.
returns -1 if unknown error
Companion function:
list llGetSelectionList(key object_id);
returns a list of agent UUIDs selecting object_id.
Since there seems to be an interest with bridging LSL and Anyone Can Move and not offering a means to allow a specific agent to move an object, we really need a way to detect if a wrong/unintended user selects an object so Anyone Can Move can be turned off.
Other concerns/needs:
A function to limit either move distance or move range (bounding box).
Return-to-pos and/or die status setting/handling for out-of-range movement.
STATUS_SANDBOX is mostly useless as it is physics focused and hardcoded to 10m.