Difference between revisions of "LlGetStatus"

From Second Life Wiki
Jump to navigation Jump to search
(Add caveats)
(STATUS_DIE_AT_* was fixed; it seems I had to write this for it to be noticed.)
Line 11: Line 11:
|caveats=*Status is an object attribute; all prims in an object share the same status.
|caveats=*Status is an object attribute; all prims in an object share the same status.
**[[STATUS_BLOCK_GRAB]] only really deals with the root prim. Try [[STATUS_BLOCK_GRAB_OBJECT]] instead.
**[[STATUS_BLOCK_GRAB]] only really deals with the root prim. Try [[STATUS_BLOCK_GRAB_OBJECT]] instead.
*Querying for [[STATUS_DIE_AT_EDGE]], [[STATUS_DIE_AT_NO_ENTRY]] or [[STATUS_CAST_SHADOWS]] always returns FALSE regardless of the setting.
*Querying for [[STATUS_CAST_SHADOWS]] always returns [[FALSE]] regardless of the setting.
*Only one flag should be specified at a time. As of Second Life Server 2022-08-12.574216, if more than one flag is specified, STATUS_BLOCK_GRAB_OBJECT takes priority, followed by STATUS_RETURN_AT_EDGE, STATUS_BLOCK_GRAB, STATUS_SANDBOX, STATUS_ROTATE_Z, STATUS_ROTATE_Y, STATUS_ROTATE_X, STATUS_PHANTOM, and STATUS_PHYSICS.
*Only one flag should be specified at a time. As of Second Life Server 2022-08-12.574216, if more than one flag is specified, STATUS_BLOCK_GRAB_OBJECT takes priority, followed by STATUS_RETURN_AT_EDGE, STATUS_BLOCK_GRAB, STATUS_SANDBOX, STATUS_ROTATE_Z, STATUS_ROTATE_Y, STATUS_ROTATE_X, STATUS_PHANTOM, and STATUS_PHYSICS.
|constants={{LSL Constants/Status}}
|constants={{LSL Constants/Status}}
|examples=<source lang="lsl2">default
|examples=<syntaxhighlight lang="lsl2">default
{
{
     touch_start(integer total_number)
     touch_start(integer total_number)
Line 27: Line 27:
         }
         }
     }
     }
}</source>
}</syntaxhighlight>
|helpers
|helpers
|also_functions=
|also_functions=

Revision as of 14:55, 14 September 2022

Summary

Function: integer llGetStatus( integer status );

Returns a boolean (an integer) equal to the status of the object.

• integer status A single STATUS_* flag

Constants Value Default Description
STATUS_PHYSICS 0x001 FALSE Object is physical
STATUS_ROTATE_X 0x002 TRUE Can turn along this axis (physical objects only)
STATUS_ROTATE_Y 0x004 TRUE Can turn along this axis (physical objects only)
STATUS_ROTATE_Z 0x008 TRUE Can turn along this axis (physical objects only)
STATUS_PHANTOM 0x010 FALSE Object is phantom
STATUS_SANDBOX 0x020 FALSE Keep object within 10 meters and in the same region
STATUS_BLOCK_GRAB 0x040 FALSE Prevent click-and-drag movement on the root prim
Constants Value Default Description
STATUS_DIE_AT_EDGE 0x080 FALSE* Delete and do not return object if it goes off world
STATUS_RETURN_AT_EDGE 0x100 FALSE Return object to owner if it goes off world
STATUS_CAST_SHADOWS 0x200 TRUE not currently used
STATUS_BLOCK_GRAB_OBJECT 0x400 FALSE Prevent click-and-drag movement on all prims in the object
STATUS_DIE_AT_NO_ENTRY 0x800 FALSE Delete and do not return object if it cannot enter a parcel
* STATUS_DIE_AT_EDGE - If the object is rezzed by a script, the default is TRUE
STATUS_DIE_AT_NO_ENTRY - No-copy objects ignore this flag and remain in-world

Caveats

  • Status is an object attribute; all prims in an object share the same status.
  • Querying for STATUS_CAST_SHADOWS always returns FALSE regardless of the setting.
  • Only one flag should be specified at a time. As of Second Life Server 2022-08-12.574216, if more than one flag is specified, STATUS_BLOCK_GRAB_OBJECT takes priority, followed by STATUS_RETURN_AT_EDGE, STATUS_BLOCK_GRAB, STATUS_SANDBOX, STATUS_ROTATE_Z, STATUS_ROTATE_Y, STATUS_ROTATE_X, STATUS_PHANTOM, and STATUS_PHYSICS.

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   llGetStatus(STATUS_ROTATE_Z); will not work on child prims on freshly rezzed objects.

Examples

default
{
    touch_start(integer total_number)
    {
        if (llGetStatus(STATUS_PHYSICS))
        {
            llSay(0, "This object is physical");
        }
        else
        {
            llSay(0, "This object is not physical");
        }
    }
}

See Also

Functions

•  llSetStatus Sets the object status.

Deep Notes

All Issues

~ Search JIRA for related Issues
   llGetStatus(STATUS_ROTATE_Z); will not work on child prims on freshly rezzed objects.
   STATUS_BLOCK_GRAB only affects individual prims in a linkset
   Create STATUS_TRANSLATE_* flags for llSetStatus

Signature

function integer llGetStatus( integer status );