Message Window Position

This is actually built in VXace. What you should do is go to Scene_Map and do this just below Scene_Map <Scene_Base:

class Scene_Map < Scene_Base

#————————————————————————–
# ● This is to script call Show Message on the Map.
# ● SceneManager.scene.message_window.move(x, y, w, h)
#————————————————————————–
attr_reader :message_window

Afterwards, adjust the x, y, width, height to whatever.  To get the default values do this in a script call:

x=SceneManager.scene.message_window.x
y=SceneManager.scene.message_window.y
w=SceneManager.scene.message_window.width
h=SceneManager.scene.message_window.height
$game_variables[88] = x
$game_variables[89] = y
$game_variables[90] = w
$game_variables[91] = h
SceneManager.scene.message_window.move(x, y, w, h)

These lines:

$game_variables[88] = x
$game_variables[89] = y
$game_variables[90] = w
$game_variables[91] = h
are for you to reference later if you want to revert them back to their original position.

You can change the values anytime you want, example:

x= 70
y= 296
w= 585
h= 120
SceneManager.scene.message_window.move(x, y, w, h)

Example Result:

To revert them back to their original values:

x = $game_variables[88]
y = $game_variables[89]
w = $game_variables[90]
h = $game_variables[91]
SceneManager.scene.message_window.move(x, y, w, h)

19 thoughts on “Message Window Position

  1. Wtf! That’s… neat.
    I never thought about doing that!
    I’d probably create an overwhelming heck of a script to handle all that instead of just making it public and using script calls XD

  2. Just thought I’d post a tip for this. I found that after moving my text window over I often had text run off of the screen (given that there was less space for a line to fit on). Fixing this manually in all your text is a pain, especially if you’ve already developed a lot of dialogue in your game.

    In search of a better solution I found a script by Modern Algebra that formats the text so that it no longer runs off the screen (like word wrapping). You can find the script here:

    Modern Algebra – ATS: Formatting script
    http://rmrk.net/index.php/topic,44964.0.html

  3. I managed to get the window re-sized and moved easily enough, but I seem to have a persistent arrow on the right hand side of the window (despite the text not reaching the edge of said window). Is there a way to make this side arrow go away?

  4. Ah scratch that. Just figured out all I had to do was stretch the window outside of the game. I feel very silly now!

    1. #————————————————————————–
      # ● This is to script call Show Message on the Map.
      # ● SceneManager.scene.message_window.move(x, y, w, h)
      #————————————————————————–
      attr_reader :message_window

  5. I put all you wrote:

    def attr_reader :message_window
    x=SceneManager.scene.message_window.x
    y=SceneManager.scene.message_window.y
    w=SceneManager.scene.message_window.width
    h=SceneManager.scene.message_window.height
    $game_variables[70] = x
    $game_variables[296] = y
    $game_variables[585] = w
    $game_variables[120] = h
    SceneManager.scene.message_window.move(x, y, w, h)
    end

    But it stuck with
    “Script ‘Scene_Map” line 11:SyntaxError ocurred

    unexpected ‘:’, expecting ‘;’ or ‘\n’ ”

    I change ‘:’ for ‘;’ but nothing happens. What should I do?

    Thanks for helping :)

  6. Hello, it’s a nice tutorial. But i’m a beginner, so,
    >> i’m just asking how to show the picture with the Z value greater than the message box?
    >> Z values is to make the picture appear in front of the message box right?
    >> Then, How to dispose the images after done talking with an npc?
    >> Can you provide a demo for this? i need it though to make sure i did that correctly

    >> I’m using this code to make them appear
    #screen.pictures[0].show(“Image Name”, position topleft (0) or center (1), screen x, screen y, width %, height%, opacity (0-255), blend type (0-2))
    But the picture appearing behind the message box though, i hope you can help me with this.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.