I have 2 particles:

the first one is just a spark from the bullet impact and it has a function for fade:

function part_alphafade(PARTICLE *spark)
{
spark.alpha -= 10*time_step;
if (spark.alpha <= 0) spark.lifespan = 0;
}

The second one is a decal particle which the bullet leaves on the objects:

PARTICLE* zz = ent_decal(you,bullethole,7+random(3),random(360)); // place a random sized decal at the hit entity
zz->lifespan = 1600; // remove decal after 100 seconds
zz->flags|=BRIGHT;

But WHY when the spark particle fades 100% , the decal particle disappears too ?? the both particles have different names.