Text Guide

From PMDOWiki
Revision as of 21:47, 2 October 2024 by IDK (talk | contribs) (modding font)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This document is a guide to displaying dialogue text in PMDO.

Text Tester

This utility can be found in the Scripting tab of the dev panel:

Enter text into the textbox, and click on the “Dialogue” box to display a textbox with the dialogue.

Make sure that you are currently in a ground or dungeon map (Not the title screen!). You can jump to one of those maps by using F12 or F1+F12 respectively.

Text Tags

color

Changes the text color to the provided hex code. If no argument is given, it resets the color.

Welcome to [color=#FFC663]Treasure Town[color]!

pause

Pauses the text scrolling for the supplied number of frames. If 0 is given, the scroll will wait indefinitely until the player advances the text.

Ready,[pause=30] set,[pause=0] GO!

speed

Changes the text scroll speed to the supplied value. 1.0 is default, 2.0 is twice as fast, 0.5 is half as fast.

[speed=4.0]Fast as a Ninjask![speed=0.2] Slow as a Slowpoke...

emote

This section is a stub. You can help PMDO Wiki by expanding it.

Changes the speaker's portrait emotion in the middle of a text box.

[emote=Determined]You Slowpoke![emote=Worried] We're gonna be late now...

sound

Changes the text scroll sound.

Look what sound I can make! [sound=Battle/_UNK_DUN_Water_Drop]Very cool, right? [sound=Battle/_UNK_DUN_Water_Drop,10]I can even go slower... like so.


br

Breaks the text into multiple windows.

Curiosity killed the cat.[br]But satisfaction brought it back.


scroll

Breaks the text into multiple windows, with a scrolling animation between the two.

Curiosity killed the cat.[scroll]But satisfaction brought it back.


script

Call a script in the middle of a text box. Useful for synchronizing cutscene animations to the text scrolling.

I’m talking,[script=0] and as I talk someone emoted.

The scripts must be passed as a Lua table of functions to UI:WaitShowDialogue:

local function exclaim()
  SOUND:PlayBattleSE("EVT_Emote_Exclaim_2")
  GROUND:CharSetEmote(chara, "exclaim", 1)
end
UI:WaitShowDialogue("What's that![pause=0] A [script=0]shiny!", { exclaim })

Indefinite Articles

When shown in textboxes, these tags turn into different words depending on the word that comes before after it. Very important for translation.

All articles can be capitalized for when they're at the beginning of a sentence.

A/An

Vowel-dependent

  • If the next word begins with a consonant, it becomes a
  • If the next word begins with a vowel, it becomes an
I'm giving you [a/an] {0}.

El/La

Gender-dependent

  • If the next word is tagged with [male] or does not have a gender tag, it becomes el
  • If the next word is tagged with [female], it becomes la
[El/La] {0} se comió la manzana.

Der/Die/Das

Gender-dependent

  • If the next word is tagged with [male] or does not have a gender tag, it becomes der
  • If the next word is tagged with [female], it becomes die
  • If the next word is tagged with [neutral], it becomes das
[der/die/das] {0} ist lecker!

Ein/Eine/Einen

Gender-dependent

  • If the next word is tagged with [male] or does not have a gender tag, it becomes einen
  • If the next word is tagged with [female], it becomes eine
  • If the next word is tagged with [neutral], it becomes ein
Ich gebe dir [ein/eine/einen] {0}.

Ein/Eine/Ein

Gender-dependent

  • If the next word is tagged with [male] or does not have a gender tag, it becomes ein
  • If the next word is tagged with [female], it becomes eine
  • If the next word is tagged with [neutral], it becomes ein
Schau, das ist [ein/eine/ein] {0}!

Il/La

Gender-dependent and vowel-dependent with special cases

  • If the next word is tagged with [male], or does not have a gender tag:
    • If the next word also begins with a vowel, except i+vowel, it becomes l'
    • Otherwise, if the next word also begins x/y/z/s + consonant/gn/ps/pn/i + vowel, it becomes lo
    • Otherwise, it becomes il
  • If the next word is tagged with [female]:
    • If the next word also begins with a vowel, except i+vowel, it becomes l'
    • Otherwise, it becomes la
Mi piace [il/la] {0}.

I/Le

Gender-dependent and vowel-dependent with special cases

  • If the next word is tagged with [male], or does not have a gender tag:
    • Otherwise, if the next word also begins x/y/z/s + consonant/gn/ps/pn/vowel, it becomes gli
    • Otherwise, it becomes i
  • If the next word is tagged with [female], it becomes le
Non mi piacciono [i/le] {0}.

Uno/Una

Gender-dependent and vowel-dependent with special cases

  • If the next word is tagged with [male], or does not have a gender tag:
    • If the next word also begins with a vowel, except i+vowel, it becomes un
    • Otherwise, it becomes uno
  • If the next word is tagged with [female]:
    • If the next word also begins with a vowel, except i+vowel, it becomes un'
    • Otherwise, it becomes una
Vorrei comprare [uno/una] {0}.

은/는

Vowel-dependent

  • If the preceding word ends with a consonant, it becomes
  • If the preceding word ends with a vowel, it becomes
{0}[은/는] 회피했다!

을/를

Vowel-dependent

  • If the preceding word ends with a consonant, it becomes
  • If the preceding word ends with a vowel, it becomes
{0}[을/를] 조심하는 게야.

이/가

Vowel-dependent

  • If the preceding word ends with a consonant, it becomes
  • If the preceding word ends with a vowel, it becomes
{0}[이/가] 공격을 받아냈다!

와/과

Vowel-dependent

  • If the preceding word ends with a consonant, it becomes
  • If the preceding word ends with a vowel, it becomes
{0}[와/과] 함께라면 조금 안심이야.

으/로

Vowel-dependent

  • If the preceding word ends with a consonant, it becomes
  • If the preceding word ends with a vowel, it becomes
{0}[으/로] 엄호하겠습니다.

이/라면

Vowel-dependent

  • If the preceding word ends with a consonant, it becomes
  • If the preceding word ends with a vowel, it becomes 라면
{0}[이/라면]라면 누구에게도 지지 않지!

Gender Tags

Place these tags before item or object names to influence indefinite cases above.

"Day" is masculine in Spanish.

[male]Dia

The "Defense" stat is female in Italian.

[female]Difesa

"Choice Band" is neutral in German.

[neutral]Wahlband

Special Characters

Use unicode escape characters to achieve special characters:

The total comes to 500\uE024. Will you pay?
Thanks! \u266A Please come again \u266A


Most special letters are placed in the Private Reserved Area.

It is possible to add new special characters by Modding Font.

Shop Prices: \uE100-\uE109

Type icons: \uE080-\uE092

Item icons: \uE0A0-\uE0B2

Button icons: \uF000-\uF029

There are many more than listed here, and more may be added with new control schemes…


Unown Font: \uE041-\uE05A

\uE03F

\uE021

If you shift the characters in your text by E000, you will automatically translate English letters to Unown. Make sure everything is capitalized.


Misc Icons:

  • \u2661
  • \u266A
  • \uE10A
  • \uE10B
  • \uE10C
  • \uE10D
  • \uE10E
  • \uE10F
  • \uE110
  • \uE111
  • \uE023
  • \uE024
  • \uE040