STATUS PHANTOM

From Second Life Wiki
Revision as of 17:18, 23 January 2015 by ObviousAltIsObvious Resident (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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
Constants Value Description
STATUS_BLOCK_GRAB 0x040 Prevent click-and-drag movement on the root prim
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

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;