/* Ce script génère des particules à intervalle régilier Excellent pour un effet de clignotant, de flash, d'éclat d'un phare en bord de mer etc */
//\\\variables modifiables vector vCoulDebut = <1.0, 1.0, 0.0>; //Couleur de la particule à sa naissance vector vCoulFin = <1.0, 1.0, 0.5>; //Couleur de la particule à sa fin float fTranspDebut = 1.0; //Transparence de la particule à sa naissance float fTranspFin = 0.0; //transparence de la particule à sa fin float fVieParticule = 1.0; //Durée de vie de la particule ; doit être inférieure à fIntervalEmission pour donner un effet clignotant ; vector vTailleDebut = <0.5, 0.5, 0.0>; //La taille de la particule à sa naissance vector vTailleFin = <2.0, 2.0, 0.0>; //La taille de la particule à sa fin string sTexture = ""; //Si chaîne vide ou une texture absente du contenu, l'éclat sera rond ; il ne s'agit pas de n'importe quelle texture float fIntervalEmission = 2.75; //Temps séparant 2 émissions integer iNbPartEmission = 2; // normalement 1 pour ce genre d'effeet ; plus renforce un peu l'éclat float fVitesseMini = 0.02; //Vitesse de la particule à la sortie float fVitesseMax = 0.02; //et à la fin, ici une faible vitesse juste pour donner l'impression que la lumière va vers l'observateur
//\\\variables integer effectFlags; key kTarget;
Flash() { llParticleSystem([PSYS_PART_FLAGS, PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | PSYS_PART_EMISSIVE_MASK, PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE, PSYS_PART_START_COLOR, vCoulDebut, PSYS_PART_END_COLOR, vCoulFin, PSYS_PART_START_ALPHA, fTranspDebut, PSYS_PART_END_ALPHA, fTranspFin, PSYS_PART_START_SCALE, vTailleDebut, PSYS_PART_END_SCALE, vTailleFin, PSYS_PART_MAX_AGE, fVieParticule, PSYS_SRC_ACCEL, <0.0, 0.0, 0.0>, PSYS_SRC_TEXTURE, sTexture, PSYS_SRC_BURST_RATE, fIntervalEmission, PSYS_SRC_ANGLE_BEGIN, 0.0, PSYS_SRC_ANGLE_END, 0.0, PSYS_SRC_BURST_PART_COUNT, iNbPartEmission, PSYS_SRC_BURST_RADIUS, 0.0, PSYS_SRC_BURST_SPEED_MIN, fVitesseMini, PSYS_SRC_BURST_SPEED_MAX, fVitesseMax, PSYS_SRC_MAX_AGE, 0.0, PSYS_SRC_TARGET_KEY, kTarget, PSYS_SRC_OMEGA, <0.0, 0.0, 0.0>]); }
default { state_entry() { llSetAlpha(0.0, ALL_SIDES); //Rends cette prim invisible pour ne pas gêner l'éclat ; à supprimer si on ne veut pas cacher l'émetteur Flash(); } on_rez(integer param) { llResetScript(); } }
/* Placer ce script dans une prim de petite taille Vous pouvez changer la couleur, la taille et le rythme de l'éclat. Nous vous fournissons une texture pour un flash. Pour l'utiliser, mettez 9111d25e-2f12-8f81-55a7-403a78b30e2d entre les ".." du nom de la texture. Si vous placez une texture dans le contenu de la prim, n'oubliez pas de faire un reset du script */
|