task Glow { loop(4){ Glowtrail(); wait(53); } } task Glowtrail(){ let randir = rand(-0.5,0.5); let obj = CreateShotB2(BossX,BossY-45,randir,-3,0,0.05,0,2,308,15); while(!Obj_IsDeleted(obj)){ TrailEffect(20); // I assume you want 20 frames before it's deleted. wait(10); } task TrailEffect(delay) { let LgtX = ObjMove_GetX(obj); let LgtY = ObjMove_GetY(obj); let MiniLgt = CreateShotA2(LgtX,LgtY,0,rand(0,360),0.001,0.1,74,11); wait(delay); // it's 20 in this case ObjShot_FadeDelete(MiniLgt); } }