I guess it would look like this...
Code:
VECTOR t_pos1,t_pos2;
ANGLE tempA;
var bullet_fired;

function trace_collision() //<-in player's while loop
{
	t_pos1.x = screen_size.x/2;
	t_pos1.y = screen_size.y/2;
	t_pos1.z = 0;
	vec_for_screen (t_pos1,camera);
	t_pos2.x = screen_size.x/2;
	t_pos2.y = screen_size.y/2;
	t_pos2.z = 200000; 
	vec_for_screen (t_pos2,camera);
	
	if (c_trace(t_pos1.x,t_pos2.x, IGNORE_ME | IGNORE_PASSABLE | IGNORE_YOU) > 0)
	{
		vec_set(trace_coords,target);
	}	
}

function move_parrows() //some AUM code right here
{
	vec_set(tempA,trace_coords);
	vec_sub(tempA,my.x);
	vec_to_angle(my.pan,tempA);
	
	while(1) 
	{
		if (vec_dist(my.x, player.x) > 70) // the bullet has moved away from the player?
					reset(my, PASSABLE); // then reset its passable flag (it can't collide with player's ship anymore)
		c_move(my, vector(75 * time_step,0,0), nullvector, IGNORE_PASSABLE | IGNORE_ME ); // 75 gives player's bullets' movement speed	
		wait (1);
	}
}

function handle_weapon()//<-in player's while loop
{
	if(!mouse_left) bullet_fired = 1;
	while(mouse_left)
	{	
		bullet_fired = 0;
		wait(1);
	}	
	if(!bullet_fired)
	{
		vec_for_vertex (temp.x, weapon1, 54);
		bullet = ent_create(bullet_mdl,temp.x,move_bullets);
		bullet_fired = 1;
	}
}


I'm not sure whether it works, just try it out^^

Last edited by Phonech; 04/11/10 11:02.