Advertisement
Guest User

ns

a guest
Jul 24th, 2013
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.03 KB | None | 0 0
  1. #TouhouDanmakufu[Single]
  2. #Title[Non-Spell]
  3. #Text[An attempt at making a non-spell]
  4. #Player[REIMU]
  5. #ScriptVersion[2]
  6. #PlayLevel[Normal]
  7.  
  8. script_enemy_main{
  9. let D = GetCurrentScriptDirectory;
  10. let imgBoss = D ~ "system\chen.png";
  11. let s1 = D ~ "sfx\Shot.wav";
  12. let s2 = D ~ "sfx\Shot 2.wav";
  13. let bg = D ~ "system\bg 3.png";
  14.  
  15. let slide = 0;
  16. let slide2 = 0;
  17.  
  18. @Initialize{
  19. SetLife(2500);
  20. SetTimer(25);
  21. LoadGraphic(imgBoss);
  22. LoadGraphic(bg);
  23. SetEnemyMarker(true);
  24. LoadSE(s1);
  25. LoadSE(s2);
  26. move;
  27. fire;
  28. fireb;
  29. firec;
  30. fired;
  31. firee;
  32. firef;
  33. }
  34. @MainLoop{
  35. SetCollisionA(GetX,GetY,32);
  36. SetCollisionB(GetX,GetY,16);
  37. yield;
  38. }
  39.  
  40. @DrawLoop{
  41. SetTexture(imgBoss);
  42. SetRenderState(ALPHA);
  43. SetAlpha(255);
  44. SetGraphicRect(0,0,51,69);
  45. SetGraphicScale(1,1);
  46. SetGraphicAngle(0,0,0);
  47. DrawGraphic(GetX,GetY);
  48. }
  49.  
  50. @BackGround{
  51.  
  52. SetTexture(bg);
  53.  
  54. SetRenderState(ALPHA);
  55.  
  56. SetAlpha(255);
  57.  
  58. SetGraphicRect(0,0,20000,20000);
  59.  
  60. SetGraphicScale(1,1);
  61.  
  62. SetGraphicAngle(0,0,0);
  63.  
  64. DrawGraphic(GetCenterX-slide2,GetCenterY+slide);
  65. slide+=2;
  66. slide2-=1;
  67. }
  68.  
  69.  
  70.  
  71. @Finalize{
  72. DeleteSE(s1);
  73. DeleteSE(s2);
  74. DeleteGraphic(imgBoss);
  75. }
  76.  
  77. task move{
  78. loop{
  79. SetMovePosition01(GetCenterX-rand(50,-50),GetCenterY-rand(80,100),5);
  80. wait(50);}
  81. }
  82.  
  83. task fire{
  84. wait(90);
  85. loop{
  86. loop(3){
  87. let angle = GetAngleToPlayer-55;
  88. CreateShot01(GetX, GetY, 3, angle, BLUE01, 0);
  89. CreateShot01(GetX, GetY, 3, angle+30, BLUE01, 0);
  90. CreateShot01(GetX, GetY, 3, angle-30, BLUE01, 0);
  91. CreateShot01(GetX, GetY, 3, angle+15, BLUE01, 0);
  92. CreateShot01(GetX, GetY, 3, angle-15,BLUE01, 0);
  93. CreateShot01(GetX, GetY, 3.5, angle+22.5, BLUE01, 0);
  94. CreateShot01(GetX, GetY, 3.5, angle-22.5, BLUE01, 0);
  95. CreateShot01(GetX, GetY, 3.5, angle+7.5, BLUE01, 0);
  96. CreateShot01(GetX, GetY, 3.5, angle-7.5, BLUE01, 0);
  97. CreateShot01(GetX, GetY, 4, angle-15, BLUE01, 0);
  98. CreateShot01(GetX, GetY, 4, angle+15, BLUE01, 0);
  99. CreateShot01(GetX, GetY, 4, angle, BLUE01, 0);
  100. CreateShot01(GetX, GetY, 4.5, angle+7.5, BLUE01, 0);
  101. CreateShot01(GetX, GetY, 4.5, angle-7.5, BLUE01, 0);
  102. CreateShot01(GetX, GetY, 5, angle, BLUE01, 0);
  103. PlaySE(s1);
  104. wait(60);}
  105. wait(180);}
  106. }
  107.  
  108. task fireb{
  109. wait(90);
  110. loop{
  111. loop(3){
  112. let angle = GetAngleToPlayer+55;
  113. CreateShot01(GetX, GetY, 3, angle, BLUE01, 0);
  114. CreateShot01(GetX, GetY, 3, angle+30, BLUE01, 0);
  115. CreateShot01(GetX, GetY, 3, angle-30, BLUE01, 0);
  116. CreateShot01(GetX, GetY, 3, angle+15, BLUE01, 0);
  117. CreateShot01(GetX, GetY, 3, angle-15,BLUE01, 0);
  118. CreateShot01(GetX, GetY, 3.5, angle+22.5, BLUE01, 0);
  119. CreateShot01(GetX, GetY, 3.5, angle-22.5, BLUE01, 0);
  120. CreateShot01(GetX, GetY, 3.5, angle+7.5, BLUE01, 0);
  121. CreateShot01(GetX, GetY, 3.5, angle-7.5, BLUE01, 0);
  122. CreateShot01(GetX, GetY, 4, angle-15, BLUE01, 0);
  123. CreateShot01(GetX, GetY, 4, angle+15, BLUE01, 0);
  124. CreateShot01(GetX, GetY, 4, angle, BLUE01, 0);
  125. CreateShot01(GetX, GetY, 4.5, angle+7.5, BLUE01, 0);
  126. CreateShot01(GetX, GetY, 4.5, angle-7.5, BLUE01, 0);
  127. CreateShot01(GetX, GetY, 5, angle, BLUE01, 0);
  128. wait(60);}
  129. wait(180);}
  130. }
  131.  
  132. task firec{
  133. wait(60);
  134. loop{
  135. loop(3){
  136. let angle = GetAngleToPlayer;
  137. CreateShot01(GetX, GetY, 2.7, angle, RED01, 0);
  138. CreateShot01(GetX, GetY, 2.7, angle+30, RED01, 0);
  139. CreateShot01(GetX, GetY, 2.7, angle-30, RED01, 0);
  140. CreateShot01(GetX, GetY, 2.7, angle+15, RED01, 0);
  141. CreateShot01(GetX, GetY, 2.7, angle-15, RED01, 0);
  142. CreateShot01(GetX, GetY, 3.1, angle+22.5, RED01, 0);
  143. CreateShot01(GetX, GetY, 3.1, angle-22.5, RED01, 0);
  144. CreateShot01(GetX, GetY, 3.1, angle+7.5, RED01, 0);
  145. CreateShot01(GetX, GetY, 3.1, angle-7.5, RED01, 0);
  146. CreateShot01(GetX, GetY, 3.5, angle-15, RED01, 0);
  147. CreateShot01(GetX, GetY, 3.5, angle+15, RED01, 0);
  148. CreateShot01(GetX, GetY, 3.5, angle, RED01, 0);
  149. CreateShot01(GetX, GetY, 3.9, angle+7.5, RED01, 0);
  150. CreateShot01(GetX, GetY, 3.9, angle-7.5, RED01, 0);
  151. CreateShot01(GetX, GetY, 4.3, angle, RED01, 0);
  152. PlaySE(s1);
  153. wait(60);}
  154. wait(180);}
  155. }
  156.  
  157. task fired{
  158. wait(60);
  159. loop{
  160. loop(3){
  161. let angle = GetAngleToPlayer-110;
  162. CreateShot01(GetX, GetY, 2.7, angle, RED01, 0);
  163. CreateShot01(GetX, GetY, 2.7, angle+30, RED01, 0);
  164. CreateShot01(GetX, GetY, 2.7, angle-30, RED01, 0);
  165. CreateShot01(GetX, GetY, 2.7, angle+15, RED01, 0);
  166. CreateShot01(GetX, GetY, 2.7, angle-15, RED01, 0);
  167. CreateShot01(GetX, GetY, 3.1, angle+22.5, RED01, 0);
  168. CreateShot01(GetX, GetY, 3.1, angle-22.5, RED01, 0);
  169. CreateShot01(GetX, GetY, 3.1, angle+7.5, RED01, 0);
  170. CreateShot01(GetX, GetY, 3.1, angle-7.5, RED01, 0);
  171. CreateShot01(GetX, GetY, 3.5, angle-15, RED01, 0);
  172. CreateShot01(GetX, GetY, 3.5, angle+15, RED01, 0);
  173. CreateShot01(GetX, GetY, 3.5, angle, RED01, 0);
  174. CreateShot01(GetX, GetY, 3.9, angle+7.5, RED01, 0);
  175. CreateShot01(GetX, GetY, 3.9, angle-7.5, RED01, 0);
  176. CreateShot01(GetX, GetY, 4.3, angle, RED01, 0);
  177. wait(60);}
  178. wait(180);}
  179. }
  180.  
  181. task firee{
  182. wait(60);
  183. loop{
  184. loop(3){
  185. let angle = GetAngleToPlayer+110;
  186. CreateShot01(GetX, GetY, 2.7, angle, RED01, 0);
  187. CreateShot01(GetX, GetY, 2.7, angle+30, RED01, 0);
  188. CreateShot01(GetX, GetY, 2.7, angle-30, RED01, 0);
  189. CreateShot01(GetX, GetY, 2.7, angle+15, RED01, 0);
  190. CreateShot01(GetX, GetY, 2.7, angle-15, RED01, 0);
  191. CreateShot01(GetX, GetY, 3.1, angle+22.5, RED01, 0);
  192. CreateShot01(GetX, GetY, 3.1, angle-22.5, RED01, 0);
  193. CreateShot01(GetX, GetY, 3.1, angle+7.5, RED01, 0);
  194. CreateShot01(GetX, GetY, 3.1, angle-7.5, RED01, 0);
  195. CreateShot01(GetX, GetY, 3.5, angle-15, RED01, 0);
  196. CreateShot01(GetX, GetY, 3.5, angle+15, RED01, 0);
  197. CreateShot01(GetX, GetY, 3.5, angle, RED01, 0);
  198. CreateShot01(GetX, GetY, 3.9, angle+7.5, RED01, 0);
  199. CreateShot01(GetX, GetY, 3.9, angle-7.5, RED01, 0);
  200. CreateShot01(GetX, GetY, 4.3, angle, RED01, 0);
  201. wait(60);}
  202. wait(180);}
  203. }
  204.  
  205. task firef{
  206. wait(90);
  207. loop{
  208. wait(140);
  209. let dir=0;
  210. loop(32){bullet(GetX, GetY, 2, dir-20, RED21, 30); dir+=11.25;}
  211. loop(32){bullet2(GetX, GetY, 2, dir-20, RED21, 30); dir+=11.25;}
  212. loop(32){bullet3(GetX, GetY, 2, dir+20, RED21, 30); dir+=11.25;}
  213. loop(32){bullet4(GetX, GetY, 2, dir-20, RED21, 30); dir+=11.25;}
  214. loop(32){bullet5(GetX, GetY, 2, dir+20, RED21, 30); dir+=11.25;}
  215. PlaySE(s2);
  216. wait(40);
  217. }
  218. }
  219.  
  220. task bullet(x,y,v,dir,graphic,delay){
  221. let obj=Obj_Create(OBJ_SHOT);
  222. Obj_SetPosition(obj,x,y);
  223. Obj_SetSpeed(obj,v);
  224. Obj_SetAngle(obj,dir);
  225. ObjShot_SetGraphic(obj,graphic);
  226. ObjShot_SetDelay(obj,delay);
  227. ObjShot_SetBombResist(obj, true);
  228. while(!Obj_BeDeleted(obj)){
  229. wait(50);
  230. Obj_SetSpeed(obj,2);
  231. wait(7);
  232. Obj_SetSpeed(obj,1);
  233. wait(7);
  234. Obj_SetSpeed(obj,0.3);
  235. wait(7);
  236. loop(44){Obj_SetAngle(obj,dir-4); dir-=4; wait(1);}
  237. wait(20);
  238. Obj_SetSpeed(obj,1);
  239. wait(10);
  240. Obj_SetSpeed(obj,2);
  241. wait(28000);
  242. yield;}
  243. }
  244. task bullet2(x,y,v,dir,graphic,delay){
  245. let obj=Obj_Create(OBJ_SHOT);
  246. Obj_SetPosition(obj,x,y);
  247. Obj_SetSpeed(obj,v);
  248. Obj_SetAngle(obj,dir);
  249. ObjShot_SetGraphic(obj,graphic);
  250. ObjShot_SetDelay(obj,delay);
  251. ObjShot_SetBombResist(obj, true);
  252. while(!Obj_BeDeleted(obj)){
  253. wait(65);
  254. Obj_SetSpeed(obj,2);
  255. wait(7);
  256. Obj_SetSpeed(obj,1);
  257. wait(7);
  258. Obj_SetSpeed(obj,0.3);
  259. wait(7);
  260. loop(44){Obj_SetAngle(obj,dir-3); dir+=rand(3,4); wait(1);}
  261. wait(20);
  262. Obj_SetSpeed(obj,1);
  263. wait(10);
  264. Obj_SetSpeed(obj,2);
  265. wait(28000);
  266. yield;}
  267. }
  268. task bullet3(x,y,v,dir,graphic,delay){
  269. let obj=Obj_Create(OBJ_SHOT);
  270. Obj_SetPosition(obj,x,y);
  271. Obj_SetSpeed(obj,v);
  272. Obj_SetAngle(obj,dir);
  273. ObjShot_SetGraphic(obj,graphic);
  274. ObjShot_SetDelay(obj,delay);
  275. ObjShot_SetBombResist(obj, true);
  276. while(!Obj_BeDeleted(obj)){
  277. wait(75);
  278. Obj_SetSpeed(obj,2);
  279. wait(7);
  280. Obj_SetSpeed(obj,1);
  281. wait(7);
  282. Obj_SetSpeed(obj,0.3);
  283. wait(7);
  284. loop(44){Obj_SetAngle(obj,dir+4); dir-=4; wait(1);}
  285. wait(20);
  286. Obj_SetSpeed(obj,1);
  287. wait(10);
  288. Obj_SetSpeed(obj,2);
  289. wait(28000);
  290. yield;}
  291. }
  292. task bullet4(x,y,v,dir,graphic,delay){
  293.  
  294. let obj=Obj_Create(OBJ_SHOT);
  295. Obj_SetPosition(obj,x,y);
  296. Obj_SetSpeed(obj,v);
  297. Obj_SetAngle(obj,dir);
  298. ObjShot_SetGraphic(obj,graphic);
  299. ObjShot_SetDelay(obj,delay);
  300. ObjShot_SetBombResist(obj, true);
  301. while(!Obj_BeDeleted(obj)){
  302. wait(88);
  303. Obj_SetSpeed(obj,2);
  304. wait(7);
  305. Obj_SetSpeed(obj,1);
  306. wait(7);
  307. Obj_SetSpeed(obj,0.3);
  308. wait(7);
  309. loop(44){Obj_SetAngle(obj,dir+4); dir+=4; wait(1);}
  310. wait(20);
  311. Obj_SetSpeed(obj,1);
  312. wait(10);
  313. Obj_SetSpeed(obj,2.3);
  314. wait(28000);
  315. yield;}
  316. }
  317. task bullet5(x,y,v,dir,graphic,delay){
  318. let obj=Obj_Create(OBJ_SHOT);
  319. Obj_SetPosition(obj,x,y);
  320. Obj_SetSpeed(obj,v);
  321. Obj_SetAngle(obj,dir);
  322. ObjShot_SetGraphic(obj,graphic);
  323. ObjShot_SetDelay(obj,delay);
  324. ObjShot_SetBombResist(obj, true);
  325. while(!Obj_BeDeleted(obj)){
  326. wait(98);
  327. Obj_SetSpeed(obj,2);
  328. wait(7);
  329. Obj_SetSpeed(obj,1);
  330. wait(7);
  331. Obj_SetSpeed(obj,0.3);
  332. wait(7);
  333. loop(44){Obj_SetAngle(obj,dir+4); dir+=3; wait(1);}
  334. wait(20);
  335. Obj_SetSpeed(obj,1);
  336. wait(10);
  337. Obj_SetSpeed(obj,2.3);
  338. wait(28000);
  339. yield;}
  340. }
  341. function wait(w){loop(w){yield;}}
  342. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement