STATUS PHANTOM

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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).

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.

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.
    }
}

Deep Notes

Search JIRA for related Issues

Signature

integer STATUS_PHANTOM = 0x10;