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

 

/*
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
*/

 

 


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