Advertisement
Guest User

Untitled

a guest
Mar 20th, 2016
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.96 KB | None | 0 0
  1. #東方弾幕風[Player]
  2. #ScriptVersion[3]
  3. #ID["REIMU_HRTP"]
  4. #Title["Reimu"]
  5. #Text["Reimu"]
  6. #Image["ReimuSpriteHRTP.png"]
  7. #ReplayName["Reimu"]
  8.  
  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. let shotReimu = CSD ~ "reimushot.txt";
  16. let reimuSprite = CSD ~ "ReimuSpriteHRTP.png";
  17. @Initialize
  18. {
  19.     LoadPlayerShotData(shotReimu);
  20.     SetPlayerSpeed(3,2.5);
  21.     ObjPlayer_AddIntersectionCircleA1(playerID,0,0,1,16);
  22.     SetPlayerClip(0+6,0+24,384-6,448-16);
  23.     SetPlayerDownStateFrame(60);
  24.     SetPlayerRebirthFrame(30);
  25.     SetPlayerAutoItemCollectLine(120);
  26.     TRenderPlayer;
  27. }
  28. @Event
  29. {
  30.     alternative(GetEventType)
  31.     case(EV_REQUEST_SPELL)
  32.     {
  33.         if(GetPlayerSpell > 0)
  34.         {
  35.             SetScriptResult(true);
  36.         }
  37.         else
  38.         {
  39.             SetScriptResult(false);
  40.         }
  41.     }
  42.     case(EV_PLAYER_SHOOTDOWN)
  43.     {
  44.         SetForbidPlayerShot(true);
  45.         SetForbidPlayerSpell(true);
  46.         ObjRender_SetAlpha(playerObj,0);
  47.     }
  48.     case(EV_PLAYER_REBIRTH)
  49.     {
  50.         SetForbidPlayerShot(false);
  51.         SetForbidPlayerSpell(false);
  52.         SetPlayerInvincibilityFrame(120);
  53.         SetPlayerSpell(2);
  54.         ObjRender_SetAlpha(playerObj,255);
  55.     }
  56. }
  57. @MainLoop
  58. {
  59.     if(GetVirtualKeyState(VK_SLOWMOVE) == KEY_PUSH || GetVirtualKeyState(VK_SLOWMOVE) == KEY_HOLD)
  60.     {
  61.         isFocus = true;
  62.     }
  63.     if(GetVirtualKeyState(VK_SLOWMOVE) == KEY_PUSH || GetVirtualKeyState(VK_SLOWMOVE) == KEY_HOLD)
  64.     {
  65.         isFocus = false;
  66.     }
  67.     if(IsPermitPlayerShot)
  68.     {
  69.         if(GetVirtualKeyState(VK_SHOT) == KEY_PUSH || GetVirtualKeyState(VK_SHOT) == KEY_HOLD)
  70.         {
  71.             count++;
  72.             if(count >= 5)
  73.             {
  74.                 count = 0;
  75.             }
  76.         }
  77.         if(GetVirtualKeyState(VK_SHOT) == KEY_PULL)
  78.         {
  79.             count = -1;
  80.         }
  81.         if(isFocus)
  82.         {
  83.             if(count > 5)
  84.             {
  85.                 CreatePlayerShotA1(GetPlayerX,GetPlayerY-20,15,270,0.5,1,1);
  86.             }
  87.         }
  88.         else
  89.         {
  90.             if(count > 5)
  91.             {
  92.                 CreatePlayerShotA1(GetPlayerX,GetPlayerY-20,7.5,270,0.5,1,1);
  93.             }
  94.         }
  95.     }
  96.     yield;
  97. }
  98. task TRenderPlayer
  99. {
  100.     ObjPrim_SetTexture(playerObj, reimuSprite);
  101.     Obj_SetRenderPriority(playerObj,31);
  102.     ObjRender_SetBlendType(playerObj,BLEND_ALPHA);
  103.     ObjRender_SetAngleXYZ(playerObj,0,0,0);
  104.     ObjRender_SetScaleXYZ(playerObj,1,1,0);
  105.     ObjRender_SetAlpha(playerObj,255);
  106.     ObjSprite2D_SetSourceRect(playerObj,0,0,63,63);
  107.     ObjSprite2D_SetDestCenter(playerObj);
  108.     ObjRender_SetPosition(playerObj,GetPlayerX,GetPlayerY,0);
  109.     while(!Obj_IsDeleted(playerObj))
  110.     {
  111.         ObjRender_SetPosition(playerObj,getPlayerX,getPlayerY,0);
  112.         if(GetVirtualKeyState(VK_LEFT) == KEY_PUSH || GetVirtualKeyState(VK_LEFT) == KEY_HOLD)
  113.         {
  114.             ObjRender_SetAngleY(playerObj,0);
  115.             ObjSprite2D_SetSourceRect(playerObj,0,0,63,63);
  116.         }
  117.         else if(GetVirtualKeyState(VK_RIGHT) == KEY_PUSH || GetVirtualKeyState(VK_RIGHT) == KEY_HOLD)
  118.         {
  119.             ObjRender_SetAngleY(playerObj,180);
  120.             ObjSprite2D_SetSourceRect(playerObj,0,0,63,63);
  121.         }
  122.         else
  123.         {
  124.             ObjSprite2D_SetSourceRect(playerObj,0,0,63,63);
  125.         }
  126.         yield;
  127.     }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement