Wszystko jest w przykładach ale masz tu dokładnie odpowiedź na pytanie 1.
obracanie do kursora
w stepie postaci:
GML
direction=point_direction(x,y,mouse_x,mouse_y);
image_angle=direction
Strzelanie:
w glob left button:
GML
instance_create(x+random(4),y+random(4),naboj)
w create naboju
GML
friction=0.05
speed = 20
direction=point_direction(x,y,mouse_x,mouse_y)