Code:
 
bmap rain_bmap = <rain.tga>;
function rain_fun
{
my.alpha -= 0.2* time_step;
if(my.alpha <=0)|| (my.z <=0){my.lifespan =0;}
}

function rain
{
my.x = camera.x + (random(600)-300);
my.y = camera.y + (random(600)-300);
my.z = camera.z + (random(200)+200);
my.bmap = rain_bmap; my.move = on;
my.oriented = off; my.facing = on; my.passable =off;
my.alpha = random(40) +40; my.size = random(3) +2;

my.function = rain_fun;
my.vel_z -= (random(20)+30) * time_step;
}


bmap can be simple white thin vertical line maybe with some alpha channel.


Never say never.