Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (global.pause) exit;
- ///Player Input
- key_right = keyboard_check(ord("D")) or keyboard_check(vk_right);
- key_left = -(keyboard_check(ord("A")) or keyboard_check(vk_left));
- key_jump = keyboard_check_pressed(vk_space);
- key_jumpheight = (keyboard_check(vk_space));
- key_down = keyboard_check(ord("S")) or keyboard_check(vk_down);
- key_sprint = 1.5 * keyboard_check(vk_shift);
- key_up = keyboard_check(ord("W")) or keyboard_check(vk_up);
- key_crouch = keyboard_check(vk_control);
- key_stand = keyboard_check_released(vk_control);
- keydown = key_down
- leftcheck = key_left * -1
- //Death
- if life <= 0
- {
- game_restart();
- }
- if leftcheck
- {facing = -1}
- if key_right
- {facing = 1}
- //Move Speed
- move = key_right + key_left ;
- hsp = move * movespeed + (key_sprint * move * movespeed);
- //Jumping
- if (vsp < 10) vsp += grav
- if key_jump && (place_meeting(x,y+4,obj_wall))
- {
- vsp = -jumpspeed //- (key_sprint * .5)
- }
- if !key_jumpheight && vsp < 0 && kill = 0 && !place_meeting(x,y+1,obj_enemy) && enemytouch = false
- {
- vsp = 0;
- }
- // Down Jumping
- if (place_meeting(x,y+4,obj_owp))
- {
- if (key_jump) and (key_down) vsp = jumpspeed
- }
- //Resetting Pogo Kills. Needed for Pogoing and Control Jump to Work
- if (place_meeting(x,y+4,obj_wall))
- {
- kill = 0
- enemytouch = false
- }
- //Ladder
- if (key_up || key_down) && !key_crouch
- {
- if place_meeting(x,y,obj_ladder) ladder = true;
- }
- if (ladder)
- {
- vsp = 0;
- if (key_up) vsp = -2;
- if (key_down) vsp = 2;
- if !place_meeting(x,y,obj_ladder) ladder = false;
- if (key_crouch) ladder = false;
- }
- //Crouching?
- if key_crouch
- {
- crouching = true
- standing = false
- }
- else if !place_meeting(x,y-43,obj_wall)
- {
- standing = true
- crouching = false
- }
- //Wall Jumping
- //
- //if (place_meeting(x - 8, y, obj_wall) && (!place_meeting(x,y-4,obj_wall)))
- //{
- //if leftcheck and (key_jump) vsp = -jumpspeed * .88; obj_player.wall = true;
- //if obj_player.wall = true && !place_meeting(x,y+8,obj_wall) && (key_jump)
- //{
- // //x += 32
- //}
- //}
- //
- //if (place_meeting(x + 8, y, obj_wall) && (!place_meeting(x,y-4,obj_wall)))
- //{ if (key_right) and (key_jump) vsp = -jumpspeed * .88; obj_player.wall = true;
- //if obj_player.wall = true && !place_meeting(x,y+8,obj_wall) && (key_jump)
- //{
- //x -= 32
- //}
- //}
- //if place_meeting(x,y+8,obj_wall) and !place_meeting(x+ hsp,y,obj_wall)
- //{obj_player.wall = false}
- //
- //Sliding
- //if (place_meeting(x,y+4,obj_wall) && !place_meeting(x+1,y+1,obj_wall))
- //{
- // ssp = key_down * movespeed * .5;
- // vsp = 1.5 * jumpspeed;
- // x += ssp;
- //}
- //else
- //{
- // if (place_meeting(x,y+4,obj_wall) && !place_meeting(x-1,y+1,obj_wall))
- // {
- // ssp = key_down * movespeed * -.5;
- // vsp = 1.5 * jumpspeed;
- // x += ssp;
- // }
- // else
- // {
- // ssp = 0;
- // }
- //}
- //
- //Horizontal Collision
- if place_meeting(x+hsp,y,obj_wall)
- {
- yplus = 0;
- while (place_meeting(x+hsp,y-yplus,obj_wall) && yplus <= abs(1*hsp)) yplus += 1;
- if place_meeting(x+hsp,y-yplus,obj_wall)
- {
- while (!place_meeting(x+sign(hsp),y,obj_wall)) x+=sign(hsp);
- hsp = 0;
- }
- else
- {
- y -= yplus
- }
- }
- x += hsp;
- yplus = 0;
- if place_meeting(x, y+10,obj_wall) && vsp >= 0 && !place_meeting(x,y-1,obj_wall)
- {
- y += yplus;
- grav = 2;
- }
- else
- {
- grav = 0.2;
- }
- //Vert Collision Detection
- if (place_meeting(x,y+vsp,obj_wall))
- {
- while(!place_meeting(x,y+sign(vsp),obj_wall))
- {
- y += sign(vsp)
- }
- vsp = 0
- }
- y += vsp + vsp2;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement