I checked this out a bit. I was thinking you would need to time it per tick, but it seems to work fine with one event. So there's probably no reason why you couldn't use a loop for all of it.
System: 1Start of layout
SpritePause current animation
SpriteSet animation frame to 2
SpriteLoad frame from AppPath&"attack e0001.bmp"
SpriteSet animation frame to 3
SpriteLoad frame from AppPath&"attack e0002.bmp"
SpriteSet animation frame to 4
SpriteLoad frame from AppPath&"attack e0004.bmp"
SpriteSet animation frame to 5
SpriteLoad frame from AppPath&"attack e0005.bmp"
SpriteSet animation frame to 6
SpriteLoad frame from AppPath&"attack e0006.bmp"
SpriteSet animation frame to 7
SpriteLoad frame from AppPath&"attack e0007.bmp"