I saw your post and modified one of the templates to look a little more like rain. Perhaps you can improve this effect.
code:

/////////////////////////////////////////////////////////////////
BMAP rain_map,<rain.pcx>;
var rain_mode = 0;
var rain_pos;
var rain_rate = 60; // raindrops per second
var rain_counter;

// start rainfall around the player
// original idea by Harald Schmidt
function rainfall()
{
if(player == NULL) { END; }

rain_mode = 1;
while(rain_mode > 0)
{
// all raindrops will start 50 quants above the player
rain_pos.Z = player.Z + player.MAX_Z + 50;

// depending on the frame rate, create several raindrops at the same time
rain_counter = rain_rate * TIME;
while(rain_counter > 0)
{
// place raindrop somewhere near the player
rain_pos.X = player.X + RANDOM(500) - 250;
rain_pos.Y = player.Y + RANDOM(500) - 250;
// now create one drop (emit 1) at this position
emit(1,rain_pos,rain_particle);
rain_counter -= 1;
}
wait(1);
}
}


function rain_particle()
{
// just born?
if(MY_AGE == 0)
{ // this simple rain should do nothing more than fall to earth
MY_SPEED.X = 0;
MY_SPEED.Y = 1;
MY_SPEED.Z = -5; // experiment with this value

// Set the size and color you want (or maybe a bitmap)
MY_SIZE = 20;
// MY_COLOR.RED = 255;
// MY_COLOR.GREEN = 255;
// MY_COLOR.BLUE = 255;

my_map = rain_map;
my_transparent = on;
END;
}

// remove raindrop if below player's feet
if((player == NULL) | | (MY_POS.Z < player.Z - 100))
{
MY_ACTION = NULL;
}
}

ON_R rainfall;


It would nice to figure out how to keep it from raining indoors and how to make puddles on the ground and such.

Here is the particle I used if you want it:

www.spiritshock.com/downloads/rain.zip

[This message has been edited by Eldurin (edited 15 May 2001).]