Advertisement
Guest User

stage

a guest
Jul 24th, 2013
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.45 KB | None | 0 0
  1. #TouhouDanmakufu[Stage]
  2. #Title[Stage 1]
  3. #Text[Stage 1]
  4. #Player[.\..\Futo\FUTOA.txt]
  5. #PlayLevel[Normal]
  6. #ScriptVersion[2]
  7.  
  8. script_stage_main{
  9. let D = GetCurrentScriptDirectory;
  10. let bgm = D ~ "bgm\BGM 2.wav";
  11. let bgm2 = D ~ "bgm\BGM 3.wav";
  12. let stage1 = D ~ "system\stage1.png";
  13. let ext = D ~ "sfx\Extend.wav";
  14. let bg = D ~ "system\bg.png";
  15.  
  16. function Wait(let frames){loop(frames){yield;}}
  17. function WaitForZeroEnemy{while(GetEnemyNum != 0){yield;}}
  18. task effectobj{
  19.  
  20. Wait(30);
  21. let obj=Obj_Create(OBJ_EFFECT);
  22.  
  23.  
  24.  
  25. let counter = 0;
  26.  
  27.  
  28. ObjEffect_SetRenderState(obj, ALPHA);
  29.  
  30. ObjEffect_SetTexture(obj, stage1);
  31.  
  32.  
  33. Obj_SetPosition(obj, GetCenterX, GetCenterY-60);
  34.  
  35.  
  36. ObjEffect_SetScale(obj, 2, 2);
  37.  
  38. ObjEffect_SetLayer(obj, 5);
  39.  
  40.  
  41. ObjEffect_SetPrimitiveType(obj, PRIMITIVE_TRIANGLESTRIP);
  42.  
  43. ObjEffect_CreateVertex(obj, 4);
  44.  
  45.  
  46. ObjEffect_SetVertexXY(obj, 0, -45, -44);
  47.  
  48. ObjEffect_SetVertexXY(obj, 1, 45, -44);
  49.  
  50. ObjEffect_SetVertexXY(obj, 2, -45, 44);
  51.  
  52. ObjEffect_SetVertexXY(obj, 3, 45, 44);
  53.  
  54.  
  55. ObjEffect_SetVertexUV(obj, 0, 0, 0);
  56.  
  57. ObjEffect_SetVertexUV(obj, 1, 90, 0);
  58.  
  59. ObjEffect_SetVertexUV(obj, 2, 0, 88);
  60.  
  61. ObjEffect_SetVertexUV(obj, 3, 90, 88);
  62.  
  63.  
  64. while(!Obj_BeDeleted(obj)) {
  65.  
  66. if(counter==120){Obj_Delete(obj);}
  67.  
  68. counter++;
  69.  
  70. yield;
  71.  
  72. }
  73.  
  74. }
  75.  
  76. task extendstate{
  77. let extendlist = [50, 100, 250, 500, 800, 1100, 1500, 2000];
  78. let indexq = 0;
  79. while(indexq<8){
  80. if(GetPoint > extendlist[indexq]){
  81. ExtendPlayer(1);
  82. PlaySE(ext);
  83. indexq++;
  84. }
  85. yield;
  86. }
  87. }
  88.  
  89. task stage{
  90. PlayMusic(bgm);
  91. Wait(180);
  92. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-120, GetCenterY-240, 1.5, 90, 0);
  93. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+120, GetCenterY-240, 1.5, 90, 0);
  94. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-190, GetCenterY-240, 2.5, 45, 0);
  95. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+190, GetCenterY-240, 2.5, 135, 0);
  96. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-80, GetCenterY-240, 3, 90, 0);
  97. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+80, GetCenterY-240, 3, 90, 0);
  98. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX, GetCenterY-240, 2.5, 90, 0);
  99. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-95, GetCenterY-240, 1.5, 45, 0);
  100. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+95, GetCenterY-240, 1.5, 135, 0);
  101. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-190, GetCenterY-50, 2.5, 45, 0);
  102. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+190, GetCenterY-50, 2.5, 135, 0);
  103. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-190, GetCenterY-90, 2.5, 60, 0);
  104. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+190, GetCenterY-90, 2.5, 120, 0);
  105. Wait(60);
  106. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-120, GetCenterY-240, 1.8, 90, 0);
  107. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+120, GetCenterY-240, 1.8, 90, 0);
  108. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-190, GetCenterY-240, 2, 45, 0);
  109. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+190, GetCenterY-240, 2, 135, 0);
  110. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-60, GetCenterY-240, 1.8, 90, 0);
  111. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+60, GetCenterY-240, 1.8, 90, 0);
  112. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-95, GetCenterY-240, 2, 45, 0);
  113. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+95, GetCenterY-240, 2, 135, 0);
  114. Wait(180);
  115. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+200, GetCenterY-120, 2, 180, 0);
  116. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-200, GetCenterY-120, 2, 0, 0);
  117. Wait(90);
  118. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+200, GetCenterY-60, 2, 180, 0);
  119. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-200, GetCenterY-60, 2, 0, 0);
  120. Wait(90);
  121. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-200, GetCenterY-120, 2, 180, 0);
  122. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+200, GetCenterY-120, 2, 0, 0);
  123. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+100, GetCenterY-240, 2, 90, 0);
  124. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-100, GetCenterY-240, 2, 90, 0);
  125. Wait(90);
  126. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX-220, GetCenterY-112, 1.6, 0, 0);
  127. Wait(35);
  128. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX-220, GetCenterY-112, 1.6, 0, 0);
  129. Wait(35);
  130. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX-220, GetCenterY-112, 1.6, 0, 0);
  131. Wait(35);
  132. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX-220, GetCenterY-112, 1.6, 0, 0);
  133. Wait(35);
  134. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+120, GetCenterY-240, 2, 310, 0);
  135. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-200, GetCenterY-100, 2, 210, 0);
  136. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-190, GetCenterY-240, 2, 79, 0);
  137. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+190, GetCenterY-240, 2, 35, 0);
  138. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX-220, GetCenterY-112, 1.6, 0, 0);
  139. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX+220, GetCenterY-62, 1.6, 180, 0);
  140. Wait(35);
  141. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX+220, GetCenterY-62, 1.6, 180, 0);
  142. Wait(35);
  143. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX+220, GetCenterY-62, 1.6, 180, 0);
  144. Wait(35);
  145. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX+220, GetCenterY-62, 1.6, 180, 0);
  146. Wait(35);
  147. Wait(35);
  148. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A10.txt", 0, 0, 0, 0, 0);
  149. Wait(35);
  150. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A11.txt", GetCenterX, GetCenterY-240, 1, 90, 0);
  151. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A11b.txt", GetCenterX, GetCenterY-240, 1, 90, 0);
  152. Wait(35);
  153. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A11.txt", GetCenterX, GetCenterY-240, 1, 90, 0);
  154. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A11b.txt", GetCenterX, GetCenterY-240, 1, 90, 0);
  155. Wait(35);
  156. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A11.txt", GetCenterX, GetCenterY-240, 1, 90, 0);
  157. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A11b.txt", GetCenterX, GetCenterY-240, 1, 90, 0);
  158. Wait(35);
  159. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A11.txt", GetCenterX, GetCenterY-240,1, 90, 0);
  160. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A11b.txt", GetCenterX, GetCenterY-240, 1, 90, 0);
  161. Wait(35);
  162. Wait(270);
  163.  
  164. //MIDBOSS
  165.  
  166. CreateEnemyBossFromFile(GetCurrentScriptDirectory~"Stage 1 Mid-Boss Non-Spell 1.txt", 0, 0, 0, 0, 0);
  167. WaitForZeroEnemy;
  168. Wait(90);
  169. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX-120, GetCenterY-240, 2, 90, 0);
  170. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A6.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
  171. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX+120, GetCenterY-240, 2, 90, 0);
  172. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A6.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
  173. Wait(160);
  174. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX-120, GetCenterY-240, 2, 90, 0);
  175. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A7.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
  176. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX+120, GetCenterY-240, 2, 90, 0);
  177. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A7.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
  178. Wait(160);
  179. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX-120, GetCenterY-240, 2, 90, 0);
  180. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A6.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
  181. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A7.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
  182. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX+120, GetCenterY-240, 2, 90, 0);
  183. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A6.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
  184. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A7.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
  185. Wait(200);
  186. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A9.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
  187. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A9b.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
  188. Wait(330);
  189. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A9.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
  190. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A9b.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
  191. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX-120, GetCenterY-240, 2, 90, 0);
  192. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A6.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
  193. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX+120, GetCenterY-240, 2, 90, 0);
  194. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A6.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
  195. Wait(330);
  196. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
  197. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX-200, GetCenterY-100, 2, 90, 0);
  198. Wait(90);
  199. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX-120, GetCenterY-240, 1.6, 90, 0);
  200. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX+120, GetCenterY-240, 1.6, 90, 0);
  201. Wait(90);
  202. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX-120, GetCenterY-240, 1.6, 90, 0);
  203. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX+120, GetCenterY-240, 1.6, 90, 0);
  204. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
  205. CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX-200, GetCenterY-100, 2, 90, 0);
  206. Wait(60);
  207. Wait(360);
  208. CollectItems;
  209. FadeOutMusic(bgm,30);
  210. Wait(120);
  211. PlayMusic(bgm2);
  212. Wait(40);
  213. CreateEnemyBossFromFile(GetCurrentScriptDirectory~"Stage 1 Boss.txt", 0, 0, 0, 0, 0);
  214. WaitForZeroEnemy;
  215. CollectItems;
  216. Wait(360);
  217. FadeOutMusic(bgm2,10);
  218. Clear;
  219. }
  220. @Initialize{
  221. //ExpertEx(false, 3, 3);
  222. LoadMusic(bgm);
  223. LoadMusic(bgm2);
  224. LoadGraphic(stage1);
  225. LoadSE(ext);
  226. LoadGraphic(bg);
  227. SetNormPoint(50);
  228. effectobj;
  229. extendstate;
  230. stage;
  231. }
  232. @MainLoop{yield;}
  233. @Background{
  234. SetTexture(bg);
  235. SetRenderState(ALPHA);
  236. SetAlpha(255);
  237. SetGraphicRect(0,0,257,257);
  238. SetGraphicScale(1,1);
  239. SetGraphicAngle(0,0,0);
  240. DrawGraphic(GetCenterX,GetCenterY);
  241. }
  242. @Finalize{
  243. DeleteGraphic(stage1);
  244. DeleteMusic(bgm);
  245. DeleteMusic(bgm2);
  246. DeleteSE(ext);
  247. DeleteGraphic(bg);
  248. }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement