Changed

From Second Life Wiki

Jump to: navigation, search

Event: changed( integer change ){ ; }

Various changes to the object/prim trigger this event.

• integer change bit field of CHANGE_* flags


Multiple changes can be represented in a single event, so use bitwise arithmetic.

Flag Description
CHANGED_INVENTORY 0x001 Prim inventory has changed (owner adding inventory only).
CHANGED_COLOR 0x002 Prim color or alpha parameters have changed.
CHANGED_SHAPE 0x004 Prim shape has changed.
CHANGED_SCALE 0x008 Prim scale has changed.
CHANGED_TEXTURE 0x010 Prim texture parameters have changed.
CHANGED_LINK 0x020 The number of prims making up the object or avatars seated on the object have changed.
CHANGED_ALLOWED_DROP 0x040 A user other than the owner (or the owner if the object is no-mod) has added inventory to the prim.
CHANGED_OWNER 0x080 The object has changed owners.
CHANGED_REGION 0x100 The object has changed region.
CHANGED_TELEPORT 0x200 The avatar to whom this object is attached has teleported.

Examples

default
{
    changed(integer change)
    {
        //note that it's & and not &&... it's bitwise!
        if (change & CHANGED_INVENTORY)         
        {
            llOwnerSay("The inventory has changed.");
        }
        if (change & CHANGED_COLOR) 
        {
            llOwnerSay("The color or alpha changed.");
        }
        if (change & CHANGED_SHAPE) 
        {
            llOwnerSay("The prims shape has changed.");
        }
        if (change & CHANGED_SCALE) 
        {
            llOwnerSay("The prims size has changed.");
        }
        if (change & CHANGED_TEXTURE) 
        {
            llOwnerSay("The prims texture or texture attributes have changed.");
        }
        if (change & CHANGED_LINK) 
        {
            llOwnerSay("The number of links have changed.");
        }
        if (change & CHANGED_ALLOWED_DROP) 
        {
            llOwnerSay("The inventory has changed as a result of a user without mod permissions "+
                       "dropping an item on the prim and it being allowed by the script.");
        }
        if (change & CHANGED_OWNER) 
        {
            llOwnerSay("The owner of the object has changed.");
        }
        if (change & CHANGED_REGION) 
        {
            llOwnerSay("The region the object is in has changed.");
        }
        if (change & CHANGED_TELEPORT) 
        {
            llOwnerSay("The object has been teleported while attached.");
        }
    }
}

Personal tools