Advertisement
Guest User

Untitled

a guest
Sep 3rd, 2014
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. if (global.pause) exit;
  2.  
  3. ///Player Input
  4. key_right = keyboard_check(ord("D")) or keyboard_check(vk_right);
  5. key_left = -(keyboard_check(ord("A")) or keyboard_check(vk_left));
  6. key_jump = keyboard_check_pressed(vk_space);
  7. key_jumpheight = (keyboard_check(vk_space));
  8. key_down = keyboard_check(ord("S")) or keyboard_check(vk_down);
  9. key_sprint = 1.5 * keyboard_check(vk_shift);
  10. key_up = keyboard_check(ord("W")) or keyboard_check(vk_up);
  11. key_crouch = keyboard_check(vk_control);
  12. key_stand = keyboard_check_released(vk_control);
  13. keydown = key_down
  14. leftcheck = key_left * -1
  15.  
  16. //Death
  17. if life <= 0
  18. {
  19. game_restart();
  20. }
  21.  
  22. if leftcheck
  23. {facing = -1}
  24.  
  25. if key_right
  26. {facing = 1}
  27.  
  28.  
  29. //Move Speed
  30. move = key_right + key_left ;
  31. hsp = move * movespeed + (key_sprint * move * movespeed);
  32.  
  33. //Jumping
  34. if (vsp < 10) vsp += grav
  35. if key_jump && (place_meeting(x,y+4,obj_wall))
  36. {
  37. vsp = -jumpspeed //- (key_sprint * .5)
  38. }
  39. if !key_jumpheight && vsp < 0 && kill = 0 && !place_meeting(x,y+1,obj_enemy) && enemytouch = false
  40. {
  41. vsp = 0;
  42. }
  43.  
  44. // Down Jumping
  45. if (place_meeting(x,y+4,obj_owp))
  46. {
  47. if (key_jump) and (key_down) vsp = jumpspeed
  48. }
  49.  
  50. //Resetting Pogo Kills. Needed for Pogoing and Control Jump to Work
  51. if (place_meeting(x,y+4,obj_wall))
  52. {
  53. kill = 0
  54. enemytouch = false
  55. }
  56.  
  57. //Ladder
  58. if (key_up || key_down) && !key_crouch
  59. {
  60. if place_meeting(x,y,obj_ladder) ladder = true;
  61. }
  62.  
  63. if (ladder)
  64. {
  65. vsp = 0;
  66. if (key_up) vsp = -2;
  67. if (key_down) vsp = 2;
  68. if !place_meeting(x,y,obj_ladder) ladder = false;
  69. if (key_crouch) ladder = false;
  70. }
  71.  
  72. //Crouching?
  73. if key_crouch
  74. {
  75. crouching = true
  76. standing = false
  77.  
  78. }
  79. else if !place_meeting(x,y-43,obj_wall)
  80. {
  81. standing = true
  82. crouching = false
  83. }
  84. //Wall Jumping
  85. //
  86. //if (place_meeting(x - 8, y, obj_wall) && (!place_meeting(x,y-4,obj_wall)))
  87. //{
  88. //if leftcheck and (key_jump) vsp = -jumpspeed * .88; obj_player.wall = true;
  89. //if obj_player.wall = true && !place_meeting(x,y+8,obj_wall) && (key_jump)
  90. //{
  91. // //x += 32
  92. //}
  93. //}
  94. //
  95. //if (place_meeting(x + 8, y, obj_wall) && (!place_meeting(x,y-4,obj_wall)))
  96. //{ if (key_right) and (key_jump) vsp = -jumpspeed * .88; obj_player.wall = true;
  97. //if obj_player.wall = true && !place_meeting(x,y+8,obj_wall) && (key_jump)
  98. //{
  99. //x -= 32
  100. //}
  101. //}
  102. //if place_meeting(x,y+8,obj_wall) and !place_meeting(x+ hsp,y,obj_wall)
  103. //{obj_player.wall = false}
  104. //
  105. //Sliding
  106. //if (place_meeting(x,y+4,obj_wall) && !place_meeting(x+1,y+1,obj_wall))
  107. //{
  108. // ssp = key_down * movespeed * .5;
  109. // vsp = 1.5 * jumpspeed;
  110. // x += ssp;
  111. //}
  112. //else
  113. //{
  114. // if (place_meeting(x,y+4,obj_wall) && !place_meeting(x-1,y+1,obj_wall))
  115. // {
  116. // ssp = key_down * movespeed * -.5;
  117. // vsp = 1.5 * jumpspeed;
  118. // x += ssp;
  119. // }
  120. // else
  121. // {
  122. // ssp = 0;
  123. // }
  124. //}
  125. //
  126.  
  127.  
  128. //Horizontal Collision
  129. if place_meeting(x+hsp,y,obj_wall)
  130. {
  131. yplus = 0;
  132. while (place_meeting(x+hsp,y-yplus,obj_wall) && yplus <= abs(1*hsp)) yplus += 1;
  133. if place_meeting(x+hsp,y-yplus,obj_wall)
  134. {
  135. while (!place_meeting(x+sign(hsp),y,obj_wall)) x+=sign(hsp);
  136. hsp = 0;
  137. }
  138. else
  139. {
  140. y -= yplus
  141. }
  142. }
  143. x += hsp;
  144.  
  145.  
  146. yplus = 0;
  147. if place_meeting(x, y+10,obj_wall) && vsp >= 0 && !place_meeting(x,y-1,obj_wall)
  148. {
  149. y += yplus;
  150. grav = 2;
  151. }
  152. else
  153. {
  154. grav = 0.2;
  155. }
  156.  
  157. //Vert Collision Detection
  158. if (place_meeting(x,y+vsp,obj_wall))
  159. {
  160. while(!place_meeting(x,y+sign(vsp),obj_wall))
  161. {
  162. y += sign(vsp)
  163. }
  164. vsp = 0
  165. }
  166. y += vsp + vsp2;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement