LlGetPrimitiveParams/fr

From Second Life Wiki
Jump to: navigation, search

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.