The problem is I would have to add pause infront of all movement codes, animations, gravity...
edit:
create event:
pause = true
Infront of all codes that are for movement, animations,...
if pause = false
Create event for left button
pause = false
Yes, and? You have only a few options when it comes to pausing:
1) Use a loop to halt the game. This will work, but it means that you can't have anything happening during the pause unless you code it yourself within the loop, and a small mistake could lead to your game crashing.
2) Use mouse_wait() or keyboard_wait(), but those unpause automatically with no flexibility over the unpause trigger (i.e. any mouse or keyboard input will unpause your game).
3) Code it yourself. Like I said. Yes, you'll need to check for the pause state in front of all STEP and DRAW events, but that's kind of how it needs to be. Besides, you can copy/paste the
if (global.pause == false) { exit; } line so it's not like you need to re-type it over and again.
The other option would be to create a background from the screen, set the room to persistent, move to a pause room, set the background to the created one, then move back when you unpause, set the room to non-persistent, and finally delete the background. That's the best option, but since you're using D&D and seem to be a bit new to GM, I thought that might be a bit overwhelming for you.
-IMP