Guest User

Item/Bullet Deletion Scripts

a guest
Oct 4th, 2013
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.88 KB | None | 0 0
  1. //--------------------------------------------------------------------||
  2. //Default_System_ItemScript.txt//-------------------------------------||
  3. //--------------------------------------------------------------------||
  4.  
  5. let dirCurrent = GetCurrentScriptDirectory();
  6.  
  7.  
  8.     @Initialize
  9.     {
  10.  
  11.         SetDefaultBonusItemEnable(false);
  12.  
  13.         LoadItemData(dirCurrent ~ "ItemData.txt")
  14.     }
  15.    
  16.     task GetItemSE{
  17.     let obj = ObjSound_Create;
  18.     ObjSound_Load(obj,dirCurrent ~ "se/seItem.wav");
  19.    
  20.     ObjSound_SetVolumeRate(obj, 70);
  21.    
  22.     ObjSound_SetSoundDivision(obj, SOUND_SE);
  23.    
  24.     ObjSound_Play(obj);
  25.     }
  26.    
  27.     @MainLoop{
  28.     yield;
  29.     }
  30.  
  31.     @Event
  32.     {
  33.         alternative(GetEventType())
  34.         case(EV_GET_ITEM)
  35.         {
  36.  
  37.             let itemType = GetEventArgument(0);
  38.             let objItem = GetEventArgument(1);
  39.            
  40.             GetItemSE;
  41.  
  42.  
  43.         }
  44.         case(EV_DELETE_SHOT_TO_ITEM)
  45.         {
  46.  
  47.             let objShot = GetEventArgument(0);
  48.             let objPos = GetEventArgument(1);
  49.  
  50.             TUserItem(objPos[0], objPos[1]);
  51.             bulletwait(objShot);
  52.         }
  53.         case(EV_END_BOSS_STEP)
  54.         {waitend;}
  55.     }
  56.  
  57.     task TUserItem(itemX,itemY)
  58.     {
  59.         let obj = CreateItemU1(2, itemX, itemY, 2);
  60.         ObjMove_SetPosition(obj, itemX, itemY);
  61.         ObjItem_SetRenderScoreEnable(obj,false);
  62.        
  63.         loop(60){yield;}
  64.        
  65.         ObjItem_SetDefinedMovePatternA1(obj, ITEM_MOVE_TOPLAYER);
  66.     }
  67.    
  68.  
  69. task waitend{
  70. let endwait = 0;
  71. loop{  
  72. endwait++;
  73. if(endwait==120){CloseScript(GetOwnScriptID());}
  74. yield;
  75. }}
  76.  
  77. //||---------------------------------------------------------------------------------------------------------||
  78. //||--||Task which creates a deletion effect when bullets are deleted.||-------------------------------------||
  79.  
  80. task bulletwait(ID){
  81. deletioneff(ObjMove_GetX( ID ),ObjMove_GetY( ID ),GetShotDataInfoA1( ObjShot_GetImageID(ID) ,TARGET_ENEMY,INFO_RECT)[2]-GetShotDataInfoA1( ObjShot_GetImageID(ID) ,TARGET_ENEMY,INFO_RECT)[0],GetShotDataInfoA1( ObjShot_GetImageID(ID) ,TARGET_ENEMY,INFO_DELAY_COLOR)[0],GetShotDataInfoA1( ObjShot_GetImageID(ID) ,TARGET_ENEMY,INFO_DELAY_COLOR)[1],GetShotDataInfoA1( ObjShot_GetImageID(ID) ,TARGET_ENEMY,INFO_DELAY_COLOR)[2]);
  82. deletioneff2(ObjMove_GetX( ID ),ObjMove_GetY( ID ),GetShotDataInfoA1( ObjShot_GetImageID(ID) ,TARGET_ENEMY,INFO_RECT)[2]-GetShotDataInfoA1( ObjShot_GetImageID(ID) ,TARGET_ENEMY,INFO_RECT)[0],GetShotDataInfoA1( ObjShot_GetImageID(ID) ,TARGET_ENEMY,INFO_DELAY_COLOR)[0],GetShotDataInfoA1( ObjShot_GetImageID(ID) ,TARGET_ENEMY,INFO_DELAY_COLOR)[1],GetShotDataInfoA1( ObjShot_GetImageID(ID) ,TARGET_ENEMY,INFO_DELAY_COLOR)[2]);
  83. }
  84.  
  85.  
  86. //||---------------------------------------------------------------------------------------------------------||
  87. //||--||Task which creates the deletion effect.||------------------------------------------------------------||
  88.  
  89. task deletioneff(X,Y,scale,color1,color2,color3){
  90.  
  91. let dobj = ObjPrim_Create(OBJ_SPRITE_2D);
  92. let dimg = GetCurrentScriptDirectory ~ "img/effbreak.png";
  93.  
  94. let danim = -1;
  95.  
  96. LoadTexture(dimg);
  97. ObjPrim_SetTexture(dobj,dimg);
  98. ObjSprite2D_SetDestCenter(dobj);
  99. ObjSprite2D_SetDestRect(dobj,-scale/1.5,-scale/1.5,scale/1.5,scale/1.5);
  100. ObjRender_SetPosition(dobj,X,Y,0);
  101.  
  102. Obj_SetRenderPriorityI(dobj,20);
  103.  
  104. ObjRender_SetBlendType(dobj,BLEND_ADD_ARGB);
  105.  
  106. ObjRender_SetColor(dobj,color1,color2,color3);
  107.  
  108. while(!Obj_IsDeleted(dobj)){
  109.  
  110. danim++;
  111.  
  112. ascent(i in 0..4){
  113. if(danim==(i*3)){
  114. ObjSprite2D_SetSourceRect(dobj,i*64,0,64+i*64,64);
  115. }}
  116.  
  117. ascent(i in 0..4){
  118. if(danim==(12+i*3)){
  119. ObjSprite2D_SetSourceRect(dobj,i*64,64,64+i*64,128);
  120. }}
  121.  
  122. if(danim==24){Obj_Delete(dobj);}
  123.  
  124. yield;
  125. }}
  126.  
  127. //||---------------------------------------------------------------------------------------------------------||
  128. //||--||Task which creates the deletion effect (part 2).||---------------------------------------------------||
  129.  
  130. task deletioneff2(X,Y,scale,color1,color2,color3){
  131.  
  132. let dobj = ObjPrim_Create(OBJ_SPRITE_2D);
  133. let dimg = GetCurrentScriptDirectory ~ "img/effglow.png";
  134.  
  135. let dalpha=255;
  136. let dsize=0;
  137.  
  138. LoadTexture(dimg);
  139. ObjPrim_SetTexture(dobj,dimg);
  140. ObjSprite2D_SetDestCenter(dobj);
  141. ObjSprite2D_SetDestRect(dobj,-scale/1.5,-scale/1.5,scale/1.5,scale/1.5);
  142. ObjRender_SetPosition(dobj,X,Y,0);
  143.  
  144. Obj_SetRenderPriorityI(dobj,20);
  145.  
  146. ObjRender_SetBlendType(dobj,BLEND_ADD_ARGB);
  147.  
  148. ObjRender_SetColor(dobj,color1,color2,color3);
  149.  
  150. ObjSprite2D_SetSourceRect(dobj,0,0,256,256);
  151.  
  152. while(!Obj_IsDeleted(dobj)){
  153.  
  154. dalpha-=20;
  155. dsize+=0.2;
  156.  
  157. ObjRender_SetScaleXYZ(dobj,dsize,dsize,dsize);
  158. ObjRender_SetAlpha(dobj,dalpha);
  159.  
  160. if(dalpha<=0){Obj_Delete(dobj);}
  161.  
  162. yield;
  163. }}
  164.  
  165.  
  166. //--------------------------------------------------------------------||
  167. //ItemData.txt//------------------------------------------------------||
  168. //--------------------------------------------------------------------||
  169.  
  170.     #UserItemData
  171.  
  172.     item_image = "./img/Item.png"
  173.  
  174.     ItemData{
  175.         id = 1
  176.         rect = ( 209, 1, 222, 14 )
  177.         render = ALPHA
  178.     }
  179.  
  180.     ItemData{
  181.         id = 2
  182.         type = 2
  183.         rect = ( 210, 34, 221, 45 )
  184.         render = ADD
  185.     }
Advertisement
Add Comment
Please, Sign In to add comment