here is an example of vec_for_screen:
Code:
function mouse_to_level
{
var vec_from[3];
var vec_to[3];
vec_from.x = mouse_pos.x;//can also be your "2d coordinates"
vec_from.y = mouse_pos.y;//can also be your "2d coordinates"
vec_from.z = 10;
vec_set(vec_to,vec_from);
vec_for_screen(vec_from,camera);
vec_to.z = 100;//distance_from_screen
vec_for_screen(vec_to,camera);
trace_mode = ignore_me + ignore_sprites + ignore_models + ignore_passable;
return(trace(vec_from,vec_to));
}
function get_target
{
mouse_to_level();
ent_create("xxx.mdl,target.x,function);
}
on_mouse_left = get_target();
but perhaps its enougth if you use view-enitys?!