Difference between revisions of "LlSetStatus"

From Second Life Wiki
Jump to navigation Jump to search
m (+ caveat)
(Removed the SVC-1773 workaround, as it was negated with the introduction of the new flag "STATUS_BLOCK_GRAB_OBJECT")
Line 20: Line 20:
     }
     }
}</lsl>
}</lsl>
Due to SVC-1773, in order to block grabbing in a link_set, unlink the whole object ('''make sure it isn't physical when you do that''') and drop this script into every prim (it self deletes) then re-link the set.
<lsl>default
{
    state_entry() {
        llSetStatus(STATUS_BLOCK_GRAB,TRUE);          // Set 'No grab' flag on prim.
        llOwnerSay("'No Grab' was set!");
        llRemoveInventory(llGetScriptName());
    }
}</lsl>
See JIRA comment [http://jira.secondlife.com/browse/SVC-1773 SVC-1773] for more information until resolved.


|helpers
|helpers

Revision as of 13:20, 10 September 2010

Summary

Function: llSetStatus( integer status, integer value );

Sets the object status attributes indicated in the status mask to value

• integer status bit mask, STATUS_* flags
• integer value boolean

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.
    • Except for STATUS_BLOCK_GRAB, this only affects the prim the script is in, child prims in linked objects will not be affected.
  • STATUS_PHYSICS fails silently in attached objects, regardless of setting

Important Issues

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

Examples

<lsl>default {

   state_entry()
   {
llSetStatus( STATUS_DIE_AT_EDGE

See Also

Functions

•  llGetStatus Gets 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
   New constant STATUS_BLOCK_SIT

Signature

function void llSetStatus( integer status, integer value );