llSetStatus(integer status, integer value)
Sets the status
Use the following constants
| Flag || Value || Default || Description |
| STATUS_PHYSICS || 1 || FALSE ||If value is TRUE, object moves physically. |
| STATUS_ROTATE_X || 2 || TRUE ||If value is FALSE, object doesn't rotate around local X axis. |
| STATUS_ROTATE_Y || 4 || TRUE ||If value is FALSE, object doesn't rotate around local Y axis. |
| STATUS_ROTATE_Z || 8 || TRUE ||If value is FALSE, object doesn't rotate around local Z axis. |
| STATUS_PHANTOM || 16 || FALSE ||If value is TRUE, object doesn't collide with other objects (is phantom). |
| STATUS_SANDBOX || 32 || FALSE ||If value is TRUE, object can't cross region boundaries or move more than 10m from its start location (and loses physical attribute). |
| STATUS_BLOCK_GRAB || 64 || FALSE ||If value is TRUE, object can't be grabbed and/or physically dragged. See llDetectedGrab. |
Note: this doesn't affect whether or not a user is able to select the object using the editing tools.
| STATUS_DIE_AT_EDGE || 128 || FALSE |
(TRUE for objects created with llRezObject)
|If value is TRUE, objects that reach the edge of the world just die rather than returning to the owner's inventory. |
| STATUS_RETURN_AT_EDGE || 256 || FALSE || If set, objects created with llRezObject will be returned to inventory instead of deleted when going off-world. Overrides STATUS_DIE_AT_EDGE. |
| STATUS_CAST_SHADOWS || 512 || TRUE || PREVIEW: If set, object casts shadows on other objects (if shadows are enabled) |
More than one status flag
can be set or unset in one call
ing the flags together:
This turns STATUS_ROTATE_X
, and STATUS_ROTATE_Z
off at the same time.
To determine which status flags have been set, see llGetStatus
- llSetStatus modifies properties of the object. This means the new status will persist until it is explicitly changed back. For example, if axis rotation is disabled for a specific object, it won't be rotateable with a function like llRotLookAt until axis rotation is re-enabled. Even if the script is reset, deleted and replaced with a new one, the object is put into inventory and moved to a different sim, copies of the object are rezzed back out of inventory, or anything else.
- STATUS_PHANTOM can't be set on a specific prim in a larger linked object--that is, setting STATUS_PHANTOM to either TRUE or FALSE on a prim contained within a linked set of prim sets STATUS_PHANTOM for the object as a whole. There may be ways to script around this, perhaps by unlinking, setting phantom status, and relinking (according to this forum post). However, many of these methods may be considered bugs and can be quickly patched by the Lindens when they are discovered.
- STATUS_BLOCK_GRAB only affects the prim the llSetStatus function is in; child prims in linked objects won't be affected.
- Only the status flags in use by LL may be set, attempting to set/get any other flag will always return FALSE.
Many of the status flags set by llSetStatus
can also be set by llSetPrimitiveParams
and retrieved with llGetPrimitiveParams
. However, be aware llSetPrimitiveParams
use different constants
. You can't substitute a constant from llSetStatus
for one from llGetPrimitiveParams
This article wasn't helpful for you? Maybe the related article at the LSL Portal
is able to bring enlightenment.