petit problème dans un collision_start event

Répondre
Partager Rechercher
Bonjour ,
je voulais faire en sorte que sa rez le "damager" que si les particules sont activent mais ça le rez même si elles sont éteint , pourtant j'ai mis le filtre "
if(RezDamager)"
Merci d'avance


je pense que le problème est dans le collision event:

key
agent;
integer push=0;
vector aim=<0,0,1>;
float speed=0;
integer RezDamager = FALSE;
list particle_parameters=[];
default
{
state_entry()
{ particle_parameters = [

PSYS_SRC_TEXTURE, llGetInventoryName(INVENTORY_TEXTURE, 0),
PSYS_PART_START_SCALE, <2.0,2.0, 0>, PSYS_PART_END_SCALE, <0.02,0.02, 1>,
PSYS_PART_START_COLOR, <1,1,1>, PSYS_PART_END_COLOR, <0,0.7,1>,
PSYS_PART_START_ALPHA, 1.0, PSYS_PART_END_ALPHA, 0.1,
PSYS_SRC_TEXTURE,"",
PSYS_SRC_BURST_PART_COUNT, 1,
PSYS_SRC_BURST_RATE, 0.02,
PSYS_PART_MAX_AGE, 1.5,
PSYS_SRC_MAX_AGE, 0.0,
PSYS_SRC_PATTERN, 2, // 1=DROP, 2=EXPLODE, 4=ANGLE, 8=ANGLE_CONE,
PSYS_SRC_ACCEL, <0.0,0.0,0.0>,
PSYS_SRC_BURST_RADIUS, 0.1,
PSYS_SRC_BURST_SPEED_MIN, 0.5, PSYS_SRC_BURST_SPEED_MAX, 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


)];

llListen(99, "", "", "");///pas de "start"///
}



collision_start(integer num_detected)
{
if((llDetectedType(0) & AGENT))
{
if(RezDamager)
{
llParticleSystem([]);
RezDamager = FALSE;
llStopSound();
llRezObject("damager",llDetectedPos(0)+aim*llGetRot(),speed*llRot2Fwd(llGetRot()),llGetRot(),push);
llSleep(0.1);
llPlaySound("", 1.0);
llMessageLinked(LINK_THIS,191,"cast",NULL_KEY);
llMessageLinked(LINK_ALL_OTHERS,1,"",agent);
}

}
}
listen(integer channel, string name, key id, string msg )
{
if(llGetOwnerKey(id)!= llGetOwner())return;
{
if(msg=="start")
{
RezDamager = TRUE;

llParticleSystem( particle_parameters );


llLoopSound("", 1.0);
}}




if(msg=="stop")

{ llParticleSystem( [] );
llStopSound();



}}}
Répondre

Connectés sur ce fil

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