var ufo_in not reset, ENTITY created every frame after ufo_in at 6000+?
var ufo_in addition is frame-rate dependent?
c_move right-directional movement is frame-rate dependent?
Unnecessary multiplication of time_step and 0 in c_move call?
No check against NULL for ufo ENTITY pointer in ent_create call?
Code:
action ufo_stuff()
{
	ufo = me;
	var ufo_in = 0;
	while (me != NULL)
	{
		c_move (me, vector(0, 0.7 * time_step, 0), nullvector, GLIDE); // move the ship right
		//ufo_in += 1;
		ufo_in += time_step;
		if (ufo_in >= 6000)
		{
			ent_create("g_laser.mdl", my.x, e_fire); //create space junk
			ufo_in -= 6000;
		}
		wait (1);
	}
}