//////////CAMERA//////////
function player_camera()
{
var allow_smooth_cam = 1;
var camera_z_lerp = 0;
var camera_smooth = 0.9;
var camera_height = 40;
VECTOR cam_pos;
camera.pan -= 0.5 * mickey.x;
camera.tilt -= 0.5 * mickey.y;
camera.tilt = clamp(camera.tilt, -90, 90);
player.pan = camera.pan;
vec_set(cam_pos.x, vector(0, 0, camera_height));
vec_rotate(cam_pos.x, my.pan);
vec_add(cam_pos.x, my.x);
if(allow_smooth_cam == 0){
vec_set(camera.x, vector(cam_pos.x, cam_pos.y, cam_pos.z));
}
else{
vec_set(camera.x, vector(cam_pos.x, cam_pos.y, camera.z));
camera_z_lerp = camera_smooth * time_step;
camera.z -= (camera.z - cam_pos.z) * camera_z_lerp;
}
}
//////////Player////////// add this to you`re player in WED
action my_player()
{
var speed_down = 10;
VECTOR vFeet;
vec_for_min(vFeet,me);
player = my;
wait(1);
c_setminmax(my);
while (my)
{
//////////
var dist_down;
if (c_trace(my.x,vector(my.x,my.y,my.z-5000),IGNORE_ME | IGNORE_PASSABLE | USE_BOX) > 0)
dist_down = my.z + vFeet.z - target.z;
else
dist_down = 0;
if (dist_down > 0)
dist_down = clamp(dist_down,0,accelerate(speed_down,5,0.1));
else
speed_down = 0;
var dist_ahead = 8*(key_w-key_s)*time_step;
var dist_toside = 8*(key_a-key_d)*time_step;
dist_ahead = sign(dist_ahead)*(abs(dist_ahead) + 0.5*dist_down);
dist_toside = sign(dist_toside)*(abs(dist_toside) + 0.5*dist_down);
if(key_shift && key_w){dist_ahead = 5;player_moveingmode = 2;}
c_move(me,vector(dist_ahead,dist_toside,0),vector(0,0,-dist_down),IGNORE_PASSABLE | GLIDE);
player_camera();
wait(1);
}
}