this is the way i converted it..
can someone pls tell what's wrong with it
because when i move the camera the level just exits by it self and of course there's rain falling down.....
BMAP* smoke_tga = "laser_grey.tga";
//// particle alpha handling ////////
function fire_part_alphafade(PARTICLE *p)
{
p.alpha -= 0 *time_step;
if(p.alpha < 0) { p.alpha = 0; p.lifespan = 0; }
p.skill_b += 0.03;
p.skill_c = 6 - my.skill_b;
if(p.skill_c < 0) { p.lifespan = 0; }
}
///// particle creating /////////
function effect_fire(PARTICLE *p)
{
p.red = 128;
p.blue = 128;
p.green = 128;
p.skill_c = 0; p.skill_b = 0;
p.vel_x = random( 0 ) - 0 ;
p.vel_y = random( 0 ) - 0 ;
p.vel_z = -40 ;
p.x += random(1000)-500;
p.y += random(1000)-500;
p.z += random(100)-50;
p.alpha = 100;
p.size = 14;
p.bmap = smoke_tga;
//set(p, BRIGHT);
p.flags |= (MOVE);
set(p, TRANSLUCENT);
p.event = fire_part_alphafade; // change to a shorter, faster function
}
//// particle using /////////
action im_on_fire()
{
set(my, INVISIBLE);
set(my, PASSABLE);
while(1)
{
var rainAnzahlPartikel = 1;
VECTOR temp;
VECTOR* mypos =
{
x=0;
y=0;
z=0;
}
vec_set(mypos,camera.x);
temp.x = cos(camera.pan);
temp.y = sin(camera.pan);
temp.z = 600*cos(camera.tilt);
mypos.x = mypos.x + temp.z*temp.x;
mypos.y = mypos.y + temp.z*temp.y;
mypos.z = mypos.z + 600*sin(camera.tilt);
mypos.z = camera.z + 800;
effect(effect_fire,maxv(1,integer(rainAnzahlPartikel*time_step)),mypos,nullvector);
wait(1);
}
wait(1);
}