From my experience, SPHITSP doesn't work well when a rotation have been applied to a sprite. If your ship doesn't rotate, then you can use SPHITSP.
Protip: SPHITSP(SPRITE1) always return the first that overlap SPRITE1, but SPHITSP() return the rest.
You can do something like this:
var SPHT=SPHITSP(LASER)
REPEAT
DAMAGESHIP SPHT
SPHT=SPHITSP()
UNTIL SPHT==-1
1そうだね プレイ済み