You may need to adjust the numbers as you need to for the height of the fountain.... the my.bright statement is supposed to be at the level where the particals hit the water (ie creating a splashing effect). Oh and the name of the BMP file your using will need to be changed. 



/************ 
* 
* Water Fountain or Waterfall 
* 
************/ 
bmap water_parmap = <water_drop.bmp>; 

var bri_rand = 0; 

function waterfall_effect(); 
function waterfall_property(); 

function waterfall_effect() 
{ 
my.vel_x = random(2)-1; 
my.vel_y = 2; 
my.vel_z = random(1)-.5; 
my.move = on; 
my.size = 5; 
my.bmap = water_parmap; 
my.flare = on; 
my.alpha = 50; 
my.function = waterproperty_property; 

} 

function waterfall_property() 
{ 
if (my.z <= 40){my.bright = on;} 
my.alpha -= 1 * time; 
my.vel_z -= random(.1) * time; 
my.size -= .075 * time; 
if(my.z < 39) 
{ 
my.lifespan = 0; 
} 
} 

action waterfall 
{ 
while(1) 
{; 
temp.x = my.x + (random(-4); 
temp.y = my.y + (random(4)-2); 
temp.z = my.z + sin(90); 
effect(waterfall_effect,30*time,temp,temp); 
wait(1); 
} 
} 


This was used for a very short fall from the start point. I'm working on the starting my.size being dependant on the distance of the player from the entity that creates the particals..... ie when you get really close the entity it will create smaller particals (but more of them). 

Oh and I was using a 256x256 image as the BMP so you know . 
