Advertisement
Guest User

i'm totally good at programming

a guest
Apr 14th, 2016
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.66 KB | None | 0 0
  1. let dirCurrent = GetCurrentScriptDirectory();
  2.  
  3. @Initialize
  4. {
  5. InitFrame();
  6. TScore();
  7. TGraze();
  8. TPlayerLife();
  9. TPlayerSpell();
  10. TBossLife();
  11. TBossTimer();
  12. TCurrentFps();
  13. TReplayFps();
  14. TBulletCount();
  15. FPSDrop;
  16. SetStgFrame(32, 16, 480, 464, 20, 80);
  17. // SetStgFrame(32, 16, 416, 464, 20, 80);
  18.  
  19. SetPauseScriptPath(dirCurrent~"./Awalys_Pause.txt");
  20. SetEndSceneScriptPath(dirCurrent~"./Awalys_EndScene.txt");
  21. SetReplaySaveSceneScriptPath(dirCurrent~"./Awalys_ReplaySaveScene.txt");
  22. }
  23.  
  24. @MainLoop
  25. {
  26. yield;
  27. }
  28.  
  29. @Event
  30. {
  31. alternative(GetEventType())
  32. case(EV_START_BOSS_SPELL)
  33. {
  34. let path = dirCurrent ~ "Default_System_MagicCircle.txt";
  35. let id = LoadScript(path);
  36. StartScript(id);
  37. }
  38. case(EV_GAIN_SPELL)
  39. {
  40. let objScene = GetEnemyBossSceneObjectID();
  41. let score = ObjEnemyBossScene_GetInfo(objScene, INFO_SPELL_SCORE);
  42. TGainSpell(score);
  43. }
  44. }
  45.  
  46. //----------------------------------------------------
  47. //枠外の背景表示
  48. //----------------------------------------------------
  49. function InitFrame()
  50. {
  51. let path = GetCurrentScriptDirectory() ~ "./img/Default_SystemBackground.png";
  52. let obj = ObjPrim_Create(OBJ_SPRITE_2D);
  53. ObjPrim_SetTexture(obj, path);
  54. Obj_SetRenderPriority(obj, 0);
  55. ObjSprite2D_SetSourceRect(obj, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
  56. ObjSprite2D_SetDestRect(obj, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
  57. }
  58.  
  59. //----------------------------------------------------
  60. //スコア表示
  61. //----------------------------------------------------
  62. task TScore()
  63. {
  64. //Score文字列
  65. let objScore = ObjText_Create();
  66. ObjText_SetText(objScore, "Score");
  67. ObjText_SetFontType(objScore, "Russell Square Regular");
  68. ObjText_SetFontSize(objScore, 20);
  69. ObjText_SetFontBold(objScore, true);
  70. ObjText_SetFontColorTop(objScore, 255, 255, 255);
  71. ObjText_SetFontColorBottom(objScore, 255, 255, 255);
  72. ObjText_SetFontBorderType(objScore, BORDER_FULL);
  73. ObjText_SetFontBorderColor(objScore,128, 0, 0);
  74. ObjText_SetFontBorderWidth(objScore, 2);
  75. Obj_SetRenderPriority(objScore, 0.01);
  76. ObjRender_SetX(objScore, 528);
  77. ObjRender_SetY(objScore, 48);
  78.  
  79. let objNum = ObjText_Create();
  80. ObjText_SetText(objNum, "000000000000");
  81. ObjText_SetFontSize(objNum, 16);
  82. ObjText_SetFontType(objNum, "Russell Square Regular");
  83. ObjText_SetFontBold(objNum, true);
  84. ObjText_SetFontColorTop(objNum, 255, 255, 255);
  85. ObjText_SetFontColorBottom(objNum, 255, 255, 255);
  86. ObjText_SetFontBorderType(objNum, BORDER_FULL);
  87. ObjText_SetFontBorderColor(objNum, 0, 0, 0);
  88. ObjText_SetFontBorderWidth(objNum, 2);
  89. Obj_SetRenderPriority(objNum, 0.1);
  90. ObjRender_SetX(objNum, 489);
  91. ObjRender_SetY(objNum, 72);
  92. while(true){
  93. let score = GetScore();
  94. score = min(score, 999999999999);
  95. ObjText_SetText(objNum, rtos("000000000000", score));
  96. yield;
  97. }
  98. }
  99.  
  100. //----------------------------------------------------
  101. //Graze表示
  102. //----------------------------------------------------
  103. task TGraze()
  104. {
  105. //Graze文字列
  106. let objGraze = ObjText_Create();
  107. ObjText_SetText(objGraze, "Graze");
  108. ObjText_SetFontType(objGraze, "Russell Square Regular");
  109. ObjText_SetFontSize(objGraze, 20);
  110. ObjText_SetFontBold(objGraze, true);
  111. ObjText_SetFontColorTop(objGraze, 255, 255, 255);
  112. ObjText_SetFontColorBottom(objGraze, 255, 255, 255);
  113. ObjText_SetFontBorderType(objGraze, BORDER_FULL);
  114. ObjText_SetFontBorderColor(objGraze,128, 0, 0);
  115. ObjText_SetFontBorderWidth(objGraze, 2);
  116. Obj_SetRenderPriority(objGraze, 0.01);
  117. ObjRender_SetX(objGraze, 528);
  118. ObjRender_SetY(objGraze, 98);
  119.  
  120. let objNum = ObjText_Create();
  121. ObjText_SetText(objNum, "000000");
  122. ObjText_SetFontSize(objNum, 16);
  123. ObjText_SetFontType(objNum, "Russell Square Regular");
  124. ObjText_SetFontBold(objNum, true);
  125. ObjText_SetFontColorTop(objNum, 255, 255, 255);
  126. ObjText_SetFontColorBottom(objNum, 255, 255, 255);
  127. ObjText_SetFontBorderType(objNum, BORDER_FULL);
  128. ObjText_SetFontBorderColor(objNum, 0, 0, 0);
  129. ObjText_SetFontBorderWidth(objNum, 2);
  130. Obj_SetRenderPriority(objNum, 0.1);
  131. ObjRender_SetX(objNum, 525);
  132. ObjRender_SetY(objNum, 122);
  133. while(true){
  134. let score = GetGraze();
  135. score = min(score, 999999);
  136. ObjText_SetText(objNum, rtos("000000", score));
  137. yield;
  138. }
  139. }
  140.  
  141. //----------------------------------------------------
  142. //残機表示
  143. //----------------------------------------------------
  144. task TPlayerLife
  145. {
  146. //life文字列
  147. let objText = ObjText_Create();
  148. ObjText_SetText(objText, "Player");
  149. ObjText_SetFontType(objText, "Russell Square Regular");
  150. ObjText_SetFontSize(objText, 20);
  151. ObjText_SetFontBold(objText, true);
  152. ObjText_SetFontColorTop(objText, 255, 255, 255);
  153. ObjText_SetFontColorBottom(objText, 255, 255, 255);
  154. ObjText_SetFontBorderType(objText, BORDER_FULL);
  155. ObjText_SetFontBorderColor(objText,128, 0, 0);
  156. ObjText_SetFontBorderWidth(objText, 2);
  157. Obj_SetRenderPriority(objText, 0.01);
  158. ObjRender_SetX(objText, 526);
  159. ObjRender_SetY(objText, 150);
  160.  
  161. let objNum = ObjText_Create();
  162. ObjText_SetText(objNum, "00");
  163. ObjText_SetFontSize(objNum, 16);
  164. ObjText_SetFontType(objNum, "Russell Square Regular");
  165. ObjText_SetFontBold(objNum, true);
  166. ObjText_SetFontColorTop(objNum, 255, 255, 255);
  167. ObjText_SetFontColorBottom(objNum, 255, 255, 255);
  168. ObjText_SetFontBorderType(objNum, BORDER_FULL);
  169. ObjText_SetFontBorderColor(objNum, 0, 0, 0);
  170. ObjText_SetFontBorderWidth(objNum, 2);
  171. Obj_SetRenderPriority(objNum, 0.1);
  172. ObjRender_SetX(objNum, 545);
  173. ObjRender_SetY(objNum, 175);
  174. while(true){
  175. let score = GetPlayerLife();
  176. score = min(score, 99);
  177. score = max(score, 0);
  178. ObjText_SetText(objNum, rtos("00", score));
  179. yield;
  180. }
  181. }
  182.  
  183. //----------------------------------------------------
  184. //残スペル表示
  185. //----------------------------------------------------
  186. task TPlayerSpell
  187. {
  188. //Spell文字列
  189. let objText = ObjText_Create();
  190. ObjText_SetText(objText, "Spell");
  191. ObjText_SetFontType(objText, "Russell Square Regular");
  192. ObjText_SetFontSize(objText, 20);
  193. ObjText_SetFontBold(objText, true);
  194. ObjText_SetFontColorTop(objText, 255, 255, 255);
  195. ObjText_SetFontColorBottom(objText, 255, 255, 255);
  196. ObjText_SetFontBorderType(objText, BORDER_FULL);
  197. ObjText_SetFontBorderColor(objText,128, 0, 0);
  198. ObjText_SetFontBorderWidth(objText, 2);
  199. Obj_SetRenderPriority(objText, 0.01);
  200. ObjRender_SetX(objText, 530);
  201. ObjRender_SetY(objText, 202);
  202.  
  203. let objNum = ObjText_Create();
  204. ObjText_SetText(objNum, "00");
  205. ObjText_SetFontSize(objNum, 16);
  206. ObjText_SetFontType(objNum, "Russell Square Regular");
  207. ObjText_SetFontBold(objNum, true);
  208. ObjText_SetFontColorTop(objNum, 255, 255, 255);
  209. ObjText_SetFontColorBottom(objNum, 255, 255, 255);
  210. ObjText_SetFontBorderType(objNum, BORDER_FULL);
  211. ObjText_SetFontBorderColor(objNum, 0, 0, 0);
  212. ObjText_SetFontBorderWidth(objNum, 2);
  213. Obj_SetRenderPriority(objNum, 0.1);
  214. ObjRender_SetX(objNum, 545);
  215. ObjRender_SetY(objNum, 225);
  216. while(true){
  217. let score = GetPlayerSpell();
  218. score = min(score, 99);
  219. score = max(score, 0);
  220. ObjText_SetText(objNum, rtos("00", score));
  221. yield;
  222. }
  223. }
  224.  
  225. //----------------------------------------------------
  226. //ボスのライフ表示
  227. //----------------------------------------------------
  228. task TBossLife
  229. {
  230. let path = GetCurrentScriptDirectory() ~ "img/Default_System 2.png";
  231. let obj = ObjPrim_Create(OBJ_SPRITE_LIST_2D);
  232. ObjPrim_SetTexture(obj, path);
  233. Obj_SetRenderPriority(obj, 0.7);
  234.  
  235. let lastRemStep = -1;
  236. let lifeRateRender = 0;
  237.  
  238. let objScene = ID_INVALID;
  239. loop
  240. {
  241. objScene = GetEnemyBossSceneObjectID();
  242. ObjSpriteList2D_ClearVertexCount(obj);
  243. if(objScene != ID_INVALID)
  244. {
  245. RenderLife();
  246. }
  247. yield;
  248. }
  249.  
  250.  
  251. function RenderLife()
  252. {
  253. //残りステップ
  254. let countRemStep = ObjEnemyBossScene_GetInfo(objScene, INFO_REMAIN_STEP_COUNT);
  255. if(lastRemStep != countRemStep)
  256. {
  257. //ステップが変化
  258. lifeRateRender = 0;
  259. }
  260.  
  261. //ライフ表示
  262. let lifeTotalMax = ObjEnemyBossScene_GetInfo(objScene, INFO_ACTIVE_STEP_TOTAL_MAX_LIFE);
  263. let lifeTotal = ObjEnemyBossScene_GetInfo(objScene, INFO_ACTIVE_STEP_TOTAL_LIFE);
  264. let lifeRate = min(lifeTotal / lifeTotalMax, lifeRateRender);
  265. ObjSpriteList2D_SetSourceRect(obj, 1, 1, 127, 11);
  266. ObjSpriteList2D_SetDestRect(obj, 72, 9, 72 + 310 * lifeRate, 16);
  267. ObjSpriteList2D_AddVertex(obj);
  268.  
  269. //ライフの区切り表示
  270. ObjSpriteList2D_SetSourceRect(obj, 132, 1, 137, 11);
  271. let listLifeDiv = [0] ~ ObjEnemyBossScene_GetInfo(objScene, INFO_ACTIVE_STEP_LIFE_RATE_LIST);
  272. ascent(iDiv in 0 .. length(listLifeDiv))
  273. {
  274. let rate = listLifeDiv[iDiv];
  275. let x = 72 + 310 * (1-rate);
  276. ObjSpriteList2D_SetDestRect(obj, x-2, 6, x + 1, 16);
  277. ObjSpriteList2D_AddVertex(obj);
  278. }
  279.  
  280. //残りステップ表示
  281. ObjSpriteList2D_SetSourceRect(obj, 1, 1, 127, 11);
  282. ascent(iStep in 0 .. countRemStep)
  283. {
  284. let remStepRate = 58 / countRemStep;
  285. ObjSpriteList2D_SetDestRect(obj, 4 + iStep * remStepRate + 2, 8,
  286. 4 + (iStep + 1) * remStepRate, 12);
  287. ObjSpriteList2D_AddVertex(obj);
  288. }
  289.  
  290. let obj2 = ObjPrim_Create(OBJ_SPRITE_2D);
  291. ObjPrim_SetTexture(obj2, path);
  292. ObjSprite2D_SetSourceRect(obj2, 148, 12, 256, 0);
  293. ObjSprite2D_SetDestRect(obj2, 1, 0, 310, 8);
  294. ObjRender_SetPosition(obj2,70,9,0);
  295. ObjRender_SetAlpha(obj2, 150);
  296. Obj_SetRenderPriority(obj2, 0.5);
  297. ObjRender_SetScaleXYZ(obj2, 1,1,0);
  298.  
  299. lifeRateRender += 0.01;
  300. lifeRateRender = min(lifeRateRender, 1);
  301. lastRemStep = countRemStep;
  302. }
  303. }
  304.  
  305. //----------------------------------------------------
  306. //タイマー表示
  307. //----------------------------------------------------
  308. task TBossTimer
  309. {
  310. let pathDigit = GetCurrentScriptDirectory() ~ "img/Default_SystemDigit.png";
  311.  
  312. let obj = ObjPrim_Create(OBJ_SPRITE_LIST_2D);
  313. ObjPrim_SetTexture(obj, pathDigit);
  314. ObjRender_SetBlendType(obj, BLEND_ADD_RGB);
  315. Obj_SetRenderPriority(obj, 0.75);
  316. ObjRender_SetY(obj, 0);
  317. let count = 2;
  318.  
  319. let objScene = ID_INVALID;
  320. loop
  321. {
  322. objScene = GetEnemyBossSceneObjectID();
  323. ObjSpriteList2D_ClearVertexCount(obj);
  324. if(objScene != ID_INVALID)
  325. {
  326. RenderTimer();
  327. }
  328. yield;
  329. }
  330.  
  331. function RenderTimer(){
  332. let objNum = ObjText_Create();
  333. ObjText_SetText(objNum, "00");
  334. ObjText_SetFontSize(objNum, 24);
  335. ObjText_SetFontType(objNum, "Russell Square Regular");
  336. ObjText_SetFontBold(objNum, true);
  337. ObjText_SetFontColorTop(objNum, 255, 255, 255);
  338. ObjText_SetFontColorBottom(objNum, 255, 255, 255);
  339. ObjText_SetFontBorderType(objNum, BORDER_FULL);
  340. ObjText_SetFontBorderColor(objNum, 0, 0, 0);
  341. ObjText_SetFontBorderWidth(objNum, 2);
  342. Obj_SetRenderPriority(objNum, 0.5);
  343. ObjRender_SetX(objNum, 395);
  344. ObjRender_SetY(objNum, 2);
  345. while(true){
  346. let score = ObjEnemyBossScene_GetInfo(objScene, INFO_TIMER);
  347. score = min(score, 999);
  348. ObjText_SetText(objNum, rtos("00", score));
  349. yield;
  350. }
  351. }
  352. }
  353.  
  354. //----------------------------------------------------
  355. //スペルカード取得表示
  356. //----------------------------------------------------
  357. task TGainSpell(score)
  358. {
  359. let objText = ObjText_Create();
  360. ObjText_SetText(objText, "Spell Captured!");
  361. ObjText_SetFontType(objText, "Russell Square Regular");
  362. ObjText_SetFontSize(objText, 32);
  363. ObjText_SetFontBold(objText, true);
  364. ObjText_SetFontColorTop(objText, 255, 255, 255);
  365. ObjText_SetFontColorBottom(objText, 64, 64, 64);
  366. ObjText_SetFontBorderType(objText, BORDER_FULL);
  367. ObjText_SetFontBorderColor(objText,255, 255, 255);
  368. ObjText_SetFontBorderWidth(objText, 1);
  369. Obj_SetRenderPriority(objText, 0.6);
  370. ObjRender_SetX(objText, 105);
  371. ObjRender_SetY(objText, 98);
  372.  
  373. if(!EV_GAIN_SPELL){
  374. ObjText_SetText(objText, "Bonus Failed...");
  375. }
  376.  
  377. let strScore = "+" ~ IntToString(score);
  378. let objScore = ObjText_Create();
  379. ObjText_SetText(objScore, strScore);
  380. ObjText_SetFontType(objScore, "Russell Square Regular");
  381. ObjText_SetFontSize(objScore, 32);
  382. ObjText_SetFontBold(objScore, true);
  383. ObjText_SetFontColorTop(objScore, 160, 0, 80);
  384. ObjText_SetFontColorBottom(objScore, 160, 0, 0);
  385. ObjText_SetFontBorderType(objScore, BORDER_FULL);
  386. ObjText_SetFontBorderColor(objScore,255, 255, 255);
  387. ObjText_SetFontBorderWidth(objScore, 1);
  388. Obj_SetRenderPriority(objScore, 0.6);
  389. ObjRender_SetX(objScore, 120);
  390. ObjRender_SetY(objScore, 140);
  391.  
  392. loop(120)
  393. {
  394. yield;
  395. }
  396. Obj_Delete(objText);
  397. Obj_Delete(objScore);
  398. }
  399.  
  400. //----------------------------------------------------
  401. //FPS表示
  402. //----------------------------------------------------
  403. task TCurrentFps()
  404. {
  405. let objText = ObjText_Create();
  406. ObjText_SetFontType(objText, "Russell Square Regular");
  407. ObjText_SetFontSize(objText, 14);
  408. ObjText_SetFontBold(objText, true);
  409. ObjText_SetFontColorTop(objText, 160, 0, 0);
  410. ObjText_SetFontColorBottom(objText, 64, 0, 0);
  411. ObjText_SetFontBorderType(objText, BORDER_FULL);
  412. ObjText_SetFontBorderColor(objText,255, 255, 255);
  413. ObjText_SetFontBorderWidth(objText, 2);
  414. ObjText_SetHorizontalAlignment(objText, ALIGNMENT_RIGHT);
  415. ObjText_SetMaxWidth(objText, GetScreenWidth() - 8);
  416. Obj_SetRenderPriority(objText, 1.0);
  417. ObjRender_SetX(objText, 0);
  418. ObjRender_SetY(objText, GetScreenHeight() - 20);
  419.  
  420. loop
  421. {
  422. let fps = GetCurrentFps();
  423. let text = vtos("1.2f", fps) ~ "fps";
  424. ObjText_SetText(objText, text);
  425. yield;
  426. }
  427. }
  428.  
  429. task TBulletCount()
  430. {
  431. let objText = ObjText_Create();
  432. ObjText_SetFontType(objText, "Russell Square Regular");
  433. ObjText_SetFontSize(objText, 12);
  434. ObjText_SetFontBold(objText, true);
  435. ObjText_SetFontColorTop(objText, 160, 0, 0);
  436. ObjText_SetFontColorBottom(objText, 64, 0, 0);
  437. ObjText_SetFontBorderType(objText, BORDER_FULL);
  438. ObjText_SetFontBorderColor(objText,255, 255, 255);
  439. ObjText_SetFontBorderWidth(objText, 2);
  440. ObjText_SetHorizontalAlignment(objText, ALIGNMENT_RIGHT);
  441. ObjText_SetMaxWidth(objText, GetScreenWidth() - 8);
  442. Obj_SetRenderPriority(objText, 1.0);
  443. ObjRender_SetX(objText, 0);
  444. ObjRender_SetY(objText, GetScreenHeight() - 40);
  445.  
  446. loop
  447. {
  448. let count = GetShotCount(TARGET_ENEMY);
  449. let text = IntToString(count);
  450. ObjText_SetText(objText, text);
  451. yield;
  452. }
  453. }
  454.  
  455. task TReplayFps()
  456. {
  457. if(!IsReplay()){return;}
  458.  
  459. let objText = ObjText_Create();
  460. ObjText_SetFontSize(objText, 12);
  461. ObjText_SetFontBold(objText, true);
  462. ObjText_SetFontColorTop(objText, 128, 128, 255);
  463. ObjText_SetFontColorBottom(objText, 64, 64, 255);
  464. ObjText_SetFontBorderType(objText, BORDER_FULL);
  465. ObjText_SetFontBorderColor(objText,255, 255, 255);
  466. ObjText_SetFontBorderWidth(objText, 1);
  467. Obj_SetRenderPriority(objText, 1.0);
  468.  
  469. let px = GetStgFrameLeft() + GetStgFrameWidth() - 18;
  470. let py = GetStgFrameTop() + GetScreenHeight() - 14;
  471. ObjRender_SetX(objText, px);
  472. ObjRender_SetY(objText, py);
  473.  
  474. loop
  475. {
  476. let fps = GetReplayFps();
  477. let text = vtos("02d", fps);
  478. ObjText_SetText(objText, text);
  479. yield;
  480. }
  481. }
  482.  
  483. task FPSDrop{
  484. let objText = ObjText_Create();
  485. ObjText_SetFontType(objText, "Russell Square Regular");
  486. ObjText_SetFontSize(objText, 12);
  487. ObjText_SetFontBold(objText, true);
  488. ObjText_SetFontColorTop(objText, 160, 0, 0);
  489. ObjText_SetFontColorBottom(objText, 64, 0, 0);
  490. ObjText_SetFontBorderType(objText, BORDER_FULL);
  491. ObjText_SetFontBorderColor(objText,255, 255, 255);
  492. ObjText_SetFontBorderWidth(objText, 2);
  493. ObjText_SetHorizontalAlignment(objText, ALIGNMENT_RIGHT);
  494. ObjText_SetMaxWidth(objText, GetScreenWidth() - 8);
  495. Obj_SetRenderPriority(objText, 1.0);
  496. ObjRender_SetX(objText, 0);
  497. ObjRender_SetY(objText, GetScreenHeight() - 60);
  498.  
  499. loop{
  500. if(GetCurrentFps >= 55.00){
  501. ObjText_SetText(objText, "");
  502. }
  503. else if(GetCurrentFps < 55.00){
  504. ObjText_SetText(objText, "FPS Drop!");
  505. }
  506.  
  507. if(GetCurrentFps >= 100.00){
  508. ObjText_SetText(objText, "HAXX!!");
  509. }
  510.  
  511. yield;
  512. }
  513. }
  514.  
  515. //----------------------------------------------------
  516. //ユーティリティ
  517. //----------------------------------------------------
  518. function DigitToArray(let digit,let count)
  519. {
  520. let res = [];
  521. digit = truncate(digit);
  522.  
  523. loop
  524. {
  525. let tnum = truncate(digit % 10);
  526. digit /= 10;
  527. res = [tnum] ~ res;
  528. if(truncate(digit) == 0){break;}
  529. }
  530.  
  531. loop(max(0, count - length(res)))
  532. {
  533. res = [0] ~ res;
  534. }
  535.  
  536. return res;
  537. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement