i can't use void in front of the functions. I get a syntax error. when i use the code that should work the engine tells me that i have an invalid argument in 'fire'
i don't know how to get it to work like it should.
this is part of the candle action...
action candle()
{
candle_cnt += 1; // used for unique id. already set to 99 in var_wdl
//VECTOR tempz[3];
if(candle_cnt == 1)
{
candle_ent1 = me;
my.skill30 = candle_cnt; // unique id # + 1 = 100
}
if(candle_cnt == 2)
{
candle_ent2 = me;
my.skill30 = candle_cnt; // unique id #
}
if(candle_cnt == 3)
below is the fire code...
action fire()
{
cfire_cnt += 1; //my counter
//PARTICLE* p;
if(cfire_cnt == 1)
{
cfire_ent1 = me;
my.skill30 = cfire_cnt;
while(!candle_ent1){ wait(1); }
my.z = candle_ent1.z + 16;
//my.passable = on;
set(my, PASSABLE);
temp.x=my.x;
temp.y=my.y;
temp.z=my.z;
effect(fire_effect,20*time_step,temp,temp);
//my.event = fire_do(my);
//fire_do();
}
/*if(cfire_cnt == 2)
{
cfire_ent2 = me;
my.skill30 = cfire_cnt;
my.event = fire_do;
}
if(cfire_cnt == 3)
{
cfire_ent3 = me;
my.skill30 = cfire_cnt;
my.event = fire_do;
}
here is the particle part....
//for candles
function fire_effect(PARTICLE *p)
{
randomize();
p.x+=random (3*(sin(total_ticks*20) * cos(total_ticks*5)));
p.y+=random (3*(sin(total_ticks*20) * sin(total_ticks*5)));
//my.lightrange = 2;
p.size=3;
p.vel_x=0;
p.vel_y=0;
p.vel_z=2+random(2);
p.flags |= BRIGHT|MOVE; //my.move=on;
p.lifespan=2;
p.red=255;
p.green=255;
p.blue=0;
set(me,TRANSLUCENT); //my.transparent=on;
//p.event=fire_property;
}
function fire_property()
{
my.red-=5*time_step;
my.green-=15*time_step;
}
function fire_do(PARTICLE* p) //function fire_do(ENTITY* fcnt)
{
set(me, PASSABLE);
//var whatev[];
while(1)
{
//if(my.skill30 == 1)
//{
while(!candle_ent1){ wait(1); }
p.z = candle_ent1.z + 16;
set(my, PASSABLE);
temp.x=p.x;
temp.y=p.y;
temp.z=p.z +36;
effect(fire_effect,20*time_step,temp,temp);//fire_start(p);
//}