LlGetPrimitiveParams/fr

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

Fonction: list llGetPrimitiveParams( list paramètre );

Renvoie un list correspondant à la liste des paramètres de la prim demandés par le champ paramètre.

• list paramètre codes PRIM_*
Paramètres Valeurs renvoyées / Paramètres supplémentaires Descriptions
PRIM_TYPE ] 9 [ integer Codes ] Renvoie / Modifie la forme de la prim.
Valeurs des constantes Valeurs des paramètres | Valeurs renvoyées / Paramètres
PRIM_TYPE_BOX 0 [ integer forme_du_trou, vector découpe, float creux, vector torsion, vector différence_de_taille, vector translation_des_faces ]
PRIM_TYPE_CYLINDER 1 [ integer forme_du_trou, vector découpe, float creux, vector torsion, vector différence_de_taille, vector translation_des_faces ]
PRIM_TYPE_PRISM 2 [ integer forme_du_trou, vector découpe, float creux, vector torsion, vector différence_de_taille, vector translation_des_faces ]
PRIM_TYPE_SPHERE 3 [ integer forme_du_trou, vector découpe, float creux, vector torsion, vector découpe en rondelle]
PRIM_TYPE_TORUS 4 [ integer forme_du_trou, vector découpe, float creux, vector torsion, vector taille_du_trou, vector translation_des_faces, vector découpage_avancé, vector écart_taille_disque, float rotations, float angle d'offset, float inclinaison ]
PRIM_TYPE_TUBE 5 [ integer forme_du_trou, vector découpe, float creux, vector torsion, vector taille_du_trou, vector translation_des_faces, vector découpage_avancé, vector écart_taille_disque, float rotations, float angle d'offset, float inclinaison ]
PRIM_TYPE_RING 6 [ integer forme_du_trou, vector découpe, float creux, vector torsion, vector taille_du_trou, vector translation_des_faces, vector découpage_avancé, vector écart_taille_disque, float rotations, float angle d'offset, float inclinaison ]
PRIM_TYPE_SCULPT 7 [ string textureinteger type ] Sculpted_Prims:_FAQ
  Codes de forme_du_trou  Formes Codes de forme_du_trou  Formes
PRIM_HOLE_DEFAULT 0x00 Par défaut PRIM_HOLE_SQUARE 0x20 Carré
PRIM_HOLE_CIRCLE 0x10 Cercle PRIM_HOLE_TRIANGLE 0x30 Triangle
type Flags Style Description
PRIM_SCULPT_TYPE_SPHERE 1 Sphère convergence haut et bas, resserrement de la gauche vers la droite
PRIM_SCULPT_TYPE_TORUS 2 Tore resserrement du haut vers le bas, resserrement de la gauche vers la droite
PRIM_SCULPT_TYPE_PLANE 3 Plan ni resserement ni convergence
PRIM_SCULPT_TYPE_CYLINDER 4 Cylindre resserrement de la gauche vers la droit.
PRIM_SCULPT_FLAG_ZZZZZZZZ 63
PRIM_SCULPT_FLAG_INVERT 64 Inversion Retourne les faces du sculpty (interne <=> externe) (inverse les normales).
PRIM_SCULPT_FLAG_MIRROR 128 Miroir Applique un effet miroir sur l'axe X du sculpty.
PRIM_MATERIAL ] 2 [ integer matière] Renvoie / Modifie la matière de la prim. La matière détermine les types de son de collisions & de sprite à utiliser.
codes matière Description
PRIM_MATERIAL_STONE 0 pierre
PRIM_MATERIAL_METAL 1 métal
PRIM_MATERIAL_GLASS 2 verre
PRIM_MATERIAL_WOOD 3 bois
PRIM_MATERIAL_FLESH 4 chair
PRIM_MATERIAL_PLASTIC 5 plastique
PRIM_MATERIAL_RUBBER 6 caoutchouc
PRIM_MATERIAL_LIGHT 7 lumineux, DESACTIVE: Renvoyait le même résultat que [ PRIM_FULLBRIGHT, ALL_SIDES, TRUE ]
PRIM_PHYSICS ] 3 [ integer booléen ] Statut "physique" llGetStatus / llSetStatus
PRIM_TEMP_ON_REZ  4 [ integer booléen ] Statut "temporaire" llGetStatus / llSetStatus
PRIM_PHANTOM ] 5 [ integer booléen ] Statut "fantôme" llGetStatus / llSetStatus
PRIM_POSITION ] 6 [ vector position ] Position, llGetPos / llSetRot
PRIM_ROTATION ] 8 [ rotation rot ] Rotation, llGetPos / llSetRot
PRIM_SIZE ] 7 [ vector taille ] taille, llGetScale / llSetScale
PRIM_TEXTURE, integer face ] 17 [ string texture, vector répétitions, vector décalage, float Rotation en radians ]
Texture: llGetTexture
Répétition: llGetTextureScale
Décalage: llGetTextureOffset
Rotation: llGetTextureRot
PRIM_COLOR, integer face ] 18 [ vector couleur, float transparence ]
Transparence: llGetAlpha
Couleur: llGetColor
PRIM_BUMP_SHINY, integer face ] 19 integer effets de reflet, integer effets de matières ]
Codes luisant & matière Description
PRIM_SHINY_NONE 0 aucun
PRIM_SHINY_LOW 1 bas
PRIM_SHINY_MEDIUM 2 moyen
PRIM_SHINY_HIGH 3 haut
PRIM_BUMP_NONE 0 aucun effet
PRIM_BUMP_BRIGHT 1 luminosité: généré par les lumières intenses
PRIM_BUMP_DARK 2 obscurité: généré par les lumières basses
PRIM_BUMP_WOOD 3 aggloméré
PRIM_BUMP_BARK 4 écorce
PRIM_BUMP_BRICKS 5 brique
PRIM_BUMP_CHECKER 6 damier
PRIM_BUMP_CONCRETE 7 béton
PRIM_BUMP_TILE 8 carrelage
PRIM_BUMP_STONE 9 pierre de taille
PRIM_BUMP_DISKS 10 disque
PRIM_BUMP_GRAVEL 11 gravier
PRIM_BUMP_BLOBS 12 boîte de Petri
PRIM_BUMP_SIDING 13 latte
PRIM_BUMP_LARGETILE 14 pierre
PRIM_BUMP_STUCCO 15 stuc
PRIM_BUMP_SUCTION 16 effet aspiration
PRIM_BUMP_WEAVE 17 texture
PRIM_FULLBRIGHT, integer face ] 20 [ integer booléen ]
PRIM_FLEXIBLE ] 21 [ integer booléen, integer souplesse, float gravité, float frottement, float vent, float tension, vector force ]
PRIM_TEXGEN, integer face ] 22 [ integer modes texture ]
Constante mode Descriptions
PRIM_TEXGEN_DEFAULT 0
PRIM_TEXGEN_PLANAR 1
PRIM_POINT_LIGHT ] 23 [ integer booléen, vector couleur, float intensité, float rayon, float vitesse_extinction ]
PRIM_GLOW, integer face ] 25 [ float intensité ]
PRIM_CAST_SHADOWS ] 24 [ integer booléen ] Génération d'ombre par la prim DESACTIVE

Avertissements

  • Cette fonction fait dormir le script pendant 0.2 secondes.
  • Si texture n'est pas dans l'inventaire de la prim et n'est pas un UUID ou n'est pas un texture alors une erreur se produit sur le canal DEBUG_CHANNEL.
  • Si texture est une UUID il n'y a alors aucune conséquence sur les droits de l'objet.
    • L'objet final ne subit pas de nouvelle restriction d'utilisation qui aurait pu être appliquée si l'objet pointé par l'UUID avait été présent dans l'inventaire de la prim.
  • Si map n'est pas dans l'inventaire de la prim et n'est pas un UUID ou n'est pas un texture alors une erreur se produit sur le canal DEBUG_CHANNEL.
  • Si map est une UUID il n'y a alors aucune conséquence sur les droits de l'objet.
    • L'objet final ne subit pas de nouvelle restriction d'utilisation qui aurait pu être appliquée si l'objet pointé par l'UUID avait été présent dans l'inventaire de la prim.
  • Si face vaut ALL_SIDES alors code s'applique à toutes les faces.
  • Si face correspond à une face qui n'existe pas, alors la fonction renvoie comme code la valeur :...
valeur Renvoyé si la face n'est pas valide
[ PRIM_COLOR ] ZERO_VECTOR, 0.0 ]
[ PRIM_GLOW ] 0.0 ]
[ PRIM_TEXTURE ] "", ZERO_VECTOR, ZERO_VECTOR, 0.0 ]
[ PRIM_FULLBRIGHT ] FALSE ]
[ PRIM_TEXGEN ] PRIM_TEXGEN_DEFAULT ]
PRIM_BUMP_SHINY ] PRIM_SHINY_NONE, PRIM_BUMP_NONE ]

Exemples

Pour tester si un objet est une source de lumière : <lsl> string msg = "L'objet "; integer isLight; vector colour; float intensity; float radius; float falloff; list params = llGetPrimitiveParams([PRIM_POINT_LIGHT]); isLight = llList2Integer(params, 0); if (isLight == FALSE)

   msg += "n'est pas une source de lumière.";

else {

   colour = llList2Vector(params, 1);
   intensity = llList2Float(params, 2);
   radius = llList2Float(params, 3);
   falloff = llList2Float(params, 4);
   msg += " est une source de lumière.\nColeur = "+(string)colour;
   msg += "\nIntensite = "+(string)intensity;
   msg += "\nRayon = "+(string)radius;
   msg += "\nChute = "+(string)falloff;

} llSay(0, msg); </lsl>

Codes utiles

<lsl>list GetPrimitiveParams(list input) {//renvoie une liste utilisable avec la fonction llSetPrimitiveParams

   list output;
   integer c = ~llGetListLength(input);
   while(0x80000000 & (c = - ~c))
   {
       list flag = (list)llList2Integer(input, c);
       if(~llListFindList([PRIM_BUMP_SHINY, PRIM_COLOR, PRIM_TEXTURE, PRIM_FULLBRIGHT, PRIM_TEXGEN, PRIM_GLOW], flag ))
       {
           integer side = llList2Integer(input, (c = - ~c));
           if(~side)//pop the stack
               output += flag + side + llGetPrimitiveParams( flag + side );
           else
           {
               side = llGetNumberOfSides();
               do //Les faces sont renvoyée en ordre invers (plus facile à coder et plus rapide à exécuter).
                   output += flag + side + llGetPrimitiveParams( flag + (side = ~ -side) );
               while(side);
           }
       }
       else
           output += flag + llGetPrimitiveParams( flag );
   }
   return output;

} //réalisé par Strife Onizuka</lsl>

L'exemple SetPrimitiveParams qui permet de lire les paramètreq de prims a été fourni par Anylyn Hax.

Voir également

Fonctions

•  llSetPrimitiveParams Permet de fixer les paramètres d'une prim
•  llSetLinkPrimitiveParams Permet de fixer les paramètres des objets liés
•  llGetObjectDetails Renvoi des informations sur un objet.

Articles

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