You'll need a script to do what you need.
In fact, there is no way to force a window closing without modifying the
Window_Message class.
I'll make an attempt and post it here while finished.
Jens
EDIT:CODE
#==============================================================================
#=#============================================================================
# #** Jens of Zanicuud window control script
# # -version 0.9
# # -free use, just credit
# # -free customization, however, posting on RRR the modified version is
# # mandatory
# # -you can find me on www.rpgrevolution.com
#=#============================================================================
#==============================================================================
#==============================================================================
# ** Message_Win module
#==============================================================================
module Message_Win
#==============================================================================
# * Invariables
#==============================================================================
CANT_SKIP_SWITCH_ID = 1 #id of the switch. If this switch is active, message
#can't be skipped with Enter or Space
#==============================================================================
# * skip_message - forces the message window to close
# (call it this way: call script - Message_Win.skip_message)
#==============================================================================
def Message_Win.skip_message
#if there is a message window
if $scene.is_a?(Scene_Battle) or
$scene.is_a?(Scene_Map) and
$scene.message_window != nil
#terminate message
old_switch = $game_switches[CANT_SKIP_SWITCH_ID]
$game_switches[CANT_SKIP_SWITCH_ID] = false
$scene.message_window.terminate_message
$game_switches[CANT_SKIP_SWITCH_ID] = old_switch
end
end
end
#==============================================================================
# *** WINDOWS
#==============================================================================
# edited: Window_Message
#==============================================================================
#==============================================================================
# ** Window_Message
#==============================================================================
class Window_Message < Window_Selectable
#==============================================================================
# * aliases
#==============================================================================
alias skip_win_terminate_message terminate_message
#==============================================================================
# * terminate_message
#==============================================================================
def terminate_message
if $game_switches[Message_Win::CANT_SKIP_SWITCH_ID]
return
else
skip_win_terminate_message
end
end
end
#==============================================================================
# *** SCENES
#==============================================================================
# edited: Scene_Battle
# edited: Scene_Map
#==============================================================================
#==============================================================================
# ** Scene_Battle
#==============================================================================
class Scene_Battle
#==============================================================================
# * public instance variables
#==============================================================================
attr_reader :message_window
end
#==============================================================================
# ** Scene_Map
#==============================================================================
class Scene_Map
#==============================================================================
# * public instance variables
#==============================================================================
attr_reader :message_window
end
To close the window via script, use a call script like this:
CODE
Message_Win.skip_message
To prevent the player from skipping the message, choose a switch, set the id in the constant named CANT_SKIP_SWITCH_ID and turn it ON.
While the switch is ON, player can't skip messages.
I hope this can help, ask for troubleshooting anytime

Jens