Changed/fr

From Second Life Wiki
Jump to navigation Jump to search

Description

Event: 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é.
CHANGED_REGION_START 0x400 La région dans laquelle est cet objet vient juste de se connecter.

Exemples

<lsl>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é.");
       }
       if (change & CHANGED_REGION_START) 
       {
           llOwnerSay("La région vient juste de redemarrer.");
       }
   }

}</lsl>

Notes

Consultez llGetOwner pour une discussion compléte sur "(change & CHANGED_OWNER)"

Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.