OK. What about you give the starship an instance variable called shotsToFire with a value of 10, and another one called shotCoolDown, with an initial value of 0. Then in events we can do this, no need for loops:
- shotsToFire > 0 & shotCoolDown = 0: Fire a laser, subtract -1 from shotsToFire. Set shotCoolDown to 10
[you might have to experiment with the shotCoolDown number, I just made it up; but it's the number of frames the game will wait between each shot in the 10-burst so it isn't literally firing once every frame, which will look horrible. With 10 in this value, the game will fire a laser, wait 10 frames, and then fire another, etc.]
- shotCoolDown > 0: subtract -1 from shotCoolDown.
- shotsToFire = 0, trigger this event once: wait 3 seconds, set shotsToFire = 10.
And that's it. I haven't tested it, but something very much like that will do the job for you.