So hab ich es:

Code:
BMAP* bmMark = "decal.tga";

void shoot()
{

	while (1)
	{
		VECTOR trace_target;
		vec_set(trace_target,vector(5000,0,0));
		vec_rotate(trace_target, camera.pan);
		vec_add(trace_target, camera.x);

		if (c_trace(camera.x,trace_target, IGNORE_PASSABLE | USE_POLYGON| SCAN_TEXTURE) >= 0)
		{
			draw_point3d(hit.x,vector(50,50,255),100,3);
		}
		
		if (mouse_left) // fire
		{
			if (you != 0) // target hit?
			{
				PARTICLE* p = ent_decal(you,bmMark,7+random(3),random(360)); // place a random sized decal at the hit entity 
				//p->lifespan = 1600;	// remove decal after 100 seconds
			}
			else
			{
				PARTICLE* p = ent_decal(NULL,bmMark,7+random(3),random(360));
			}
			wait(10); // reload
		}
		
		wait(1); 
	}
}


Ruf die Funktion von der main aus auf.