MAGIC MESSAGE SYSTEM

Write your dialog as one long, continuous text and this script will automatically insert linebreaks and display the text in as many messageboxes as necessary. Additional features include text alignment, speaker names, faceset control and more!

  • Fauchi
  • 08/26/2020 01:40 PM
  • 2457 views
Magic Message System
a script for RPG Maker 2000

Description
Writing dialog in RPG Maker 2000 is quite a hassle. The text input field is limited to four lines and you have to keep track of the width of each line yourself. God forbid you ever want to change your dialog and insert new lines – you'll have to change all subsequent dialog boxes and rearrange all text. That's a problem Magic Message System seeks to solve.

The idea of this script is to let you enter dialog as one long, continuous text. The script then inserts automatic linebreaks and outputs your text in as many windows as necessary. There are also some advanced features like declaring the name of the current speaker and changing the current faceset from within the text.

Example
<NAME:Don Miguel>

Hello there!
<NEXT>
My name is Don Miguel.
You might remember me from your childhood.
I'm the Russian guy who translated RPG Tsukuru 2000 from Japanese into English so that everyone from Germany to Brazil could use this magnificent piece of software we all came to love as RPG Maker 2000!


The speaker's name is declared in the first line. This name will be displayed in the first line of each textbox until a new name is declared. The <NEXT> command forces a new textbox to begin, even if the previous textbox isn't full. In addition to automatic linebreaks, you can of course still use manual linebreaks. Notice how the large chunk of text in the last line is automatically split into multiple lines and textboxes.



You insert your dialog into a comment field and then call the script. That's it! Let's have a look at all the supported text commands.

Standard text commands
Since the script uses the standard RPG Maker 2000 textbox for its output, (nearly) all text commands you've known for 20 years still work as usual:
C\[x] text color (values: 0-19)

\S[x] text speed (values: 0-20, where 0 is fastest)
\N[x] name of hero X
\V[x] value of variable X
\$ show money window
\! halt text output until ENTER is pressed
\. 1/4 wait
\| 1 full wait
\^ message closes automatically
\> \< text between \> and \< is displayed instantly
\\ displays the '\' character

The only text command that doesn't work anymore is "\_", which usually displays half a space. That's a limitation of DestinyPatcher's MessageLink, which doesn't support that command.

MessageLink text commands
DestinyPatcher data types (String, Float, Dword) can be displayed in a similar way as the \V notation for normal variables:
\A[x] value of string X

\D[x] value of Dword X
\F[x] value of float X


Magic commands
Text alignment
This script introduces the following commands for text alignment:
  • <LEFT>
  • <CENTER>
  • <RIGHT>

All text that comes after such a command will be displayed with that alignment.

Name display
The name that's displayed in the first line of each textbox can be asssigned in the following ways:
  • <NAME:Yoda>
  • <NAME:$1>
  • <NAME:NONE>

You can manually type in a name like "Yoda". You can also use placeholders like "$1" to display the name of hero number 1 (works with any valid hero number). If you no longer want to display a name in the first line, use <NAME:NONE>.

Face configuration
You can change the current face using the following commands:
  • <FACE:filename,position>
  • <FACE:$1>
  • <FACE:NONE>

The first option is to specify the filename (without file extension) of the faceset, followed by a comma and the position of the face within the faceset. The faces in a faceset are numbered in the following way:



The name of the faceset is "People1". To display the old man's face (position 7), you would write <FACE:People1,7>.

Another option is to use the placeholder "$1" to display the face of hero number 1 (or any other valid hero number). If you no longer wish to display a face, use <FACE:NONE>.

By default, faces are displayed on the left side of the textbox. If you want to display a face on the right side and/or flip it horizontally, you can use the optional parameters "RIGHT" and/or "FLIP". The optional parameters are added after commas:
  • <FACE:filename,position,RIGHT,FLIP>
  • <FACE:$1,FLIP,RIGHT>

You can use optional parameters in whatever order and it's possible to use none, one or both of them.

Start a new textbox
To start a new textbox before the current one is full, you can use the following commands:
  • <NEXT>
  • <CLEAR>

The <NEXT> command will start a new textbox while preserving the specified name and face as well as text color and speed. If you want to start a new textbox and reset all those parameters, use <CLEAR>.

Default values
You can specify default values for text color and speed separately for normal text and the name line. Those presets will then be used for each textbox generated by this script. Of course, those presets can still be overwritten by manual text commands.
You can also add a prefix and/or suffix for the nameline. For example, as you can see in the screenshots above, the suffix ":" is inserted after the name by default.

How to use
Save your dialog to string 800 using DestinyScript. Then call the Magic Message System via common event.
<> Comment: $ a[800] = "Hello RPG Maker!";

<> Call Event: Common Event "Show text"


The text you specified in string 800 will be displayed in as many textboxes as necessary.

How to install
You only need to copy a common event from the demo. You will find detailed instructions right here. If you want to use this script, you should read through these instructions at least once to get a full understanding of how this script works.

Compatibility
This script is compatible with any RPG Maker 2000 game that's compatible with Bananen-Joe's DestinyScript. As far as I know, you'll need an RPG_RT.exe that's been created by RPG-Maker 2000 v1.07. If you're using the Steam version of RPG Maker 2000, you can copy the RPG_RT.exe from this demo into your project to make it compatible with DestinyScript. Make sure to backup your original RPG_RT.exe.

Credits
If you want to use this script in your game, please mention the author (Fauchi) and the name of the script (Magic Message System) in your credits. It would also be nice to credit Bananen-Joe for developing DestinyPatcher, which this script is based on.

Demo
You can try this script out in the gameplay demo below. All essential features like automatic linebreaks, text alignment, name display and face manipulation will be demonstrated in-game. You might also want to explore the map for some eastereggs.

Links

Details

  • Offsite
  • N/A
  • Never

Actions

Posts

Pages: 1
Harmony.dll is required if you want to try the demo
https://rpgmaker.net/engines/rt2k/utilities/199/

Copy Harmony.dll and paste it inside of Magic Message System folder.

Otherwise this utility is neat and robust message system.

Edit: Anyone looking for working links, Cherry reupped-
https://rpgmaker.net/forums/topics/25360/?post=942731#post942731
very interested in this but your links are all broken :(
Pages: 1