Difference between revisions of "STATUS PHANTOM"

From Second Life Wiki
Jump to navigation Jump to search
m (<lsl> tag to <source>)
m (Replaced <source> with <syntaxhighlight>)
 
Line 5: Line 5:
|desc=This property (set FALSE by default) when set TRUE turns the object un-solid (objects and avatars can pass through it).
|desc=This property (set FALSE by default) when set TRUE turns the object un-solid (objects and avatars can pass through it).
|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.
|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.
<source lang="lsl2">default
<syntaxhighlight lang="lsl2">default
{ // Triggered when objects (including avatars) collide with the object containing this script
{ // Triggered when objects (including avatars) collide with the object containing this script
     collision_start(integer nd)
     collision_start(integer nd)
Line 20: Line 20:
             llSetStatus(STATUS_PHANTOM, FALSE); // Set the object solid.
             llSetStatus(STATUS_PHANTOM, FALSE); // Set the object solid.
     }
     }
}</source>
}</syntaxhighlight>
|constants=
|constants=
{{!}}
{{!}}

Latest revision as of 18:31, 27 September 2024

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.

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;