Guest User

deeps

a guest
Mar 8th, 2013
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.13 KB | None | 0 0
  1.  
  2. #TouhouDanmakufu[Single]
  3. #ScriptVersion[3]
  4. #Title["Damage Per Second"]
  5. #Text["By gtbot[r][r]USER1 Key spawns power points.[r][r]Pressing USER2 key while not pressing anything else will turn on/off litemode."]
  6. #Background["script/default_system/Default_Background_IceMountain.txt"]
  7.  
  8. let objEnemy;
  9. let damage = 0;
  10. let orighp = 100000;
  11. let dummy = "script/default_system/img/Default_Shot.png";
  12. let dps = 0;
  13. let bomb = dps;
  14. let shift = dps;
  15. let unshift = dps;
  16. let count = 0;
  17. let frame = 0;
  18.  
  19. let litemode = false;
  20.  
  21. @Event{
  22. alternative(GetEventType)
  23. case(EV_REQUEST_LIFE){SetScriptResult(100000);}
  24. }
  25.  
  26. @Initialize{
  27. objEnemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
  28. ObjEnemy_Regist(objEnemy);
  29.  
  30. ObjPrim_SetTexture(objEnemy, dummy);
  31. ObjSprite2D_SetSourceRect(objEnemy, 351, 353, 413, 415);
  32. ObjSprite2D_SetDestCenter(objEnemy);
  33. LoadSound("script/default_system/se/seGetSpellCardBonus.wav");
  34. LoadSound("script/default_system/se/seUseSpellCard.wav");
  35. ObjMove_SetDestAtFrame(objEnemy, GetStgFrameWidth/2, 60, 60);
  36. ObjEnemy_SetLife(objEnemy, 100000);
  37. ObjEnemy_SetDamageRate(objEnemy, 100, 100);
  38. DrawDPS;
  39. }
  40.  
  41. @MainLoop{
  42. yield;
  43. ObjEnemy_SetIntersectionCircleToShot(objEnemy, ObjMove_GetX(objEnemy), ObjMove_GetY(objEnemy), 32);
  44. ObjEnemy_SetIntersectionCircleToPlayer(objEnemy, ObjMove_GetX(objEnemy), ObjMove_GetY(objEnemy), 24);
  45. ObjRender_SetAngleZ(objEnemy, frame*8);
  46.  
  47. if(GetVirtualKeyState(VK_USER1)==KEY_PUSH){
  48. CreateItemA1(ITEM_POWER, GetStgFrameWidth/4*1,280, 10);
  49. CreateItemA1(ITEM_POWER_S, GetStgFrameWidth/4*3,280, 10);
  50. }
  51.  
  52. if(GetVirtualKeyState(VK_USER2) == KEY_PUSH && GetVirtualKeyState(VK_USER1) == KEY_FREE && GetVirtualKeyState(VK_SHOT) == KEY_FREE && GetVirtualKeyState(VK_SLOWMOVE) == KEY_FREE){
  53. if(litemode == false){litemode=true}else{litemode=false}
  54. }
  55. if(count>0 || count<0){
  56. ObjSprite2D_SetSourceRect(objEnemy, 351, 353, 413, 415);
  57. }
  58. if(count==0){
  59. ObjSprite2D_SetSourceRect(objEnemy, 415, 353, 477, 415);
  60. }
  61.  
  62. if(IsPlayerSpellActive==true){
  63. damage = ObjEnemy_GetInfo(objEnemy, INFO_LIFE);
  64. count = -1;
  65. frame += 4;
  66. bomb = orighp-damage;
  67. }
  68. if(GetVirtualKeyState(VK_BOMB)==KEY_PUSH && GetPlayerSpell != 0 && count!=-1){bomb = 0;ObjEnemy_SetLife(objEnemy, 100000);}
  69.  
  70. if(frame==180 && count > 0 && IsPlayerSpellActive == false){
  71. damage = ObjEnemy_GetInfo(objEnemy, INFO_LIFE);
  72. ObjEnemy_SetLife(objEnemy, 100000);
  73. dps = orighp - damage;
  74. dps = dps/3;
  75. count++;
  76. frame = 0;
  77. if(GetVirtualKeyState(VK_SLOWMOVE) == KEY_HOLD){
  78. shift = dps;
  79. }
  80. if(GetVirtualKeyState(VK_SLOWMOVE) == KEY_FREE){
  81. unshift = dps;
  82. }
  83. }
  84. if(frame==180 && count == 0){
  85. ObjEnemy_SetLife(objEnemy, 100000);
  86. count = 1;
  87. PlaySE("script/default_system/se/seUseSpellCard.wav");
  88. }
  89. if(frame>180){frame = 0;}
  90.  
  91.  
  92. if(GetVirtualKeyState(VK_SHOT) == KEY_PUSH || GetVirtualKeyState(VK_SHOT) == KEY_HOLD || IsPlayerSpellActive == true){
  93. frame++;
  94. }
  95. if(GetVirtualKeyState(VK_SHOT) == KEY_FREE || GetVirtualKeyState(VK_SLOWMOVE) == KEY_PUSH || GetVirtualKeyState(VK_SLOWMOVE) == KEY_PULL || GetPlayerState==STATE_DOWN){
  96. if(IsPlayerSpellActive == false){
  97. frame = 0;
  98. count = 0;
  99. }
  100. }
  101. if(GetVirtualKeyState(VK_SHOT) == KEY_HOLD && count==-1 && IsPlayerSpellActive == false){count=0;frame=0;}
  102. }
  103.  
  104. task DrawDPS{
  105.  
  106. let UnShift = ObjText_Create;
  107. ObjText_SetFontSize(UnShift, 16);
  108. ObjText_SetFontBold(UnShift, true);
  109. ObjText_SetFontColorTop(UnShift,255,255,255);
  110. ObjText_SetFontColorBottom(UnShift,128,128,255);
  111. ObjText_SetFontBorderType(UnShift,BORDER_FULL);
  112. ObjText_SetFontBorderColor(UnShift,0,0,64);
  113. ObjText_SetFontBorderWidth(UnShift,1);
  114. ObjText_SetMaxWidth(UnShift, 300);
  115. ObjRender_SetX(UnShift, GetStgFrameWidth/2+25);
  116. ObjRender_SetY(UnShift, 128);
  117.  
  118. let Shift = ObjText_Create;
  119. ObjText_SetFontSize(Shift, 16);
  120. ObjText_SetFontBold(Shift, true);
  121. ObjText_SetFontColorTop(Shift,128,128,255);
  122. ObjText_SetFontColorBottom(Shift,225,255,255);
  123. ObjText_SetFontBorderType(Shift,BORDER_FULL);
  124. ObjText_SetFontBorderColor(Shift,0,0,64);
  125. ObjText_SetFontBorderWidth(Shift,1);
  126. ObjText_SetMaxWidth(Shift, 300);
  127. ObjRender_SetX(Shift, GetStgFrameWidth/2+25);
  128. ObjRender_SetY(Shift, 164);
  129.  
  130. let Bomb = ObjText_Create;
  131. ObjText_SetFontSize(Bomb, 16);
  132. ObjText_SetFontBold(Bomb, true);
  133. ObjText_SetFontColorTop(Bomb,128,128,255);
  134. ObjText_SetFontColorBottom(Bomb,225,255,255);
  135. ObjText_SetFontBorderType(Bomb,BORDER_FULL);
  136. ObjText_SetFontBorderColor(Bomb,0,0,64);
  137. ObjText_SetFontBorderWidth(Bomb,1);
  138. ObjText_SetMaxWidth(Bomb, 300);
  139. ObjRender_SetX(Bomb, GetStgFrameWidth/2+25);
  140. ObjRender_SetY(Bomb, 200);
  141.  
  142. let MarkerS = ObjText_Create;
  143. ObjText_SetFontSize(MarkerS, 15);
  144. ObjText_SetFontBold(MarkerS, true);
  145. ObjText_SetFontColorTop(MarkerS,128,128,255);
  146. ObjText_SetFontColorBottom(MarkerS,225,255,255);
  147. ObjText_SetFontBorderType(MarkerS,BORDER_FULL);
  148. ObjText_SetFontBorderColor(MarkerS,0,0,64);
  149. ObjText_SetFontBorderWidth(MarkerS,1);
  150. ObjText_SetMaxWidth(MarkerS, 268);
  151. ObjRender_SetX(MarkerS, GetStgFrameWidth/2-170);
  152. ObjRender_SetY(MarkerS, 128);
  153.  
  154. let MarkerU = ObjText_Create;
  155. ObjText_SetFontSize(MarkerU, 15);
  156. ObjText_SetFontBold(MarkerU, true);
  157. ObjText_SetFontColorTop(MarkerU,128,128,255);
  158. ObjText_SetFontColorBottom(MarkerU,225,255,255);
  159. ObjText_SetFontBorderType(MarkerU,BORDER_FULL);
  160. ObjText_SetFontBorderColor(MarkerU,0,0,64);
  161. ObjText_SetFontBorderWidth(MarkerU,1);
  162. ObjText_SetMaxWidth(MarkerU, 268);
  163. ObjRender_SetX(MarkerU, GetStgFrameWidth/2-170);
  164. ObjRender_SetY(MarkerU, 164);
  165.  
  166. let MarkerB = ObjText_Create;
  167. ObjText_SetFontSize(MarkerB, 15);
  168. ObjText_SetFontBold(MarkerB, true);
  169. ObjText_SetFontColorTop(MarkerB,128,128,255);
  170. ObjText_SetFontColorBottom(MarkerB,225,255,255);
  171. ObjText_SetFontBorderType(MarkerB,BORDER_FULL);
  172. ObjText_SetFontBorderColor(MarkerB,0,0,64);
  173. ObjText_SetFontBorderWidth(MarkerB,1);
  174. ObjText_SetMaxWidth(MarkerB, 268);
  175. ObjRender_SetX(MarkerB, GetStgFrameWidth/2-170);
  176. ObjRender_SetY(MarkerB, 200);
  177.  
  178. let Counter = ObjText_Create;
  179. ObjText_SetFontSize(Counter, 15);
  180. ObjText_SetFontBold(Counter, true);
  181. ObjText_SetFontColorTop(Counter,128,128,255);
  182. ObjText_SetFontColorBottom(Counter,225,255,255);
  183. ObjText_SetFontBorderType(Counter,BORDER_FULL);
  184. ObjText_SetFontBorderColor(Counter,0,0,64);
  185. ObjText_SetFontBorderWidth(Counter,1);
  186. ObjText_SetMaxWidth(Counter, 268);
  187. ObjRender_SetX(Counter, GetStgFrameWidth/2-140);
  188. ObjText_SetHorizontalAlignment(Counter, ALIGNMENT_CENTER);
  189. ObjRender_SetY(Counter, 242);
  190.  
  191. loop{
  192. ObjText_SetText(Shift, shift);
  193. ObjText_SetText(UnShift, unshift);
  194. ObjText_SetText(Bomb, bomb);
  195. if(litemode==false){
  196. ObjText_SetText(MarkerS, "Unshift DPS -");
  197. ObjText_SetText(MarkerU, "Shift DPS -");
  198. ObjText_SetText(MarkerB, "Bomb Damage -");
  199. if(count == 0){ObjText_SetText(Counter, "Keep shooting (or bomb) to ready the DPS.");}
  200. if(count > 0){ObjText_SetText(Counter, "Ready for DPS checking.");}
  201. if(count == -1){ObjText_SetText(Counter, "Bombing in progress...");}
  202. }else{
  203. ObjText_SetText(Counter, "");
  204. ObjText_SetText(MarkerS, "");
  205. ObjText_SetText(MarkerU, "");
  206. ObjText_SetText(MarkerB, "");
  207. }
  208. yield;
  209. }
  210. }
Advertisement
Add Comment
Please, Sign In to add comment