じ☆ve冰风 发表于 2026-7-24 21:17:26

Evaluate JavaScript in Show Text boxes

Message JS Eval
Version 1.0
by punitdh89​

Description
Allows you to evaluate JavaScript inline inside the RPG Maker MV/MZ Show Text or Show Choices commands. You can place JavaScript inside <JS>...</JS> tags in Show Text and Show Choices, and the result will be inserted directly into the displayed text at runtime.

This is useful for dynamically showing actor data, party data, conditional text, calculations, variable values, and/or other information without needing extra event commands, "temporary" switches, variables, or script calls.

Features

[*]Evaluates JavaScript inline using <JS>...</JS> tags
[*]Works in Show Text and Show Choices
[*]Displays a fallback error message if a JS block fails
[*]Logs JS block errors to the console for debugging
[*]Great way to learn JavaScript!
[*]Compatible with other plugins (e.g. VisuStella Message Core)

Screenshots

Don't do it this way anymore!





Just do it in one line:





Imagine you want to display a message depending on the current HP Rate of the player.

With default RPG Maker MZ:




It uses up variables and requires 4+ event commands.

But now, with plugin:




Imagine you want to show a message depending on whether a door switch is ON or OFF.

With default RPG Maker:




With plugin:




How to Use

[*]Drop the plugin into your project’s js/plugins/ folder
[*]Load it through the Plugin Manager
[*]Use <JS>...</JS> anywhere inside Show Text or Show Choices

Example

                JavaScript:       
<JS>$gameParty.gold()</JS>

This will display the party’s current gold.

You can also use conditional expressions:
                JavaScript:       
Door has been <JS>$gameSwitches.value(10) ? "unlocked" : "locked"</JS>

.

Or actor data:
                JavaScript:       
Hello \N, your current HP is: <JS>$gameActors.actor(1).hp</JS>


Basically any JavaScript you want!

You can also use this inside Show Choices event command.

Example (Show Choices event command):

Merchant: "This will cost you \v Gold."

[*]Pay \v Gold
[*]Try and haggle for <JS> $gameVariables.value(35) / 2 </JS> Gold
[*]Nevermind.

NOTE (Regarding Escape Codes Inside JS):
If your JavaScript returns RPG Maker escape codes such as \N, \V, and similar backslash-based message codes, you MUST escape the backslash inside the JavaScript string.

Use double backslashes:
                JavaScript:       
<JS>$gameActors.actor(1).hpRate() <= 0.3 ? "\\N, you need to heal!" : ""</JS>

Do not use a single backslash (this is wrong
):
                JavaScript:       
<JS>$gameActors.actor(1).hpRate() <= 0.3 ? "\N, you need to heal!" : ""</JS>


This is required because the contents of <JS>...</JS> are parsed as JavaScript first, before RPG Maker processes its usual message escape codes.


Plugin Commands
There are no plugin commands in this plugin.

Compatibility

[*]Works well on the MZ engine.
[*]Works well with VisuStella plugins (Message Core, etc.)
[*]Has not been tested with other plugins
[*]Has not been tested on MV, but I see no compatibility issues

Download
See attached file.

AI Disclaimer
This plugin was created by me without the use of AI tools. I am using it in my own game to make life easier for myself. AI was only used to write documentation and JS Doc comments.

FAQ
Q: Can I use this in Show Text?
A: Yes.

Q: Can I use this in Show Choices?
A: Yes.

Q: Can I write full JavaScript statements inside <JS>...</JS>?
A: Yes, but keep in mind the block is evaluated directly at runtime. Only use trusted code.

Q: Why am I seeing ?
A: Your JavaScript inside the <JS>...</JS> block threw an error. Open the console to see the exact error log.

Q: Why is \N or \V not working inside my JS block?
A: Because JavaScript processes the string first. You must escape the backslash, for example "\\N" instead of "\N".

Credits
punitdh89

Terms of Use
Free for personal and commercial use.
Attribution optional but appreciated.


本贴来自国际rpgmaker官方论坛作者:punitdh89处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/evaluate-javascript-in-show-text-boxes.183383/
页: [1]
查看完整版本: Evaluate JavaScript in Show Text boxes