Advertisement
Guest User

Untitled

a guest
Nov 14th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.23 KB | None | 0 0
  1. #TouhouDanmakufu[Player]
  2. #ScriptVersion[3]
  3. #ID["MARISA_A"]
  4. #Title["Marisa A"]
  5. #Text["Marisa A"]
  6. #ReplayName["MarisaA"]
  7.  
  8. //Global Declaration
  9. let CSD = GetCurrentScriptDirectory;
  10. let playerID = GetPlayerObjectID;
  11. let playerObj = ObjPrim_Create(OBJ_SPRITE_2D);
  12. let hitboxObj = ObjPrim_Create(OBJ_SPRITE_2D);
  13. let count = -1;
  14. let isFocus = false;
  15.  
  16. //Shot Sheet
  17. let shotMarisa = CSD ~ "playershot.txt";
  18.  
  19. //Texture Sheet
  20. let playerSprite = CSD ~ "marisasprite.png";
  21.  
  22. @Initialize
  23. {
  24. // Load Player Shot Data
  25. LoadPlayerShotData(shotMarisa);
  26.  
  27. // Set Plauer unfocused and focused speed
  28. SetPlayerSpeed(5, 2.5);
  29.  
  30. //Set Okayer hitbox paramenters = (player object, X, Y, radius, graze radus)
  31. ObjPlayer_AddIntersectionCircleA1(playerID, 0, 0, 2, 16);
  32.  
  33. // Set Boundary of for the game field. Player can't move beyond this
  34. // Note: Standard game field is x:384 and y:448
  35. SetPlayerClip(0+6, 0+24, 384-6, 448-16);
  36.  
  37. //Set how long the player is gone upon death
  38. SetPlayerDownStateFrame(60);
  39.  
  40. // Counterbomb time frame
  41. SetPlayerRebirthFrame(30);
  42.  
  43. // Set Y coordinates where the player starts auto-collecting
  44. SetPlayerAutoItemCollectLine(120);
  45.  
  46. //Launch two task to handle some sprite animation
  47. renderPlayer;
  48. renderHitBox(GetPlayerX, GetPlayerY);
  49. }
  50.  
  51. @Event
  52. {
  53. alternative(GetEventType)
  54.  
  55.     case(EV_REQUEST_SPELL)
  56.         {
  57.         if(GetPlayerSpell > 0){SetScriptResult(true)}
  58.         else {SetScriptResult(false)}
  59.         }
  60.  
  61.     case(EV_PLAYER_SHOOTDOWN)
  62.         {
  63.         SetForbidPlayerShot(true);
  64.         SetForbidPlayerSpell(true);
  65.         }
  66.  
  67.     case(EV_PLAYER_REBIRTH)
  68.         {
  69.         SetForbidPlayerShot(false);
  70.         SetForbidPlayerSpell(false);
  71.         SetPlayerInvincibilityFrame(120);
  72.         SetPlayerSpell(2);
  73.         }
  74. }
  75.  
  76. @MainLoop
  77. {
  78.    
  79. yield; 
  80. }
  81.  
  82. task renderPlayer
  83. {
  84. ObjPrim_SetTexture(playerObj, playerSprite);
  85. Obj_SetRenderPriorityI(playerObj, 31);
  86. ObjRender_SetBlendType(playerObj, BLEND_ALPHA);
  87. ObjRender_SetAngleXYZ(playerObj, 0, 0, 0);
  88. ObjRender_SetScaleXYZ(playerObj, 1, 1, 0);
  89. ObjRender_SetAlpha(playerObj, 255);
  90. ObjSprite2D_SetSourceRect(playerObj, 0, 0, 32, 48);
  91. ObjSprite2D_SetDestCenter(playerObj);
  92. ObjRender_SetPosition(playerObj, GetPlayerX, GetPlayerY, 0);
  93.  
  94. while(!Obj_IsDeleted(playerObj))
  95.     {
  96.     ObjRender_SetPosition(playerObj, GetPlayerX, GetPlayerY, 0);
  97.    
  98.     yield;
  99.     }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement