Advertisement
Guest User

GameMaker Epic Egypt Basic Player Code

a guest
Mar 14th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  2.  
  3. image_speed = 0.1
  4. //definitions
  5. sp = 0
  6. vsp = 0
  7. hsp = 0
  8. grav = 20
  9. jump = 28
  10. jumptimer = 0
  11. space = 0
  12. dir = 0
  13. dir2 = 0
  14.  
  15. //location of player
  16. position = 0
  17.  
  18. STEP\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  19.  
  20. //input
  21. if ( ( - keyboard_check ( ord ( "A" ) ) + keyboard_check ( ord ( "D" ) ) ) = 1 ) { dir = 1 dir2 = 1 }
  22. if ( ( - keyboard_check ( ord ( "A" ) ) + keyboard_check ( ord ( "D" ) ) ) = -1 ) { dir = -1 dir2 = -1 }
  23. if ( ( - keyboard_check ( ord ( "A" ) ) + keyboard_check ( ord ( "D" ) ) ) = 0 ) { dir = 0 }
  24. if ( keyboard_check_pressed ( vk_space ) ) { space = 1 }
  25. if ( keyboard_check_released ( vk_space ) ) { space = 0 }
  26.  
  27. //positions
  28. if ( place_meeting ( x , y + 1 , obj_tile ) and ( sp < 0.5 ) ) { position = 1 }
  29. if ( place_meeting ( x , y + 1 , obj_tile ) and ( sp >= 0.5 ) ) { position = 2 }
  30. if ( place_meeting ( x , y + 1 , obj_tile ) and ( sp > 20 ) ) { position = 3 }
  31. if ( place_meeting ( x , y + 1 , obj_tile ) and sp > 40 ) { position = 4 }
  32. if ( jumptimer > 0 ) { position = 5 }
  33. if ( jumptimer > 5 or vsp = grav) { position = 6 }
  34. if ( place_meeting ( x + dir2 , y , obj_tile ) and !place_meeting ( x , y + 1 , obj_tile ) ) { position = 7 }
  35.  
  36. //momentum
  37. sp = ( max ( sp , 0 ) )
  38. sp = ( min ( sp , 80 ) )
  39. if ( dir = 0 ) { sp -= 1 } else { sp += 0.5 }
  40.  
  41. //movement
  42. if ( !sp = 0 ) { hsp = dir2 * sp } else { hsp = 0 }
  43.  
  44. //jumping
  45. if ( ( position = 1 or position = 2 or position = 3 or position = 4 or position = 7 ) or jumptimer > 0 )
  46.     { if ( space = 1 ) { jumptimer += 1 if ( jumptimer >= 9 ) { space = 0 jumptimer = 0 } vsp += -jump } }
  47. if ( space = 0 and !jumptimer = 0 ) { jumptimer = 0 }
  48. if ( jumptimer > 0 ) { position = 5 }
  49.  
  50. //gravity
  51. if ( vsp < 10 ) { vsp += grav }
  52.  
  53. //collision
  54. if ( place_meeting ( x , y + vsp , obj_tile ) ) { while ( !place_meeting ( x , y + sign ( vsp ) , obj_tile ) ) { y += sign ( vsp ) } vsp = 0 }
  55. if ( place_meeting ( x + hsp , y , obj_tile ) ) { while ( !place_meeting ( x + sign ( hsp ) , y , obj_tile ) ) { x += sign ( hsp ) } hsp = 0 sp = 0 }
  56. while ( place_meeting ( x , y , obj_tile ) ) { y -= 1 }
  57.  
  58. //x and y
  59. x += hsp
  60. y += vsp
  61.  
  62. //animation
  63. if ( dir2 = 1 and position = 1 ) { sprite_index = spr_player_idleright }
  64. if ( dir2 = -1 and position = 1 ) { sprite_index = spr_player_idleleft }
  65. if ( dir2 = 1 and position = 2 ) { sprite_index = spr_player_walkright }
  66. if ( dir2 = -1 and position = 2 ) { sprite_index = spr_player_walkleft }
  67. if ( dir2 = 1 and position = 3 ) { sprite_index = spr_player_runright }
  68. if ( dir2 = -1 and position = 3 ) { sprite_index = spr_player_runleft }
  69. if ( dir2 = 1 and position = 4 ) { sprite_index = spr_player_sprintright }
  70. if ( dir2 = -1 and position = 4 ) { sprite_index = spr_player_sprintleft }
  71. if ( dir2 = 1 and position = 5 ) { sprite_index = spr_player_jumpright }
  72. if ( dir2 = -1 and position = 5 ) { sprite_index = spr_player_jumpleft }
  73. if ( dir2 = 1 and position = 6 ) { sprite_index = spr_player_fallright }
  74. if ( dir2 = -1 and position = 6 ) { sprite_index = spr_player_fallleft }
  75. if ( dir2 = 1 and position = 7 ) { sprite_index = spr_player_wallright }
  76. if ( dir2 = -1 and position = 7 ) { sprite_index = spr_player_wallleft }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement