Ace Message System

Last Updated: 2012.07.21
Download Link
Github Link
Pastebin Mirror Link

While RPG Maker VX Ace certainly improved the message system a whole lot, it wouldn’t hurt to add in a few more features, such as name windows, converting textcodes to write out the icons and/or names of items, weapons, armours, and more in quicker fashion. This script also gives the developer the ability to adjust the size of the message window during the game, give it a separate font, and to give the player a text fast-forward feature.


Here’s a quick list of all the text codes you can use with this script:

# Message Window text Codes - These go inside of your message window.
#  Default:    Effect:
#    \v[x]     - Writes variable x's value.
#    \n[x]     - Writes actor x's name.
#    \p[x]     - Writes party member x's name.
#    \g        - Writes gold currency name.
#    \c[x]     - Changes the colour of the text to x.
#    \i[x]     - Draws icon x at position of the text.
#    \{        - Makes text bigger by 8 points.
#    \}        - Makes text smaller by 8 points.
#    \$        - Opens gold window.
#    \.        - Waits 15 frames (quarter second).
#    \|        - Waits 60 frames (a full second).
#    \!        - Waits until key is pressed.
#    \>        - Following text is instant.
#    \<        - Following text is no longer instant.
#    \^        - Skips to the next message.
#    \\        - Writes a "\" in the window.
#  Wait:       Effect:
#    \w[x]     - Waits x frames (60 frames = 1 second). Message only.
#  NameWindow: Effect:
#    \n<x>     - Creates a name box with x string. Left side. *Note
#    \nc<x>    - Creates a name box with x string. Centered. *Note
#    \nr<x>    - Creates a name box with x string. Right side. *Note
#              *Note: Works for message window only.
#  Position:   Effect:
#    \px[x]    - Sets x position of text to x.
#    \py[x]    - Sets y position of text to y.
#  Picture:    Effect:
#    \pic[x]   - Draws picture x from the Graphics\Pictures folder.
#  Outline:    Effect:
#    \oc[x]    - Sets outline colour to x.
#    \oo[x]    - Sets outline opacity to x.
#  Font:       Effect:
#    \fr       - Resets all font changes.
#    \fz[x]    - Changes font size to x.
#    \fn[x]    - Changes font name to x.
#    \fb       - Toggles font boldness.
#    \fi       - Toggles font italic.
#    \fo       - Toggles font outline.
#    \fs       - Toggles font shadow.
#  Actor:      Effect:
#    \af[x]    - Shows face of actor x. *Note
#    \ac[x]    - Writes out actor's class name. *Note
#    \as[x]    - Writes out actor's subclass name. Req: Class System. *Note
#    \an[x]    - Writes out actor's nickname. *Note
#              *Note: If x is 0 or negative, it will show the respective
#               party member's face instead.
#                   0 - Party Leader
#                  -1 - 1st non-leader member.
#                  -2 - 2nd non-leader member. So on.
#  Names:      Effect:
#    \nc[x]    - Writes out class x's name.
#    \ni[x]    - Writes out item x's name.
#    \nw[x]    - Writes out weapon x's name.
#    \na[x]    - Writes out armour x's name.
#    \ns[x]    - Writes out skill x's name.
#    \nt[x]    - Writes out state x's name.
#  Icon Names: Effect:
#    \ic[x]    - Writes out class x's name including icon. *
#    \ii[x]    - Writes out item x's name including icon.
#    \iw[x]    - Writes out weapon x's name including icon.
#    \ia[x]    - Writes out armour x's name including icon.
#    \is[x]    - Writes out skill x's name including icon.
#    \it[x]    - Writes out state x's name including icon.
#              *Note: Requires YEA - Class System

There is a fast-forward key that you can set for your message system. Hold down SHIFT (by default) to speed through messages like there is no tomorrow.

If you want to change the font the message window is using midway through a message, use the following text codes:

#  Font:       Effect:
#    \fr       - Resets all font changes.
#    \fz[x]    - Changes font size to x.
#    \fn[x]    - Changes font name to x.
#    \fb       - Toggles font boldness.
#    \fi       - Toggles font italic.
#    \fo       - Toggles font outline.
#    \fs       - Toggles font shadow.

The Ace Message System separates in-game fonts from the message window fonts. Adjust the setting in the module to give your messages a different font from the main game.

The name window makes a return. However, unlike the YERD, YEZ, and YEM versions, the name window text code has different syntax:

#  NameWindow: Effect:
#    \n<x>     - Creates a name box with x string. Left side. *Note
#    \nc<x>    - Creates a name box with x string. Centered. *Note
#    \nr<x>    - Creates a name box with x string. Right side. *Note
#              *Note: Works for message window only.

And this time around, you can use text codes INSIDE of the name windows, too. Note that not all text codes work. The ones that won’t will be marked by a note.

If you wish to have the ability to change your message window size on the go, bind two variables that you can in the script module to the number of rows that will be shown and the message window’s width.

If you want to display more than 4 lines of text at a time, you can do so by setting the number of message rows to above 4 and inserting messages one after another.

There are some text code shortcuts added to make life easier. These shortcuts allow you to quickly write out the name of an item along with the icon:

#  Icon Names: Effect:
#    \ic[x]    - Writes out class x's name including icon. *
#    \ii[x]    - Writes out item x's name including icon.
#    \iw[x]    - Writes out weapon x's name including icon.
#    \ia[x]    - Writes out armour x's name including icon.
#    \is[x]    - Writes out skill x's name including icon.
#    \it[x]    - Writes out state x's name including icon.
#              *Note: Requires YEA - Class System

And if for whatever reason you would like to use the shortcuts with the icons tagged in front, use the following text codes below:

#  Names:      Effect:
#    \nc[x]    - Writes out class x's name.
#    \ni[x]    - Writes out item x's name.
#    \nw[x]    - Writes out weapon x's name.
#    \na[x]    - Writes out armour x's name.
#    \ns[x]    - Writes out skill x's name.
#    \nt[x]    - Writes out state x's name.

You can set the position of where the text will appear next through \PX[X] and \PY[X].

#  Position:   Effect:
#    \px[x]    - Sets x position of text to x.
#    \py[x]    - Sets y position of text to y.

To change the text outline colour, write \OC[X] and it will change. You can also change the outline colour’s opacity with \OO[X] for darker or lighter outlines.

#  Outline:    Effect:
#    \oc[x]    - Sets outline colour to x.
#    \oo[x]    - Sets outline opacity to x.

You can add pictures to your messages. This feature is added in version 1.02 of the script.

#  Picture:    Effect:
#    \pic[x]   - Draws picture x from the Graphics\Pictures folder.

And that’s all, folks!

306 comments on “Ace Message System

  1. Aside from just hitting enter. >_>
    I ask because I programmatically generate some message boxes and it’s a pain to have to parse them into individual lines. Most message systems I’ve used have had a line break command.

    • Then I’m going to have to assume the message window is the exception. But if it’s anything like VX, then new lines are new arrays added to $game_message.

  2. I just spent some time the other day porting one of my events over to VX Ace, replacing the namebox codes with the character’s name in the top row in yellow (yeah, I copied that from the victory quotes from the YEM demo).

    Now I have to stick this script in, go back, and fix everything. Again. lol Man, my timing is terrible, I swear.

  3. Pingback: YSA Message Add-on – Pop Message | Yami World

  4. Thank you for keeping this script up to date Yanfly, first script of yours I used and it’s helped me do all the things I want, except one :)

    I once had a message script for RMXP that didn’t allow nearly as much as yours does, but it did have a very nice feature where it made the window close in x frames by itself and didn’t allow player input to skip the message. This made it possible to time message boxes in cutscenes, something I used frequently.

    Any chance this could make it in some day? :)

  5. Pingback: Finally finished… « Candy Coded Response

  6. Pingback: [EN] Finally!

  7. Pingback: Ubuntu 11.10 « Imagina y Programa

  8. Pingback: Yokonet » Ubuntu 11.10

  9. Any idea why the fps drop when the rows are increased to take up the whole screen? In other words, is this being refreshed/redrawn a lot, I looked through the script but I can’t seem to figure it out. Note: I waited until the text was fully displayed, and still had a loss of a few fps. Thank you for your time.

      • just ignore the second question i found out fomar already made a script for more choices. but i just cant figure out how to change the choice window to the middle of the screen when its used without a normal message before it,

  10. Hy! Great script…but I have a question.
    there is the possibility to replace the standard windowskin with a windoskin graphics so as to make it customizable? Thanks

    • When I remove the Ace message system the text works as it should. I haven’t changed anything in the script other than the default color. What’s the matter?

      • OMG. I didn’t even realize that the default setting for width and rows was variable 21 and 22. I was using 21 and 22 for the events…..

  11. How can you change the size exactly?
    I tried to make 2 variable (n° 21 “Message Rows” & 22 “Message Width” like in the exemple) then i made an event with a variable operation : Message width = 400 and a text like in the example.
    But it didn’t make the box smaller.

    is there something i miss?


  12. Hey Yanfly, thanks for a great script!

    I had a small question; do you know where in this script I can adjust the height of the area where the text is written?

    The font I’m using puts the type a little too close to the border of the message window.

    thx for any help!

  13. YF why do you support YAMI’s Pop Message script?

    Pop Messages is a shit script. It’s poorly written and is currently bugged (and has been so for months).

    There is no support at all from the writer either. Please re-write that monstrosity of a script. It’s based off of your script anyway. Who better to do it that you?

    It’s funny how he keeps putting out scripts without fixing existing bugged ones. I bet all of his scripts are bugged.

    • Yami is currently busy for other things. Kread-EX already helped to fix it. :S
      Coders are humans, and they have life, you know. Why act so harsh on her?

    • Holy shit. While it’s legitimate to admonish Yami about the bug (even if you were a HUGE dick about it) going here and talking shit because one of his scripts has a crashing bug…

      You’re a complete fucking asshole who obviously can’t read – otherwise you would know that Yanfly stopped scripting for the time being.

    • He supports Yami’s script because Yami, besides being a legitimate writer, is also not a condescending ass who goes around blogs insulting scripts he can’t even fix himself.

      What is this? Preschool?
      Kindly learn to be polite or get the fuck out of here.

  14. #————————————————————————–
    # alias method: initialize
    alias window_choicelist_initialize_ams initialize
    def initialize(message_window)
    self.z = @message_window.z + 1

    this fixes my previously posted bug. the gab window, another script, also suffers the same fate.

  15. Drop this into the ams to fix the gold window until Yanfly can do a proper fix.

    # ■ Window_Gold

    class Window_Gold < Window_Base

    # alias method: initialize
    alias window_gold_initialize_ams initialize
    def initialize
    self.z = 200

    end # Window_Gold

  16. Hi! I use this script with Yami pop message, and when I draw a icon in the message, it gets me a considerable lag… Any ideas? Thanks everybody!

  17. I love your scripts Yanfly. I have been a fan since VX but I got a question, though. I hate trying to fit my text to the Text Window while having a picture of my actor so my question is; does this script automatically format so that even if I type past the little arrow indicating the end of the box, will whatever text is past that automatically go to the next line without having chopped words?

    *[ ]* means beginning and end of the text box
    First ] is the end of the line when using pictures.
    ex; I type in the box
    [ We need to hurry before the castle ] crumbles down! ]

    Will “crumbles down” automatically go to the next line with out having to manually type it within the [ ]

    Sorry for the long post. I just want to be sure! Thanks ahead of the time.

    • Hey sorry for double post. I went ahead and got this script for some of the other features of it. I got to thinking. Is there a way you could use the name pop out with the picture of the actor speaking. That would give more space to type and also indicate who is speaking. I also found that this doesn’t have the auto format thing I mentioned earlier but a great script none the less.

  18. Hey guys, I’m new to RPG Maker VX Ace, previously I used RPGM 2003. I do not understand how to use scripts, all I get when I download this is a .rb file. How do I use this? Thanks and I apologize in advance for what probably is a noob question

  19. YF’s scripts are great really, this one in particular.

    Still, I miss some RPG2k3 option to set the text speed. I don’t really like inserting \w[x] at every single character inserted. Anyone got an idea?
    And Yanfly, it would be just great if you released that as an option in this script. If you’re back.

    (Oh, and sorry for any spelling or grammar mistakes, I’m german.)

  20. For some reason this message keeps popping up
    Script ‘Ace Message System’ line 570: typeError occurred.\
    can’t clone NilClass
    Anyone know what might be causing this? I’m at a loss.. :o

    • It’s the same for me… And in my tests I have identified that the Pop Message of Yami is incompatible with this script…
      I put only the twoo in a new project and receive this error, after that I use the Yanfly taken out only the pop message and the error don’t happens.

      I want to use the two scripts, but don’t know how…

    • I managed to run both the Pop Message and this script by commenting out (putting a # in front of the lines it throws errors at). You should try that.

  21. When I try changing the Font Size I keep getting the error:

    Script ‘Message System’ line 442: ArgumentError occured. bad value for size

    Maybe I’m just trying to use it wrong. Let’s say I type \fz [12]

    I’ve got the script installed Right Below your Core Script and above everything else under materials.

  22. Pingback: Tests de : scripts de dialogue « Blog of Chaos17

  23. There seems to be an error at line 824, the \af[x] command’s regular expression. It does not recognize the “-” sign in front of the digit so the display of an actor’s face image dependent on party member -x is not functioning.
    Here is the fixed regexp (just replace line 824 with this line):
    result.gsub!(/\eAF\[(-?\d+)]/i) { change_face($1.to_i) }

  24. Hi, I’m having a large problem. I’m trying to make a name window, but I don’t understand how to do it. It says “\n – Creates a name box with x string. Left side. *Note” What does string mean? No matter what I do, I can’t seem to create a name box. Can someone please help me with this?

    • A string is just a series of numbers and/or letters. To make a name window you need to insert \n into the actual text. You can change “Bob” to whatever name you would like to use. In this case “Bob” is the string.

      Now if you want to use an actor’s name, you would switch out “Bob” and replace it with this string: \n[1] The 1 is the actor ID so you can replace it with any actor you need. So if Frank is Actor ID 3, you would type \n in the text box and that would show Frank’s name above the message window.

  25. \n will create a name box to the left side.
    \nc will create a name box to the center.
    \nr will create a name box the right side.
    And the note says simply you that this command will only work in windows messages and any other places !

    N.B. : Sorry for my dubious english, because I’m from Switzerland

  26. Is there a feature that allows to automatically center the text? As opposed to using the \px \py, I would simply use those but when all the text is of different length finding the ideal centered value for each line becomes kind of, meh… and if not is there another script that, in addition to this one, would allow for an auto text alignment feature?
    Thank you.

  27. Hi, I’m having a large problem. I’m trying to make a name window, but I don’t understand how to do it. It says “\n – Creates a name box with x string. Left side. *Note” What does string mean? No matter what I do, I can’t seem to create a name box. Can someone please help me with this?

    • Hi there!
      Just look at this image:
      You need to write \n just into the message box, where x indicates what is going to be written in the name box. In my example I wrote \n which means that it will print a namebox with the content “Rena”. Everything after this command is going to be normal text, so I just went on with the text i wanted to actually write.(It’s in German by the way. Sorry for that xD)
      I hope this helped you a bit :)

      • It ate the tags sorry x_x I’ll just copy my text:
        You need to write \n”x” (instead of ” you write those arrows ^^) just into the message box where x indicates what is going to be written in the name box. In my example I wrote \n”Rena” which means that it will print a namebox with the content “Rena”. Everything after this command is going to be normal text, so I just went on with the text i wanted to actually write.(It’s in German by the way. Sorry for that xD)
        I hope this helped you a bit :)

  28. I still can’t, let’s say that I want to put Sora as a name, so I wrote \n”Sora” and \n but it still does not work…

  29. I’ve tried copy and pasting it in the script editor and still my textbox still stayed the same. I have no idea why it’s not working. When I tried putting text into it, I still ge the same default textbox….I wonder where I got wrong…

  30. So I made a name input thing so the game allows custom names for the party members.

    Does this script enable the ability to insert that custom name of the actor into message windows? I’m fiddling with it right now and can’t find a way. :(

  31. How exactly do I get a bust shot picture in the game? I used the \p[x] function and it put the bust shot at the very bottom of the screen where I could only see the hair. Is there a way to change coordinates of pictures?

  32. If i set to show 2 messages in a event, the first message was ok, but the second, third, etc., the message appears without transition (not letter by letter).

    Amazing System ^^

  33. My character spacing is too small and they are cutting one another off. I can fix it with a smaller font, but then it is too small. I have the default settings on the the script, and no other script that messes with it. Any ideas what could be wrong?

  34. i am having problems involving the name window. I have the script installed under materials, and I keep trying on a message window but no luck

    anyone care to help?

  35. in vx, /g used to display how much gold the party had in a little window. ace inexplicably removed this functionality.

    any chance that yanfly’s message system can put this back in? it doesn’t seem to from what i’ve read here.


  36. I’m new and highly confused. :c I have this script put in correctly. I just don’t know how to use it. :c Like… idk how to use the text codes or what not…. :c

  37. Hello everyone!
    I’m having problems with making this script work ;_;
    I copied it under materials and saved, but I can’t for the life of me make a name window appear (or use any other text effect). What am I doing wrong? Can someone please help me?
    I used the code: \n in the message window with the name of the npg in place of the “x” but I’m having no luck. Sorry if this is a silly question ><

  38. ok, I know that this is probably some stupid error from my own actions but;

    I’m using this script with this one below:
    Author Molegato
    Version 1.0.2

    and they work perfectly fine together but (there is always a but lol) When i use the name box formula (eg; \n) after the text has finished from the event where i’m using multiple names for different speaking characters, I go to open a chest and the name box stays there with the last name that had been in it.

    I’d realllly like to know how to turn the name box off because I have looked all over the internet and through this page and other forum pages, but I have not been able to find an answer. I know yanfly is away from scripting at the moment, but I was hoping someone might be able to help me with this problem. It has been driving me insane for the past 3 hours… (I thought i’d thorougly look before asking)

    Thank you for your time reading this too :)

  39. # NameWindow: Effect:
    # \n – Creates a name box with x string. Left side. *Note
    # \nc – Creates a name box with x string. Centered. *Note
    # \nr – Creates a name box with x string. Right side. *Note
    when i tried this script in message, there is no name box there.
    can you explain how to create the name box, please?

  40. I have a game where you choose you party member’s names and faces, but I want to use that chosen face for a particular cutscene without having the character name until later. Is there a way to use this script to recall party member’s face without a name but a party member slot instead? like party member 2 “/af[2]” instead of “/af[x]” ?

  41. When I try to load up the game with the script, I get this error message:
    Line 319: Name error occured
    undefined method ‘reset_font_settings’ for class ‘Window_Base’

    please help :(

  42. I am having problems with the \fn[x] feature. does x = typed out font name? (ex. \fn[Times New Roman]) or does x= 0, 1, 2, 3 etc…

  43. I’m having some trouble here… I have copied the Yanfly Ace Message System code into the script editor. In attempting to create a name window, it doesn’t work. I tried /n(blah) and \nc(blah) and neither works – as though the script isn’t loaded properly. I get what the command is, and how to use it, but it’s just not working. Please help?

  44. I just installed the script like in the instructions called, but it doesn’t work, even after I restarted RPG Maker VX Ace. I want to use italic-command for some message-boxes. Can anybody help me?

  45. I’m having the same problem like the others. I installed the script into the script editor and tested for the name box window, but all I got was the text code \n. The name box did not appear. So can I use a little help here? Thanks anyway.

  46. Is there a way to make just the name box bold? I tried adding the “\fb” inside the “”, but I get this error: “Line 589: Type Error occured. true can’t be coerced into Fixnum”
    Is there something I’m doing wrong? or is that feature not available? The same deal when it comes to trying to do a different font for the name box. Thanks in advance for any help

  47. Hey everyone, i was just wondering….is there a way to position the message window anywhere on screen ( not just the Top, Center, Bottom thing )?

  48. Pingback: My First Introduction To RPG MAKER VX ACE | RPG Maker VX ACE Information

  49. Pingback: My Introduction to RPG Maker VX ACE | RPG Maker VX ACE Information

  50. I need help and I’m not sure where to ask! I’ve put this script in my RPG Maker VX Ace in the indicated area but none of my scripts are working. Typing \fn[Times New Roman] in my message window for example would do nothing to my text (and I do have that font on my computer) – the same goes for every other script I’ve tried including the simple ones for italics and bold. Does anyone have any idea why this might be?

  51. Hi i’m struggling to understand where it reads,

    You can set the position of where the text will appear next through \PX and \PY.

    Position: Effect:
    \px – Sets x position of text to x.
    \py – Sets y position of text to x.

    So what am I supposed to type in place of the x’s in between the brackets? \px [x] \py [x]?

    As i want in the message box there to be two rows of writing, sort of like this.

    One Two
    One Two

    and where about in the message do I place these two text codes?

  52. I have two questions about Yanfly Engine Ace – Ace Message System v1.05. Can I change the front size of the actor’s name

    “Message Man” is the text I want to change the size of. Also can I make it so that the actor name panel lines up with the message width 400 box instead of off to the side. like it is in the image above?

  53. I love this script, and it works very well with my projects.

    But I’ve got a question. I’m sure everybody is tired of being asked questions like that, but well … I’m going to use the animated battle system of Victor Sant. As I’ve tried so far, these scripts doesn’t cause errors when used together. Is it likely that they really work together without errors or is it supposed to be just luck so far? Perhaps if somebody knows more about scripting than me he can “see” it and tell me. :)

  54. I’m finding all this cool stuff, but all I really want is a way to be able to use “↑↓→←” in my dialogue boxes, but I can’t find anything that will make those arrows appear, all I get is boxes, and nothing has helped fix it so far… x.x

      • This is how I did it, I typed out those arrows into my icon sheet, then set items to have those icons, and no name.

        Eg. Item 32 = icon ↑, no name on the item, no use, description reads “up arrow” just for organization. Then just put the ii[32] command, it displays item 32, with the icon and name. Since there is no name, it just shows an up arrow.

  55. Hi Yanfly,

    Thanks for the amazing script!
    By the way, is there any way to make this script functioning in the messages shown in battle? (Like, showing the icons of item dropped from monsters)

  56. Hey Yanfly!

    I just found a problem with the Name-Window.
    When i want to use italic in the name-Window by ” \n” I get following Error: script ‘YanFly Message’ line 588: TypeError occurred. true can’t be coerced into Fixnum.

    Did I do something wrong?

    PS: Great Work!

  57. Wonderful work! Sorry if this is a ‘noob’ question but when it comes to scripts I’m just now stumbling upon them. I know I installed this correctly because the font changed (is there a way to go back to the VXAce one?) but do I need to put

    $imported = {} if $imported.nil?
    $imported[“YEA-MessageSystem”] = true

    at the top of every event page for the \codes to work?

  58. script’Message System – Yanfly’ line 319: NameError occurred.

    unidentified method `reset_font_settings’ for class `Window_Base’

    x I’m kind of a noob so idk what to do…..

  59. Could you add message tag to display face at right side of message window, instead of default left and to flip it horizontally?

  60. Wonderful script and works really well too, thank you very much!

    However, I am wondering if it is possible to change width and height of the name box. You can see what I mean here –
    – This name box is just too big for the actor’s name – I would love to make it a little shorter and smaller (then put it on the left with the command you posted, so it doesn’t hide to much of her picture)

  61. Hey Yan! So I’m really new to Ace and to your scripts, and I’ve been browsing your channel for awhile now and I can’t seem to figure out how to use your scripts. -_- I downloaded the file for this message script, and it saved as an .rb file. How do I put it in my game now? Sorry if this is a silly question, but I did try to figure it out. Thanks in advance!

    • Copy the script first. Go to Ace> Script Editor (or just hit F11 ). Then paste the script above the ‘Main’ script: Click on an empty tab at the left, then paste the script on the textbox at the right. Make sure u name it like ‘YEA Msg System’ or something(title doesnt matter) so you know where the script is.

      Ummm also Yan is on a long break as stated at the homepage, so just ask the other members here. :(
      I also recommend using his YEA Core Engine coz it’s got lots of fixes for the game’s engine. Just check it out. Regarding script order in case ur planning to use more scripts, try organizing it the way the scripts are organized in this site. Usually the Engine scripts are placed first then Battle scripts… then so on. It’s to prevent script conflict. Someone correct me if I’m wrong here.

      Good luck.

      • Thanks, however I already knew how to copy and insert the script into the game. What I had meant was when I clicked the download link at the top of this page I received a .rb file, and I’m unable to open this file to actually see the script to copy/paste it into my game. Does that make sense? Thanks you very much though.

  62. Hello Yanfly ! i have a problem ….
    i want to have name in top of window when i type in the chat box \n
    but when i play it the \n disappear but the is still in the chat box …
    and no name is on the top of the window .

    what am i doing wrong ? ._.
    Help me please :(

  63. Hello there,

    maybe someone’s still reading and might me able to help me :D

    as described by the OP, the “\{” command increases the font size by 8… unfortunately I wasn’t able to find the command for that in the script? is it somewhere in the VX Ace scripts? I’d like to make the \{ command only increase text size by x – you know, like instead of 24 have 26 but not 32 immediately :/

    maybe someone knows,

    have a nice day!

    • Look at the script under “Font”.
      Font: Effect:
      \fr – Resets all font changes.
      \fz[x] – Changes font size to x.
      \fn[x] – Changes font name to x.
      \fb – Toggles font boldness.
      \fi – Toggles font italic.
      \fo – Toggles font outline.
      \fs – Toggles font shadow.

      I would assume use \fz[x] where x is the size you want? I’ve only used the Name Box so far and I haven’t messed with the text yet, but that’s what I would do.

      Otherwise, I would try \{x or \{x} or something?

      I just tried the \fz[x]. It works! I tried size 26, 6, and 3. 3 gives an error because it’s too small, I assume. 6 is REALLY small, and 26 is a pretty good size! :D

      You’re really lucky that I just posted on here for help myself XD

      • aaalright, I can even enter the \fz[x] command in single Text Event windows – and I thought that one was for like overall font size… thanks a bunch!

  64. Why is it I can’t figure out how to make any script work except the jump feature? I swear I must be missing something crucial. I’ve put this script in and followed the instructions which basically were, copy and paste. But none of the features this adds seem to work. I know it’s not the scripts fault so what am I missing?

  65. You’re welcome! I literally JUST had this problem and I JUST posted on this blog. You’re very lucky! If not for my mishap, you may not have received an answer for a long time, if ever XD

    • Yeah I was worried about that. Now I just need to find out why my third switch isn’t working XD (I have a cinematic thing going on and the first two switches did their job but for some reason switch three doesn’t want to play nice haha) Well thanks again and off I go to create hopefully an amazing game :D

  66. Good luck with that, I hope you get it figured out!
    … What’s funny is how I’m also currently having a problem with one of multiple switches working XD
    But for my issue, I think a timer/delay might work.

    If you can’t figure out how to fix your switch, you can always go onto the RPG Maker VX Ace forums and ask. ^^

    • Haha that’s funny because I fixed it and it was a timing problem. A couple chat boxes kept a switch from being activated before something happened so the series of events were never able to happen XD good thing F9 shows when and what switches are activated :D

  67. The idea of using a fast forward key is good but it shouldn’t be the shift/default running key. You often mistakenly skip important messages if they pop up while running.

  68. I can’t seem to get the name above the windows up at all. I’ve tried using arrow brackets and square brackets but both doesn’t seem to work. What am I doing wrong? o.O

  69. I’m having a problem where the name (the text) using \n does not appear above the dialogue when using a custom windowskin. When I switch back to the original windowskin both the window and the text appears. Strange?

    • Darnit, the windowskin I downloaded had a little error where some of the pixel of the color panels where transparent. Fixed them up and everything is fine!

  70. i copied the script over, but it isn’t working at all… really, i’m most bothered about getting the name boxes atop of the dialogue, as distinguishing between characters without using face graphics is hard…

  71. Greetings!
    Firstly congratulations on the script.
    Is there way to prevent the message from being accelerated or skipped?
    I mean, the player must wait until the whole text is written to then be able to do something.

    Sorry for the rusty English.

  72. I’m sorry this makes no sense with the message window size am I writing a script can you show step by step how the variable is written? All i know is to type in Message Window = 6. My game crashes trying this please help thanks

  73. Idk if this was asked or not but is it possible to use the (\n[x] – Writes actor x’s name) with ( \n – Creates a name box with x string. Left side. *Note) so you can have a name box with a custom name that people imputed them selves?

  74. it seems like \nc \ni ….. \ic \ii commands fails to work with Global text codes :(
    They show the name of the item, classes, etc, as well as the commands such as \c[2]

  75. I found a bug with this script. Whenever you choose an item (in events) and a variable to attach this item ID and make a condition with this variable, the message windows bug. If it’s relevant, some only show arrows that points to the right, others get huge. For my surprise, the bug changes accordingly to the Var ID. When the chosen variable is the 001, everything keeps normal, but when I tried using the 022, or the 021, the above related bugs happened.
    I have a demo with it, if you don’t understand how it happens. I tried using only the core and the Message Script, but the bug persisted.
    Thank you!

  76. I’m having trouble changing the font with \fn.
    I installed a new font to windows. I checked the windows\font folder to see if it’s there and it is.
    I added the font name to the script in line 203, in the message window I wrote “\fn[My font name] Hi world!”
    But it didn’t change the font. It was still the default font without change.
    What am I missing?

  77. Is there a possibility to add support for Japanese/Chinese/German etc. letters for this script? Without the script everything is fine, though once it is added non latin letters (ABC…) becomes squares .

  78. This seems like a really solid script, and I love how easy it is to use. But I have run into a little issue.

    My game’s dialog-intensive, so conversation choices tend to run long. Unfortunately, those clip with the name window. Is there a way to make the choices options take priority over the name window?

    Hope this makes sense!

  79. Addendum to the above, given the recent post on bug report guidelines:
    Description of bug: See above.
    Scripts used: GubiD’s GTBS, XaiL System, Galv’s Camera Control, and this one.
    Tried on fresh project: Yes.
    Save and encounter bug?: No? Yes? I tested it on my legit project from the start, not off of a save point. I know those can glitch things out. I also tried it on a completely fresh project.
    Check core script?: Considering it doesn’t list the core as a requirement to run this, and it otherwise works just fine, I hadn’t. Now that I just checked it, it doesn’t address this issue.
    Read features on script?: Yep. This looks more like a small oversight than a true “bug”.
    Move script above/below others?: Nope. Again, the script is working fine and I’ve even implanted it on a fresh, otherwise untouched project. This particular issue is more likely an oversight.
    Demo?: Gladly! I’ll offer the aforementioned fresh, otherwise untouched project that demonstrates the issue.

    (Compressed, does not include RTP data, is not encrypted.)

  80. Dumb question time again. I copied and pasted the script exactly. However, I create an event, set for it to have a message box…. and none of the commands work. None. I placed the script in the right place too….. what did I do wrong?

  81. OMG! I must have spent at least a full hour trying to figure out why the Name Box wasn’t appearing but I finally figured it out. Like a lot of comments I have been reading I installed it and the name box doesn’t appear. I was using \n[x] and the name was appearing within the message window. Then I looked through over and over and found out you have to use \n to get the name box to appear and if you want an actors name inside that box you have to use \n. Hope this helps someone.

    • Welp it seems some text was eaten after \n you put the less than and greater than symbols with x inbetween and for the actor name you replace x with \n[x].

  82. I’m afraid I’ve discovered a problem. I’m probably using the script wrong somehow, but I was hoping you could clear it up for me. I’m doing a sort of text rpg so I put:
    @>Control Variables: [0021:Message Rows] = 16 then write my text, after that I try to use: @>Show Choices and I have only 2 choices. Now no matter what I do(even tried setting the rows back to default 0) the choices text will not show. It’s there(I hear the noise of moving up and down between the two choices) but I can’t see the choices themselves. Could it have to do with the fact that I have a black map? every other bit of text has shown as white, it’s just the choices that I can’t see. I even tried putting as a separate event page(activated by self-switch A) but I can’t get the choices to appear visible.

    I am using no other scripts but yours(new project) and this is a major problem for me. I hope I described it well enough.

      • I have found the root cause of this issue, though I don’t have a clean solution to share yet. The problem is a bug in RMVX Ace that is exacerbated by the Message System.

        RMVX Ace generally expects choices to be displayed attached to the top or bottom of a preceding message box. It does this by checking if the next command is a choice after it reads in a message box command. If so, it executes that at the same time as it executes the message box command. There is also a second block of code that handles displaying a choice list if it was not immediately preceded by a message box. However this functionality seems to have been a bit of an afterthought, as the code that positions the choice list window does not account for launching the choice list without an attached message box. It always positions it relative to the message box, even if the message box isn’t showing.

        Normally, in vanilla VX Ace, this just means your stand-alone message boxes get positioned in some strange places onscreen because they are relative to the last place you displayed a message box. But when using the Ace Message System to grow the box beyond its default 4 lines, something breaks further, and the choices end up placed entirely offscreen. Note that it doesn’t matter if you set the number of rows back to 0 or 4 before displaying the choices. What matters is what the value was the last time you *actually displayed a message box*.

        I imagine a similar problem exists if you immediately precede the choice list command with a message box command but have grown that box big enough to fill the screen and push the message box offscreen. The choice-list-positioning code assumes a message box will always have enough space above/below it for the choice list, since by default there can only be 4 lines of message. With this script, we can push the choice list entirely offscreen by making a message box too big to leave room for it onscreen.

        I have a hack in my game now to stash how the choice window was launched in a global variable and then center it vertically if it was not launched attached to a message box, but I feel there must be a better way to do this that I’m not seeing.

      • I have encountered the same issue and used a workaround.
        You won’t be able to have the Message Window and the Choice List visible both at the
        same time, but atleast you will be able to see the Choices at all.

        Assuming you created a Message with lets say Variable: [0021:Message Rows] = 13
        So right after that Message you change Variable: [0021:Message Rows] = 0.
        Then, put a Message with settings transparent, no face, no text.
        This Message will not be shown, because it has nothing to show, but it will successfully
        make the Choice List appear normally again.

        So it looks like this: Big Message text is being displayed.
        After pressing Enter or Space the Box will disappear and
        the Choice List will show up.

        Hope this helps you or anyone having the same problem.

  83. This is a really great script. I used it in almost all my game projects! :D
    But earlier today, when i used the scrolling text function in one of my projects, i had to put a bigger font size in this script to make the text appear completely…. Now, all the text in the message windows and the quotes for the victory Aftermath appear extremely big. I know i can use the “\fz[x]” message code to change the font size, but i dont want to add that to every message windows in my game. Does anyone know how to fix this?

  84. I’m sorry but I really don’t understand how to use \py[x]
    For example, I would like the texte “Hello world!” to y : -250
    Is the code \py[-250]Hello World!, or \pyHello World![-250] or what ?

  85. Hello! I love your script, and i am actually using it but i am afraid that i found a bug ,, i don’t if it is just with or there ir another person with the same issue, but i tried to do a simple quest (going for an item and bring it back) for some reason athe moment i bring the item the message window doesn’t show anymore, as well as the other messages windows,, just the menu still appearing,, could you please help me? i hope you are still around here. thanks

  86. Hello there! Love the script, just had a question…I’m using the method I saw on Division Heaven for making busts show over a message box, and it’s all working great, except I would like this name box to be under the bust as well. I’ve moved the name over so it’s not on top of the bust, but I’d like it to be just under the head of the bust? I can attach a screenshot if you’d like.
    I tried connecting the name box with the message box so when the message box’s z is lowered, the name box would be too but it just isn’t taking.

    I changed this part in the script, it read like this in the name window…
    self.z = @message_window.z + 1

    and I made it like this
    self.z = @message_window.z

    but it didn’t work. I also tried making it -1 instead but that didn’t work either.


  87. First of all, LOVE all the features of this script.
    Second, I can’t get it to work. D:

    I tried to re-paste the script and configure some other scripts to make sure nothing was interfering,
    I tried switching around some scripts to make sure everything was in the right place,
    I double checked to make sure I wasn’t mistyping anything.

    Do you maybe know why it’s not working? Or should I say, what might be the cause of misfunction?

  88. Pingback: Tổng hợp link Script RPGVXA cần thiết | Ronglun227's Home

  89. Hey guys, ran into a super specific bug when using this script that caused incorrect text alignment in the name box (only occurred if the text size was changed and if the first line of text was aligned to the right.) The super amazing GreatRedSpirit over at wrote up a fix for it, so I just wanted to share that with anyone who might experience the same glitch in the future.

    This appears around line 630 or so. Change:

    when ‘FZ’
    contents.font.size = obtain_escape_param(text)


    when ‘FZ’
    old_width = text_size(text).width
    contents.font.size = obtain_escape_param(text)
    new_width = text_size(text).width
    dw += new_width – old_width

    (Full thread:

  90. Hi can anyone tell me how to get more than 4 lines in a message window. I put it like the example at top but it doesnt seem to work. Is it
    a scrip call?

    • Add the script to the script editor in the Materials section.
      Make an event or common event
      In the event, choose Control Variables, choose variable 21, and set it to 16 or less. Good idea to also give it the name Message Rows to identify it.
      Add a bunch of text with the control characters if you want. It appears in groups of 4 lines in the editor but during the game it will fill the number of lines you set in variable 21 above.

      Note the editor preview will not show the actual effects. You must run the game to see the actual effects.

  91. Hey everyone, I’ve looked all over and can’t seem to do one simple thing? How do I make text to where you can’t skip it?

  92. Of course, if you want to build teamwork, you will definitely want to practice together.
    So, strap on all your paintball gear and load up those paintball guns!
    Work on offensive and defensive strategies, code words, “what-if” scenarios, and
    more. Learn from the opposition along with your
    personal teammates. Tightly discover other paintball players to develop new and profitable approaches
    for future games. Does the opposite team talk greater than your group does?
    Do they really appear much more organized? Focusing on how your adversaries interact can help improve your team’s performance.

    If your team is lacking in that area, take a look
    at your opponents paintball gear and see.
    This will considerably result your gameplay

  93. Hi, I’ve encountered a weird error. After spending some time in a new map I made, all my message windows look like this:

    I can’t find the cause that triggers this, the script has been running perfectly so far.
    Any ideas?

    • I think I fixed the error. Apparently, the script uses the variable #22. As soon as that variable is changed, the script breaks.

  94. That is a bug that occurs when a value is asigned to a variable, it happened to me as well, i don’t know if someone here have already fixed that, but i gave up and found another message system. This is a great script script, it’s functionality is awsome, but i couldn’t find a way to fix that.

  95. I found a way that I can use at the moment for my project.
    After every change of the variable X/Y (as long is not a Parallel Process that check
    endless) I reset X/Y = 0 as soon as possible.

  96. Pingback: Chat Mapper – Getting Fancy | The Iron Shoe

  97. Pingback: Fix Ace Error Messages Windows XP, Vista, 7, 8 [Solved]

  98. Hi Yanfly i have a question. When i tried to change the font in my choices box with \fn[x] the font did indeed change but there is a big space where the code would have been is there any way to fix this?

  99. Pingback: Rgss3 Window_base | Technology Documents

  100. Hi… Is there a way to like move the message box? Like maybe I’d like the message box to appear like 1 inch higher than the default position?

  101. Uh … on the picture were he made the width shorter, it says “Variable Operation”. There is no command that I know of with the name “Variable Operation”. I try to use: “Control Variables” but it doesn’t work.

  102. Forgive me for being dumb but i have a right for this; I JUST bought it like few days ago and have no full knowledge of this kind of scripts (RSS3 or something)… but most of your stuffs of Ace Message System is what i want to add in… but the reason I am posting this AFTER i tried my best to research around in two days is… WHERE would I put all of those script codes IN? I mean, should they go under “Materials”? “Windows”? “Game Objects”? or “Modules”??? X__X

    • You need to take a step back and learn the basics before you dive into complex stuff like this script. It’ll keep you from getting eternally confused when you try to do harder things.

      What you need to learn about, in this instance, are Scripts. The official blog has a tutorial about this: They also have lots of other useful tutorials and posts there. You should check it out.

  103. Hello everyone!
    I am using this script because I want to add box names, but also because I changed my screen resolution, and now the message box, as well as menus appear huge (since they still cover the fullscreen). So I wanted to use the variables to change the message window size. I know that by simply changing values on the script won’t work. But I am not understanding the Variable Operation/Control Variable works so that I can change sizes.
    I would really, really apreciate if someone could give me a detailed tutorial to this particular step.
    Please, help a newbie now, so that she may help others in the future! ^^

  104. I have problem.. i wanted option to chance main character name (not just Eric).. but i dont know how to imput in script that it understand to take and chance the 001 (Eric) to diffrent name. can someone help with that?

  105. I had problems with text being skiped when the char was running, so I changed the key for this pourpose. For those who want to change the fast forward key, you can change in this line in the script:

    TEXT_SKIP = :A # Input::A is the shift button on keyboard.

    For example, you can use Cntrl using

    #TEXT_SKIP = :A # Input::A is the shift button on keyboard.

    I hope it helps

  106. Maybe someone can help. I’m trying to get the message rows to populate all 8 rows with text at the same time as seen in the illustration above.

    However, only the top 4 rows are printing out text. The bottom 4 rows are empty even though the window is 8 rows tall. I still have to press the button for the next 4 rows to show, but they show in the top 4 rows. The window is 8 rows tall but the bottom 4 rows are empty.

    Here is a snap.

  107. I forgot to add:
    What syntax can be used, if any to center the face portrait in the center of a taller than 4 row text window?

    Thanks… Yanfly! I’m kinda getting the hang of the new nice functions included here.

  108. Tanks for the script, Yanfly. I’m using it in my (non-commercial) “Interactive Story with RPG elements” to give message boxes a “VN-like” feel.

  109. Pingback: Dragonblood Devlog #2 – Which scripts are used ? And why ? | William JCM's Blog

  110. Pingback: Dragonblood Devlog n°2 – Quels scripts sont utilisés ? Pour quel usage ? | William JCM's Blog

  111. Whenever I save the variables for Player’s X, Y, and MAP ID and then have a text command happen, the textbox covers the whole screen and there is no text shown. Please help, I’m not exactly sure how those variables affect the script, but it does. Everything works fine when I remove this script.

  112. I was fiddling around with this a couple weeks ago, and I found I could display faces and choose which expression, however I can’t seem to remember exactly how I did this now, can someone please help me?

    I want to be able to have a character’s facial expression change in the middle of a sentence without changing the window of text.

  113. Hey Yanfly, I love this plugin, but I think it could be useful to also have: “\np[0/-1/-2]” “\NamePicture[Party leader/2nd party member/3rd party member]” and also have the picture in the extra window aswell as the character’s name in the “\n[x]” function, that leaves more area to have text in instead.

  114. Wow! Good job in creating this script! It is very useful in RPG Maker VX Ace! I look forward in more wonderful scripts!

  115. I’m having a weird issue where the text box is crashing the game. I found out it’s when the code is hitting the capitalized “W” for escape. I tried changing the letter to something else I know I won’t be using and it crashes the game right on boot up.

      • It seems I messed up the script. I took it out and put in a fresh copy of the script. And started that message box all over. Just to be on the safe side.

      • Weird. The glitch happened to me only when I used the “\>” tag that makes the text appear instantly. And when I copied pasted the script over, that didn’t work. Ah well.

  116. How do I put the message overtop of the other actors head? I know [0] is for the main actor, but what is the code for the other actors?

  117. Those of you having trouble with window size, it’s pretty easy. For example if I want to change visible rows (length) of the window:

    If you didn’t change the script in any way:

    1. Change variable 21 to change length, change variable 22 to change width

    Or if you did:

    1. Simply find the code that says “VARIABLE_ROWS”
    2. Look at the number right after it, i.e. “VARIABLE_ROWS: 21”, or 22 or 23 or whatever.
    3. Change that variable to adjust the window length
    4. If you’re already using that variable, change the variable number to the index of a variable you’re not using, i.e. after editing: “VARIABLE_ROWS: 102”
    5. Now change variable 102 or whatever number you put after VARIABLE_ROWS to change length
    6. Same thing for width, except this time you look for VARIABLE_WIDTH

    • I REALLY do not understand what you’re saying. This is not easy at all. What do you mean “using a variable”? You just change the number to adjust the width, right? I’ve tried that, it doesn’t do anything.

  118. One question I have is how to left align the message box if changing the width to a smaller size? It appears to always center justify the box.

    Any way to change this?

  119. I have a problem. Text preview doesn’t match to what I see in my game. Its hard to write dialogs and descriptions this way because part of text goes out of text window. Is there any way how to solve this?

  120. What switches or variables does this script use, so i can avoid switching stuff on the script off?

    I’ve had an issue where i complete a puzzle I’ve made and the puzzle happened to use a switch you had in your script and it turned off certain parts of the script somehow…

  121. I’m new to VX Ace and scripts in general, so please forgive me if this is stupid!

    But I’m still not sure how I exactly/ where I should put the command to show an NPC’s name when the player talks to them.

    Is this not possible? Because I believe it was one of the main features showcased here but I could be wrong.

    I can elaborate if needed.

  122. Pingback: Devlog: Dialog Parser and Gamejam Wrap-Up | This Mortal Coil

  123. I REALLY do NOT understand how to get this to work. I just want to shorten the width of the text box but NOTHING HAPPENS. The script itself seems to do nothing, and writing the variable call in the text box just prints a “0” in it. HOW IS THIS SUPPOSED TO WORK??

  124. Ok, I really don’t get this. The script just seems to do nothing, no matter what. VARIABLE_WIDTH is 22, right? Well, i’ve tried changing it to 18, nothing. 10, nothing. Even 4, 3, and even 1. Reducing the number is supposed to make the message box more narrow, right? Nothing happens at all. Please someone explain this? I don’t get it at all. What’s supposed to happen? How am I supposed to get it to work?

    • Hi hi, are you still looking for a solution? If you figured it out ignore this.
      So it looks like you are trying to change the width *inside the script itself*. “VARIABLE_WIDTH” refers to which Variable you want to use to change/set the width of the window. You can’t actually control the width there, near “VARIABLE_WIDTH”! Leave it as 22 if you want; make an Event, use “Control Variables”, select the Variable 22, and Set it to “Constant” any width you want. It’s counted in pixels, so it shouldn’t be less than, say, 100!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s