Changed/fr - Second Life Wiki

Changed/fr

From Second Life Wiki

Jump to: navigation, search

Évènement : changed( integer change ){ ; }

Evènement déclenché lorsque l'objet est modifié.

• integer change est une zone de bits reprenant les valeurs possibles de CHANGE_* (cf. tab. ci dessous)


Plusieurs changements peuvent être représentés pas un seul évènement (et par extention une seule valeur change), vous devez utiliser la comparaison bit à bit pour déterminer le type de modification.

Données Description
CHANGED_INVENTORY 0x001 L'inventaire de la prim a changé (uniquement le cas où le propriétaire ajoute un élément).
CHANGED_COLOR 0x002 La couleur ou la transparence(alpha) de la prim a changé.
CHANGED_SHAPE 0x004 La forme de la prim a changé.
CHANGED_SCALE 0x008 La taille de la prim a changé.
CHANGED_TEXTURE 0x010 Les paramétres de texture de la prim ont changé.
CHANGED_LINK 0x020 Le nombre de prims composant l'objet ou les avatars assis sur l'objet ont changé.
CHANGED_ALLOWED_DROP 0x040 Un utilisateur autre que le propriétaire (ou le propriétaire si l'objet n'est pas modifiable) a modifié l'objet.
CHANGED_OWNER 0x080 L'objet a changé de propriétaire.
CHANGED_REGION 0x100 L'objet a changé de région.
CHANGED_TELEPORT 0x200 L'avatar sur lequel cet objet est attaché s'est téléporté.

Exemples

default
{
    changed(integer change)
    {
        //Vous remarquerez que l'on réalise les comparaisons avec un '&' et non un '&&',
        //car la comparaison doit être réalisée bit à bit !!
        if (change & CHANGED_INVENTORY) 
        {
            llOwnerSay("L'inventaire a changé.");
        }
        if (change & CHANGED_COLOR)
        {
            llOwnerSay("La couleur ou la transparence a changé.");
        }
        if (change & CHANGED_SHAPE)
        {
            llOwnerSay("La forme des prims a changé.");
        }
        if (change & CHANGED_SCALE)
        {
            llOwnerSay("La taille des prims a changé.");
        }
        if (change & CHANGED_TEXTURE)
        {
            llOwnerSay("Les textures ou leurs attributs ont changé.");
        }
        if (change & CHANGED_LINK)
        {
            llOwnerSay("Le nombre de liens a changé.");
        }
        if (change & CHANGED_ALLOWED_DROP)
        {
            llOwnerSay("L'inventaire a changé bien que l'utilisateur n'ait pas " +
                       "les pouvoirs de modifier l'objet(mais avec l'autorisation du script).");
        }
        if (change & CHANGED_OWNER)
        {
            llOwnerSay("Le propriétaire de l'objet a changé.");
        }
        if (change & CHANGED_REGION)
        {
            llOwnerSay("La région dans laquelle se trouve l'objet a changé.");
        }
        if (change & CHANGED_TELEPORT)
        {
            llOwnerSay("L'objet a été téléporté alors qu'il était attaché.");
        }
    }
}