Changed/ja

From Second Life Wiki

Jump to: navigation, search

イベント: changed( integer change ){ ; }

このイベントを引き金にしてオブジェクトあるいはプリムの変化する内容です。

• integer change CHANGE_* フラグのビットフィールドです


複数のchangeは単一のイベントで表現することができ、ビット演算の算術を用います。

フラグ 説明
CHANGED_INVENTORY 0x001 プリムの内容が変更されました。(オーナが加えたときのみです)
CHANGED_COLOR 0x002 プリムの色あるいはアルファが変えられました。
CHANGED_SHAPE 0x004 プリムの形状が変更されました。
CHANGED_SCALE 0x008 プリムの大きさが変更されました。
CHANGED_TEXTURE 0x010 プリムのテクスチャの設定値が変更されました。
CHANGED_LINK 0x020 オブジェクトを成り立たせているプリムの数、あるいはアバタの座っているオブジェクトが変更されました。
CHANGED_ALLOWED_DROP 0x040 オーナ以外のユーザ(あるいは編集付加なオブジェクトのオーナ)がプリムの内容に追加しました。
CHANGED_OWNER 0x080 オブジェクトがオーナを変更しました。
CHANGED_REGION 0x100 オブジェクトがリージョンを変更しました。
CHANGED_TELEPORT 0x200 このオブジェクトがアバタにテレポートしました。

default
{
    changed(integer change)
    {
        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
In other languages