Advertisement
Guest User

Untitled

a guest
Mar 14th, 2012
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. #TouhouDanmakufu[Single]
  2. #Title["Warning Sign ~Burning Star~"]
  3. #BGM[".\bgm2.mp3"]
  4. #Player[FREE]
  5. #ScriptVersion[3]
  6.  
  7. #include "script/default_system/Default_ShotConst.txt"
  8. #include "script/default_system/Default_Effect.txt"
  9.  
  10. let objEnemy;
  11. let objPlayer;
  12. let frame = 0;
  13. let bConcentrationMotion = false;
  14.  
  15. @Event
  16. {
  17. alternative(GetEventType())
  18. case(EV_REQUEST_LIFE)
  19. {
  20. SetScriptResult(5000);
  21. }
  22. }
  23.  
  24. @Initialize
  25. {
  26. objEnemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
  27. objPlayer = GetPlayerObjectID();
  28. ObjEnemy_Regist(objEnemy);
  29.  
  30. let imgKoishi = GetCurrentScriptDirectory ~ "stg7enm.png";
  31. ObjPrim_SetTexture(objEnemy,imgKoishi);
  32. ObjSprite2D_SetSourceRect(objEnemy, 64, 1, 127, 64);
  33. ObjSprite2D_SetDestCenter(objEnemy);
  34.  
  35. let cx = GetStgFrameWidth() /2;
  36. ObjMove_SetDestAtFrame(objEnemy, cx, 60, 60);
  37.  
  38. DeleteShotAll(TYPE_ALL, TYPE_ITEM);
  39. }
  40.  
  41. @MainLoop
  42. {
  43. let ex = ObjMove_GetX(objEnemy);
  44. let ey = ObjMove_GetY(objEnemy);
  45.  
  46. if(frame == 60)
  47. {
  48. let px = GetPlayerX();
  49. let py = GetPlayerY();
  50.  
  51. let pa = atan2(py - ey, px - ex);
  52.  
  53. let angle1 = 0;
  54. while (angle1 <= 360)
  55. {
  56. let obj1 = CreateShotA1(ex, ey, 4, angle1 + pa, DS_STAR_S_GREEN, 30);
  57. ObjShot_SetDeleteFrame(obj1, 46);
  58.  
  59. let angle2 = 0;
  60. while (angle2 <= 360)
  61. {
  62. let obj2 = CreateShotA1(0,0,0,0, DS_STAR_S_YELLOW, 10);
  63. ObjShot_SetDeleteFrame(obj2, 61);
  64.  
  65. let angle3 = 0;
  66. while (angle3 <= 360)
  67. {
  68. let obj3 = CreateShotA1(0,0,0,0, DS_STAR_S_ORANGE, 10);
  69. ObjShot_SetDeleteFrame(obj3, 55);
  70.  
  71. let angle4 = 0;
  72. while (angle4 <= 360)
  73. {
  74. let obj4 = CreateShotA1(0,0,0,0, DS_STAR_S_RED, 10);
  75. ObjShot_SetDeleteFrame(obj4, 50);
  76.  
  77. let angle5 = 0;
  78. while(angle5 <= 360)
  79. {
  80. let obj5 = CreateShotA1(0,0,0,0, DS_BALL_L_WHITE, 20);
  81. ObjShot_AddShotA1(obj4, obj5, 10);
  82. angle5 += 30;
  83. }
  84. ObjShot_AddShotA1(obj3, obj4, 10);
  85. angle4 += 30;
  86. }
  87. ObjShot_AddShotA1(obj2, obj3, 10);
  88. angle3 += 30;
  89. }
  90. ObjShot_AddShotA1(obj1, obj2, 10);
  91. angle2 += 30;
  92. }
  93. angle1 += 30;
  94. }
  95. frame = 0;
  96. }
  97.  
  98. ObjEnemy_SetIntersectionCircleToShot(objEnemy, ex, ey, 32);
  99. ObjEnemy_SetIntersectionCircleToPlayer(objEnemy, ex, ey, 24);
  100.  
  101. frame++;
  102.  
  103. if(ObjEnemy_GetInfo(objEnemy, INFO_LIFE) <= 0)
  104. {
  105. Obj_Delete(objEnemy);
  106. CloseScript(GetOwnScriptID());
  107. return;
  108. }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement