the built in rotation always rotates from the point of it's position (which is top left by default)
you need to offset the sprite, this only affects the actual drawing of it. So if you
offset sprite 1,sprite width(1)/2,sprite height(1)/2
the sprite will still exist at it's original position as far as your game code is concerned, but the visual position of the sprite is shifted up and left by 50%. So if before you were doing something along the lines of...
paste sprite 1,screen width()/2-sprite width(1)/2,screen height()/2-sprite height(1)/2
in order to center the image on the screen, you need to change it to
paste sprite 1,screen width()/2,screen height()/2