Difference between revisions of "STATUS PHANTOM"

From Second Life Wiki
Jump to navigation Jump to search
(New page: {{LSL Constant |name=STATUS_PHANTOM |type=integer |value={{LSL Hex|0x10}} |desc |examples |constants= {{!}} {{{!}} {{LSL DefineRow||PRIM_PHANTOM|}} {{!}}} {{LSL Constants/Status|no_def...)
 
m (<lsl> tag to <source>)
 
(2 intermediate revisions by 2 users not shown)
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.
<source lang="lsl2">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.
    }
}</source>
|constants=
|constants=
{{!}}
{{!}}
Line 16: Line 32:
|events=
|events=
|cat1=Status
|cat1=Status
|cat2
|cat2=Phantom
|cat3
|cat3
|cat4
|cat4
}}
}}

Latest revision as of 17:18, 23 January 2015

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;