Have you tried some thing like this one,
Code:
action exhaust
{
my.scale_x=0.02;
my.scale_y=0.02;
my.scale_z=0.02;
my.nofog = on;
my.oriented = off;
my.facing = on;
my.transparent=on;
my.alpha=70-random(50);
my.ambient = 100;
my.flare=on;
my.bright=on;
my.passable=on;
my.invisible=on;
wait(3);
my.invisible=off;
while(my.alpha>0)
{
if(my.alpha>12){my.alpha-=time_step*5;}
else{my.alpha-=time_step*2;}
wait(1);
}
ent_remove(my);
}
and call with
ent_create("exhaust_red.tga",my.x,exhaust);// or blue or green etc
in your bullet or trail code, may need scaling to suit.