An update of mordant's MessageExtender

I tried to edit PepsiOtaku's code so it would run without the OnComment command, but when I tried this during battles it crashed. So, I instead used mordant's old code. Supposedly, this is unstable, but I've never seen it crash or anything so I'm not sure what they mean.

Here are the things you can do (all code is case insensitive)

\a (or \A) displays attributes

\b displays battle commands
\c is color (as before)
\d is degree
\e is map event (that is, for the map you are in, if the first event is Hole, it displays Hole)
\f is condition name
(forgot g and h apparently)
\i is Item Name (both cases)
\j is Item Description
\k is skill name
\l is skill description
\m is monsters
\n is name
\o is monster item
\p is Monster Party name (demonstrated above)

I'd love to hear how to make this more stable, and drop me a line if you can think of more stuff you want displayed.

I found out after loading this, that using \$ or \_ would cause a system crash. Since I had a new computer with... issues compiling, I asked for help from AubreyTheBard. I did most of the coding, but since I couldn't compile, it was hard to test anything.

I added code that let it ignore \$ and \_ and then I added new code.

\a or \A Attributes
\b or \B Battle Commands
\c or \C Should still be color
\d or \D Degree
\e or \E Map event (this is a local event)
\f or \F Condition
\g or \G Gold (the number)
\h or \H Currency (the string under vocab, displaying currency type)
\i or \I Item
\j or \J Item description
\k or \K Skill
\l or \L Skill description
\m or \M Monster
\n or \N Hero
\o or \O Monster Item (name) -> This is really cool. You can make an event that checks monster item.
\p or \P Monster Party
\q or \Q or \r or \R Vocabulary
\s or \S Text speed
\t or \T or \u or \U terrain
\v or \V Variable

I tested it out, it all works!


  • 200.4 KB
  • 90
  • 02/17/2020 08:08 AM



Pages: 1
You should keep the same letters than DynText, which are :

\x returns image text from the text object with the chosen text identifier
\n returns the name of a hero given by the chosen number
\N returns the rank of the hero with ID equal to the chosen number
\v returns the value stored in variable with ID equal to the chosen number
\i returns the name of the Item with same ID as the chosen number
\I returns the item description of the item with same ID as the chosen number
\t returns the skill name of the item with ID equal to the chosen number
\T returns the the skill description of the skill with ID equal to chosen number
\a returns the ailment / condition of equal ID as the chosen number

Moreover, I would be interested to have the original name of a hero : e.g. in a Pokemon-like game, if a player is renaming a hero (a Pokemon), you would still have access to the original name.

The Class for this :
It was my decision to make it case insensitive. Given this, I did stuff that I could largely in the order they appeared. I think I didn't know how to do \x or \$ (the latter of which crashes things when I try). Since s was speed not skill, I put that earlier. Otherwise, s would be skill and t for skill description.
Hello, I'm using this plugin for a skill tree type system where you can learn new abilities. Whenever I test play either starting immediately from the skill tree map, or starting from a test map I made that will warp you to the skill tree map from talking to an NPC, the commands work fine. ("Character learned \k(1)" shows up correctly as "Character learned SkillName"). However, when I test play right before you receive the item that allows you to access the skill menu, and then finally warp there and try to learn the skill, all I get is "Character learned (1)". This doesn't make any sense since there are no other differences in switch or variable usage with the above three methods. ANY idea what this issue could be?

EDIT: I think I may have pinpointed something. If I call any kind ofcommon event beforehand, the \k command will not work after. I have no idea why. The events that were called were all call type, and none were parallel process or auto start.
Firstly, thanks for the awesome plugin. I make very extensive use of it, and I love it.

That said, I've noticed something that the so-called "instability" may be referring to. If you press F12 to reset the game back to the title screen while a message is being displayed that uses a \n command (or the other special backslash commands added by this plugin to print strings in message displays), then, if you do this twice, from that moment on, every time that one of the backslash commands from this plugin gets used, it will display a space followed by the ID number of the pointer variable instead of the string it's pointing to. For example, let's say monster 0004 is "Slime", and we want to point to it with variable 0002, which is set to 4. Using \m{\v{0002}} will result in " 2" being printed instead of "Slime". This persists until you exit the game entirely and boot it back up (and it even persists through additional resets, whether or not a backslash string is being displayed when you reset again). It seems to take exactly two resets while backslash-related message strings are being displayed to make this start happening.

Is there any chance that maybe something can be done about this?

EDIT: I'm using curly brackets here instead of square brackets because the formatting on this forum has problems with square brackets.
Pages: 1