Advertisement
Guest User

Untitled

a guest
Oct 19th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.04 KB | None | 0 0
  1. #TouhouDanmakufu[Player]
  2. #ScriptVersion[3]
  3. #ID["Satori"]
  4. #Title["Satori Komeji"]
  5. #Text["Hated Mind of the Earth Palace"]
  6. #ReplayName["Satori Komeji"]
  7.  
  8. // Decalel all globelel variables
  9. let current = GetCurrentScriptDirectory();
  10. let player = GetPlayerObjectID();
  11. let playerObj = ObjPrim_Create(OBJ_SPRITE_2D);
  12. let hitboxObj01 = ObjPrim_Create(OBJ_SPRITE_2D);
  13. let hitboxObj02 = ObjPrim_Create(OBJ_SPRITE_2D);
  14. let focused = false;
  15.  
  16. let playerTex = current ~ "satori.png";
  17. let hitboxTex01 = current ~ "hitbox01.png";
  18. let hitboxTex02 = current ~ "hitbox02.png";
  19.  
  20. @Initialize // Start
  21. {
  22. SetPlayerSpeed(5,2.5); // Set the player speeds GOTTA GO FESADTTTSSS
  23.  
  24. ObjPlayer_AddIntersectionCircleA1(player,0,0,2,16); // Make Hitbox
  25.  
  26. SetPlayerClip(0+48,0,384+16,448);
  27.  
  28. SetPlayerDownStateFrame(60); // Death time
  29. SetPlayerRebirthFrame(10); // DeathBomb time
  30.  
  31. SetPlayerAutoItemCollectLine(120); // Auto collect Border
  32.  
  33. renderPlayer;
  34. }
  35.  
  36. @MainLoop
  37. {
  38. if( GetKey(VK_SLOWMOVE) )
  39. {
  40. focused = true;
  41. }
  42. else
  43. {
  44. focused = false;
  45. }
  46. yield;
  47. }
  48.  
  49. @Event //Something exiting is happening!?!
  50. {
  51. alternative(GetEventType)
  52.  
  53. case(EV_REQUEST_SPELL) // It's a tra- Spell
  54. {
  55. if(GetPlayerSpell > 0)
  56. {
  57. SetScriptResult(true);
  58. }
  59. else
  60. {
  61. SetScriptResult(false);
  62. }
  63. }
  64. case(EV_PLAYER_SHOOTDOWN) // It's a tra- Pichunn
  65. {
  66. SetForbidPlayerShot(true);
  67. SetForbidPlayerShot(true);
  68. ObjRender_SetAlpha(playerObj,0); // Set Alpha
  69. }
  70. case(EV_PLAYER_REBIRTH) // It's a tra- SECOND COMING OF CHRISHTING OMGHDAFH...
  71. {
  72. SetForbidPlayerShot(false);
  73. SetForbidPlayerShot(false);
  74. ObjRender_SetAlpha(playerObj,255); // Set Alpha
  75. SetPlayerInvincibilityFrame(120);
  76. SetPlayerSpell(2);
  77. }
  78. }
  79.  
  80. task renderPlayer // Render Player
  81. {
  82. initializePlayerGraphic; // Initialize Player
  83. var graphicFrame = 0;
  84. var frameRate = 7;
  85. var frameNumber = 8;
  86. var spriteWidth = 32;
  87. var frame = 0;
  88. while(!Obj_IsDeleted(playerObj))
  89. {
  90. ObjRender_SetPosition(playerObj,GetPlayerX(),GetPlayerY(),0); // Set Player Position
  91. frame++; // Increase Frame Number.
  92.  
  93. if(frame >= frameRate) // Time for a sprite change
  94. {
  95. graphicFrame++;
  96. if(graphicFrame == frameNumber)
  97. {
  98. graphicFrame = 0;
  99. }
  100. ObjSprite2D_SetSourceRect(playerObj,spriteWidth * graphicFrame,0,spriteWidth * (graphicFrame + 1),54); // Set Rect
  101. frame = 0;
  102. }
  103.  
  104. if(GetKey(VK_LEFT)) // Going Left
  105. {
  106. ObjRender_SetAngleY(playerObj,0);
  107. }
  108. else if(GetKey(VK_RIGHT)) // Going Right
  109. {
  110. ObjRender_SetAngleY(playerObj,180);
  111. }
  112. else
  113. {
  114. }
  115. yield;
  116. }
  117. }
  118. task renderHitbox
  119. {
  120. let alpha = 0;
  121. let spin = 0;
  122.  
  123. ObjPrim_SetTexture(hitboxObj01,hitboxTex01); // Set Texture
  124. Obj_SetRenderPriority(hitboxObj01,50); // Set Render Layer
  125. ObjRender_SetBlendType(hitboxObj01,BLEND_ALPHA); // Set To Alpha
  126. ObjRender_SetAngleXYZ(hitboxObj01,0,0,0); // Set Rot
  127. ObjRender_SetScaleXYZ(hitboxObj01,1,1,0); // Set Scale
  128. ObjRender_SetAlpha(hitboxObj01,255 / 2); // Set Alpha
  129. ObjSprite2D_SetSourceRect(hitboxObj01,0,0,62,61); // Set Rect
  130. ObjSprite2D_SetDestCenter(hitboxObj01); // Set Center
  131. ObjRender_SetPosition(hitboxObj01,GetPlayerX(),GetPlayerY(),0); // Set Player Position
  132.  
  133. ObjPrim_SetTexture(hitboxObj02,hitboxTex02); // Set Texture
  134. Obj_SetRenderPriority(hitboxObj02,50); // Set Render Layer
  135. ObjRender_SetBlendType(hitboxObj02,BLEND_ALPHA); // Set To Alpha
  136. ObjRender_SetAngleXYZ(hitboxObj02,0,0,0); // Set Rot
  137. ObjRender_SetScaleXYZ(hitboxObj02,1,1,0); // Set Scale
  138. ObjRender_SetAlpha(hitboxObj02,255 / 3); // Set Alpha
  139. ObjSprite2D_SetSourceRect(hitboxObj02,0,0,10,10); // Set Rect
  140. ObjSprite2D_SetDestCenter(hitboxObj02); // Set Center
  141. ObjRender_SetPosition(hitboxObj02,GetPlayerX(),GetPlayerY(),0); // Set Player Position
  142.  
  143. while(!Obj_IsDeleted(hitboxObj01))
  144. {
  145. ObjRender_SetPosition(hitboxObj01,GetPlayerX(),GetPlayerY(),0); // Set Player Position
  146. ObjRender_SetAngleZ(hitboxObj01, spin);
  147. ObjRender_SetAlpha(hitboxObj01, alpha);
  148.  
  149. ObjRender_SetPosition(hitboxObj02,GetPlayerX(),GetPlayerY(),0); // Set Player Position
  150. ObjRender_SetAngleZ(hitboxObj02, -spin * 4);
  151. ObjRender_SetAlpha(hitboxObj02, alpha);
  152. if(focused)
  153. {
  154. alpha = 255;
  155. }
  156. else
  157. {
  158. alpha = 0;
  159. }
  160. spin += 2;
  161. yield;
  162. }
  163. }
  164. task initializePlayerGraphic
  165. {
  166. ObjPrim_SetTexture(playerObj,playerTex); // Set Texture
  167. Obj_SetRenderPriority(playerObj,31); // Set Render Layer
  168. ObjRender_SetBlendType(playerObj,BLEND_ALPHA); // Set To Alpha
  169. ObjRender_SetAngleXYZ(playerObj,0,0,0); // Set Rot
  170. ObjRender_SetScaleXYZ(playerObj,1,1,0); // Set Scale
  171. ObjRender_SetAlpha(playerObj,255); // Set Alpha
  172. ObjSprite2D_SetSourceRect(playerObj,0,0,32,54); // Set Rect
  173. ObjSprite2D_SetDestCenter(playerObj); // Set Center
  174. ObjRender_SetPosition(playerObj,GetPlayerX(),GetPlayerY(),0); // Set Player Position
  175. renderHitbox;
  176. }
  177.  
  178. function GetKey(key) // Gets Key Press
  179. {
  180. if(GetVirtualKeyState(key) == KEY_PUSH || GetVirtualKeyState(key) == KEY_HOLD)
  181. {
  182. return true;
  183. }
  184. else
  185. {
  186. return false;
  187. }
  188. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement