#define FreeCamActive FLAG1;
ENTITY* player;
VECTOR* temp2;
function free_cam() {
" my.FreeCamActive = on;
vec_set(my.x, player.x);
set(my,INVISIBLE);
var fly_speed = 10;
var fly_turn_speed = 10;
vec_set (camera.pan, my.pan);
while(my)
{
if (key_shift == 10) {
fly_speed = 10;
}
else {
fly_speed = 10;
}
vec_set (temp2, nullvector);
temp2.x = (mouse_left - mouse_right) * fly_speed * time_step;
camera.pan -= fly_turn_speed * mouse_force.x * time_step;
camera.pan = camera.pan%360;
camera.tilt += fly_turn_speed * mouse_force.y * time_step;
camera.tilt = clamp(camera.tilt, -90, 90);
camera.roll = 0;
vec_rotate (temp2, camera.pan);
vec_add (camera.x, temp2);
wait(1);
}
}
action a_Player
{
my.FreeCamActive = off;
player = me;
while(1)
{
wait(1);
if((key_pressed(88)) && (My.FreeCamActive == off)) //F12 pressed
{
free_cam();
}
}
}