Advertisement
Guest User

khjvlkijhyv ijyhkvlkyhvijitfgdu

a guest
Jun 26th, 2013
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. #TouhouDanmakufu[Single]
  2.  
  3. #Title[Spell 3]
  4.  
  5. #Text[An attempt at making a non-spell]
  6.  
  7. #Player[REIMU]
  8. #PlayLevel[Normal]
  9.  
  10. #ScriptVersion[2]
  11.  
  12.  
  13. script_enemy_main{
  14.  
  15.  
  16. let D = GetCurrentScriptDirectory;
  17.  
  18. let bg = D ~ "system\trees nighttime.png";
  19.  
  20. let shot = D ~ "supershot.txt";
  21. let s1 = D ~ "sfx\Shot.wav";
  22. let s2 = D ~ "sfx\Wave.wav";
  23. let slide = 0;
  24. let slide2 = 0;
  25. @Initialize{
  26. SetLife(2500);
  27. SetTimer(60);
  28. SetScore(100000);
  29. LoadGraphic(bg);
  30. LoadUserShotData(shot);
  31. LoadSE(s1);
  32. LoadSE(s2);
  33. fire;
  34. move;
  35. }
  36.  
  37. @MainLoop{
  38. SetCollisionA(GetX,GetY,32);
  39. SetCollisionB(GetX,GetY,16);
  40. yield;}
  41.  
  42. @DrawLoop{
  43. }
  44.  
  45. @BackGround{
  46. SetTexture(bg);
  47. SetRenderState(ALPHA);
  48. SetAlpha(255);
  49. SetGraphicRect(0,0,10000,10000);
  50. SetGraphicScale(1,1);
  51. SetGraphicAngle(0,0,0);
  52. DrawGraphic(GetCenterX-slide2,GetCenterY+slide);
  53. slide+=2; slide2-=1; }
  54.  
  55. @Finalize{DeleteGraphic(bg); DeleteSE(s1); DeleteSE(s2);
  56. loop(20){CreateItem(ITEM_SCORE,GetX+rand(-150,150),GetY+rand(50,200));} }
  57.  
  58. task move{
  59. loop{
  60. SetMovePosition01(GetCenterX,GetCenterY-80,10);
  61. wait(120);
  62. }
  63. }
  64.  
  65. task fire{
  66. wait(60);
  67. let dir = 45;
  68. loop{
  69. loop(5){
  70. loop(10){
  71. b(GetX+30*cos(dir),GetY+30*sin(dir), 2, dir, 231, 0);
  72. PlaySE(s1); dir+=30; }
  73. wait(10);
  74. dir += 17;
  75. }
  76. wait(180);}}
  77. wait(180);}}
  78. task b(x,y,v,dir,graphic,delay){
  79. let obj=Obj_Create(OBJ_SHOT);
  80. Obj_SetPosition(obj,x,y);
  81. Obj_SetSpeed(obj,v);
  82. Obj_SetAngle(obj,dir);
  83. ObjShot_SetGraphic(obj,graphic);
  84. ObjShot_SetDelay(obj,delay);
  85. ObjShot_SetBombResist(obj, true);
  86.  
  87. while(!Obj_BeDeleted(obj)){
  88. wait(13);
  89. if(Obj_GetY(obj) > GetClipMaxY) {
  90. loop(6){b2(Obj_GetX(obj),Obj_GetY(obj),rand(1,3),dir-rand(160,200),152,20);wait(10);}
  91. PlaySE(s1); Obj_Delete(obj);}
  92. if(Obj_GetY(obj) < GetClipMinY) {
  93. loop(6){b2(Obj_GetX(obj),Obj_GetY(obj),rand(1,3),dir-rand(160,200),152,20);wait(10);}
  94. PlaySE(s1); Obj_Delete(obj);}
  95. if(Obj_GetY(obj) > GetClipMaxX) {
  96. loop(6){b2(Obj_GetX(obj),Obj_GetY(obj),rand(1,3),dir-rand(160,200),152,20); wait(10);}
  97. PlaySE(s1); Obj_Delete(obj);}
  98. if(Obj_GetY(obj) < GetClipMinX) {
  99. loop(6)b2(Obj_GetX(obj),Obj_GetY(obj),rand(1,3),dir-rand(160,200),152,20); wait(10);}
  100. PlaySE(s1); Obj_Delete(obj);}
  101. }
  102. }
  103.  
  104.  
  105. task b2(x,y,v,dir,graphic,delay){
  106.  
  107. let obj=Obj_Create(OBJ_SHOT);
  108. Obj_SetPosition(obj,x,y);
  109. Obj_SetSpeed(obj,v);
  110. Obj_SetAngle(obj,dir);
  111. ObjShot_SetGraphic(obj,graphic);
  112. ObjShot_SetDelay(obj,delay);
  113. ObjShot_SetBombResist(obj, true);
  114.  
  115. while(!Obj_BeDeleted(obj)){
  116. wait(60);
  117. Obj_SetSpeed(obj,1);
  118. wait(30);
  119. Obj_SetSpeed(obj,1);
  120. Obj_SetAngle(obj,dir-rand(-20,20));
  121. wait(600);
  122. yield;}
  123. }
  124.  
  125.  
  126. function wait(w){loop(w){yield;}
  127. ]
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement