I tried this code, but had no luck to get it working:

Code:
FONT* pause_font = "Arial#20b";

STRING* pause_str = "Pause";

TEXT* txtPause = {
	layer 	= 2;
	pos_x 	= 512;
	pos_y 	= 353;
	red 		= 255;
	green 	= 255;
	blue 		= 255;
	string 	= pause_str;  
	font 		= pause_font;
	alpha 	= 100;
	flags 	|= CENTER_X | CENTER_Y | OUTLINE | TRANSLUCENT;
}

int space_been_pressed = false;

void handle_key_space() {
	proc_mode = PROC_NOFREEZE;
		
	space_been_pressed = true;
		
	if(freeze_mode == 2) {
		freeze_mode = 0;		
		reset(txtPause, SHOW);				
	} else {		
		set(txtPause, SHOW);
		freeze_mode = 2;		
	}
	while (key_space) {
		wait(1);
	}
	
	space_been_pressed = false;	
}

void mouse_key_observer() {
	proc_mode = PROC_NOFREEZE;	
	while (1) {		
		if (key_space && !space_been_pressed) {				
			handle_key_space();		
		}					
		wait (1);						
	}
}

void main() {
	
	mouse_key_observer();
	
	while(1) {		
		wait(1);
	}
}



The same code works fine when using "freeze_mode = 1;",