The particle function
Code:
BMAP* blood_particle ="blood.tga";

function vec_randomize (VECTOR* vec, var range)
{
   vec_set(vec,vector(random(1)-0.5,random(1)-0.5,random(1)-0.5));
   vec_normalize(vec,random(range));
}
function p_alphafade(PARTICLE *p)
{
    p.alpha -= p.skill_a*time_step;
    if (p.alpha <= 0) p.lifespan = 0;
}
function p_blood(PARTICLE* p)
{
   VECTOR vTemp;
   vec_randomize(vTemp,2);
   vec_add(p.vel_x,vTemp);
   vec_set(p.blue,vector(random(255),random(255),255));
   set(p, MOVE | BRIGHT | TRANSLUCENT);
   p.alpha = 100;
   p.size = 2;
   p.gravity = 0.2;
   p.skill_a = 3; // fade factor
   p.event = p_alphafade;
}



The tiger function
Code:
function got_shot()
{
	effect_local(p_blood, 200, me.x, normal);
	//ptr_remove(me);
}
action test()
{
	var scale=0.2;
	VECTOR temp[3];
	var speed=3;
	me.material=mat_metal;
	me.scale_x=scale;
	me.scale_y=scale;
	me.scale_z=scale;
	me.emask= ENABLE_IMPACT;
	my.event=got_shot;
	c_setminmax(me);
	set(me,POLYGON);
	set(me,SHADOW);
	while(1)
	{
		vec_set(temp,camera.x); 
		vec_sub(temp,my.x); 
  		vec_to_angle(me.pan,temp); 
  		got_shot();
  		c_move(me,nullvector,vector(0,0,-speed),IGNORE_PASSABLE|GLIDE);
  		if(vec_dist(me.x,camera.x)<20)
  		{
			c_move(me,vector(-speed,0,0),nullvector,IGNORE_PASSABLE|GLIDE);
		}
		wait(1);
	}
}




I'm pretty awesome