llSetStatus(integer status, integer value)
Sets the
status to
value (
TRUE/
FALSE).
Use the following
constants for
status:
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 by
ORing the flags together:
This turns
STATUS_ROTATE_X,
STATUS_ROTATE_Y, and
STATUS_ROTATE_Z off at the same time.
To determine which status flags have been set, see
llGetStatus.
Notes:
- 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 and
llGetPrimitiveParams use different
constants than
llSetStatus. You can't substitute a constant from
llSetStatus for one from
llGetPrimitiveParams or vice-versa.
This article wasn't helpful for you? Maybe the
related article at the LSL Portal is able to bring enlightenment.
Functions