Commande via chat

Répondre
Partager Rechercher
Bonjour , j'ai un script full perm de brouillard que j'ai mis dans une prim ...... je voudrais faire disparaitre ou apparaitre le brouillard par une commande via le chat (c'est pour un spectacle)

Si quelqu'un peut m'aider je vous remercie d'avance



Voilà le script

SCRIPT BROUILLARD.docx
// Particle System 1.0

StartSteam()
{
// MASK FLAGS: set to "TRUE" to enable
integer glow = TRUE; // Makes the particles glow
integer bounce = FALSE; // Make particles bounce on Z plane of objects
integer interpColor = TRUE; // Color - from start value to end value
integer interpSize = TRUE; // Size - from start value to end value
integer wind = FALSE; // Particles effected by wind
integer followSource = FALSE; // Particles follow the source
integer followVel = TRUE; // Particles turn to velocity direction



// Choose a pattern from the following:
// PSYS_SRC_PATTERN_EXPLODE
//PSYS_SRC_PATTERN_DROP
// PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY
// PSYS_SRC_PATTERN_ANGLE_CONE
// PSYS_SRC_PATTERN_ANGLE
integer pattern = PSYS_SRC_PATTERN_EXPLODE;

// Select a target for particles to go towards
// "" for no target, "owner" will follow object owner
// and "self" will target this object
// or put the key of an object for particles to go to
key target;


// Particle paramaters

float age = 3; // Life of each particle
float maxSpeed = 0.05; // Max speed each particle is spit out at
float minSpeed = 0.0; // Min speed each particle is spit out at
string texture = "Water Particle - Mist"; // Texture used for particles, default used if blank
float startAlpha = .5; // Start alpha (transparency) value
float endAlpha = 0.0; // End alpha (transparency) value
vector startColor = <0.9,0.9,1>; // Start color of particles <R,G,B>
vector endColor = <1,1,1>; // End color of particles <R,G,B> (if interpColor == TRUE)
vector startSize = <.25,.25,.25>; // Start size of particles
vector endSize = <3,3,3>; // End size of particles (if interpSize == TRUE)
vector push = <0,0,0.5>; // Force pushed on particles

// System paramaters

float rate = 0.1; // How fast (rate) to emit particles
float radius = 1.0; // Radius to emit particles for BURST pattern
integer count = 32; // How many particles to emit per BURST
float outerAngle = 0.1; // Outer angle for all ANGLE patterns
float innerAngle = 0.65; // Inner angle for all ANGLE patterns
vector omega = <0,0,0>; // Rotation of ANGLE patterns around the source
float life = 0; // Life in seconds for the system to make particles

// Script variables

integer flags;


flags = 0;
if (target == "owner") target = llGetOwner();
if (target == "self") target = llGetKey();
if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;
if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;
if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;
if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;
if (wind) flags = flags | PSYS_PART_WIND_MASK;
if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;
if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;
if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;

llParticleSystem([ PSYS_PART_MAX_AGE,age,
PSYS_PART_FLAGS,flags,
PSYS_PART_START_COLOR, startColor,
PSYS_PART_END_COLOR, endColor,
PSYS_PART_START_SCALE,startSize,
PSYS_PART_END_SCALE,endSize,
PSYS_SRC_PATTERN, pattern,
PSYS_SRC_BURST_RATE,rate,
PSYS_SRC_ACCEL, push,
PSYS_SRC_BURST_PART_COUNT,count,
PSYS_SRC_BURST_RADIUS,radius,
PSYS_SRC_BURST_SPEED_MIN,minSpeed,
PSYS_SRC_BURST_SPEED_MAX,maxSpeed,
PSYS_SRC_TARGET_KEY,target,
PSYS_SRC_INNERANGLE,innerAngle,
PSYS_SRC_OUTERANGLE,outerAngle,
PSYS_SRC_OMEGA, omega,
PSYS_SRC_MAX_AGE, life,
PSYS_SRC_TEXTURE, texture,
PSYS_PART_START_ALPHA, startAlpha,
PSYS_PART_END_ALPHA, endAlpha
]);

}
StartSpray ()
{

}

StopSpray()
{
llParticleSystem([]);
}



default
{
state_entry()
{
StartSteam();
}

listen(integer channel, string name, key id, string message)
{

if (0 == llSubStringIndex(message, "steam on"))
{
StartSteam();

}
else if (0 == llSubStringIndex(message, "steam off"))
{
StopSpray();
}
}
}
hellow....dire dans le chat /123steamon ou /123steamoff.....


StartSteam()
{
// MASK FLAGS: set to "TRUE" to enable
integer glow = TRUE; // Makes the particles glow
integer bounce = FALSE; // Make particles bounce on Z plane of objects
integer interpColor = TRUE; // Color - from start value to end value
integer interpSize = TRUE; // Size - from start value to end value
integer wind = FALSE; // Particles effected by wind
integer followSource = FALSE; // Particles follow the source
integer followVel = TRUE; // Particles turn to velocity direction

integer pattern = PSYS_SRC_PATTERN_EXPLODE;
key target;

float age = 3.0; // Life of each particle
float maxSpeed = 0.05; // Max speed each particle is spit out at
float minSpeed = 0.0; // Min speed each particle is spit out at
string texture = "Water Particle - Mist"; // Texture used for particles, default used if blank
float startAlpha = .5; // Start alpha (transparency) value
float endAlpha = 0.0; // End alpha (transparency) value
vector startColor = <0.9,0.9,1>; // Start color of particles <R,G,B>
vector endColor = <1,1,1>; // End color of particles <R,G,B> (if interpColor == TRUE)
vector startSize = <.25,.25,.25>; // Start size of particles
vector endSize = <3,3,3>; // End size of particles (if interpSize == TRUE)
vector push = <0,0,0.5>; // Force pushed on particles

float rate = 0.2; // How fast (rate) to emit particles
float radius = 1.0; // Radius to emit particles for BURST pattern
integer count =25; // How many particles to emit per BURST
float outerAngle = 0.1; // Outer angle for all ANGLE patterns
float innerAngle = 0.65; // Inner angle for all ANGLE patterns
vector omega = <0,0,0>; // Rotation of ANGLE patterns around the source
float life = 0; // Life in seconds for the system to make particles

integer flags;

flags = 0;
if (target == "owner") target = llGetOwner();
if (target == "self") target = llGetKey();
if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;
if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;
if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;
if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;
if (wind) flags = flags | PSYS_PART_WIND_MASK;
if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;
if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;
if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;

llParticleSystem([ PSYS_PART_MAX_AGE,age,
PSYS_PART_FLAGS,flags,
PSYS_PART_START_COLOR, startColor,
PSYS_PART_END_COLOR, endColor,
PSYS_PART_START_SCALE,startSize,
PSYS_PART_END_SCALE,endSize,
PSYS_SRC_PATTERN, pattern,
PSYS_SRC_BURST_RATE,rate,
PSYS_SRC_ACCEL, push,
PSYS_SRC_BURST_PART_COUNT,count,
PSYS_SRC_BURST_RADIUS,radius,
PSYS_SRC_BURST_SPEED_MIN,minSpeed,
PSYS_SRC_BURST_SPEED_MAX,maxSpeed,
PSYS_SRC_TARGET_KEY,target,
PSYS_SRC_INNERANGLE,innerAngle,
PSYS_SRC_OUTERANGLE,outerAngle,
PSYS_SRC_OMEGA, omega,
PSYS_SRC_MAX_AGE, life,
PSYS_SRC_TEXTURE, texture,
PSYS_PART_START_ALPHA, startAlpha,
PSYS_PART_END_ALPHA, endAlpha
]);

}
StartSpray ()
{

}

StopSpray()
{
llParticleSystem([]);
}

integer listen_owner;
integer canal = 123;

default
{
state_entry()
{
llParticleSystem([]);
listen_owner = llListen(canal, "", llGetOwner(), "");
}

listen(integer channel, string name, key id, string message)
{
if (message == "steamon")
{
StartSteam();
}
else if( message == "steamoff")
{
StopSpray();
}
}
}
Tiens, voilà la même chose en plus court avec moins de particules aussi...


integer listen_owner;
integer canal = 123;

NoSteam()
{
llParticleSystem([]);
}

Steam()
{
llParticleSystem([
PSYS_SRC_TEXTURE,"",
PSYS_PART_START_SCALE, <1.5, 1.5, FALSE>,
PSYS_PART_END_SCALE, <4.0, 4.0, FALSE>,
PSYS_PART_START_COLOR, <0.9,0.9,0.9>,
PSYS_PART_END_COLOR, <0.9,0.9,1.0>,
PSYS_PART_START_ALPHA, 0.5,
PSYS_PART_END_ALPHA, 0.05,

PSYS_SRC_BURST_PART_COUNT, 8,
PSYS_SRC_BURST_RATE, 0.2,
PSYS_PART_MAX_AGE, 3.0,
PSYS_SRC_MAX_AGE, 0.0,

PSYS_SRC_PATTERN, 2, // 1=DROP, 2=EXPLODE, 4=ANGLE, 8=ANGLE_CONE,

PSYS_SRC_BURST_SPEED_MIN, 0.1, PSYS_SRC_BURST_SPEED_MAX, 0.3,
PSYS_SRC_BURST_RADIUS, 1.0,
PSYS_SRC_ANGLE_BEGIN, 0*PI, PSYS_SRC_ANGLE_END, 1*PI,
PSYS_SRC_ACCEL, <0.0,0.0,0.5 >,

PSYS_PART_FLAGS,( 0
| PSYS_PART_INTERP_COLOR_MASK
| PSYS_PART_INTERP_SCALE_MASK
| PSYS_PART_EMISSIVE_MASK
| PSYS_PART_FOLLOW_VELOCITY_MASK
| PSYS_PART_BOUNCE_MASK
)
]);
}


default
{
state_entry()
{
NoSteam();
listen_owner = llListen(canal, "", llGetOwner(), "");
}

listen(integer channel, string name, key id, string message)
{
if (message == "steamon")
{
Steam();
}
else if( message == "steamoff")
{
NoSteam();
}
}
}
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés