Difference between revisions of "STATUS PHANTOM"

From Second Life Wiki
Jump to navigation Jump to search
m
(Added example and description.)
Line 3: Line 3:
|type=integer
|type=integer
|value={{LSL Hex|0x10}}
|value={{LSL Hex|0x10}}
|desc
|desc=This property (set FALSE by default) when set TRUE turns the object un-solid (objects and avatars can pass through it).
|examples
|examples=A simple "secret" door. The object will turn un-solid (phantom) when the owner collides with it. So, if this script is in a prim that is part of your wall, it will allow only you to pass through.
<lsl>default
{ // Triggered when objects (including avatars) collide with the object containing this script
    collision_start(integer nd)
    {
        while(nd)
        { // Cycle through the detected keys of those objects that collided this time checking if each is the owner.
            if(llDetectedKey(--nd) == llGetOwner())
                llSetStatus(STATUS_PHANTOM, TRUE); // Become un-solid
        }
    }
    collision_end(integer nd)
    {
        if(llGetStatus(STATUS_PHANTOM)) // If the object is un-solid
            llSetStatus(STATUS_PHANTOM, FALSE); // Set the object solid.
    }
}</lsl>
|constants=
|constants=
{{!}}
{{!}}

Revision as of 03:32, 27 April 2010

Description

Constant: integer STATUS_PHANTOM = 0x10;

The integer constant STATUS_PHANTOM has the value 0x10

This property (set FALSE by default) when set TRUE turns the object un-solid (objects and avatars can pass through it).

Caveats


Related Articles

Constants

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

Functions

•  llSetStatus
•  llGetStatus

Examples

A simple "secret" door. The object will turn un-solid (phantom) when the owner collides with it. So, if this script is in a prim that is part of your wall, it will allow only you to pass through. <lsl>default { // Triggered when objects (including avatars) collide with the object containing this script

   collision_start(integer nd)
   {
       while(nd)
       { // Cycle through the detected keys of those objects that collided this time checking if each is the owner.
           if(llDetectedKey(--nd) == llGetOwner())
               llSetStatus(STATUS_PHANTOM, TRUE); // Become un-solid
       }
   }
   collision_end(integer nd)
   {
       if(llGetStatus(STATUS_PHANTOM)) // If the object is un-solid
           llSetStatus(STATUS_PHANTOM, FALSE); // Set the object solid.
   }

}</lsl>

Deep Notes

Search JIRA for related Issues

Signature

integer STATUS_PHANTOM = 0x10;