Caethyril's MZ Plugins

caethyril

^_^
Veteran
Joined
Feb 21, 2018
Messages
1,959
Reaction score
1,406
First Language
EN
Primarily Uses
RMMZ
Caethyril's RMMZ Plugins
Updated 2020-10-27: General - Cae_OnUseEffects v1.3
Looking for RPG Maker MV plugins? Click here!

Features :kaohi:
I've made some plugins for RPG Maker MZ! Here's a list of them with brief feature descriptions.
  • The dates are when each plugin was last updated.
  • For plugins marked script, JavaScript knowledge is strongly recommended.
  • "See also" lists similar and/or alternative plugins; these are not guaranteed to be compatible.
Plugins:
  • General (19) – standalone plugins for various purposes.
  • Extensions (0) – plugins that add features to other people's plugins.
    Nothing here yet! :kaophew:
  • Fix/Patch (1) – patches for unexpected behaviour seen in code by other authors.
    • v1.0 CaeF_RestoreRouteFix 2020-08-21 - patches oversight in core scripts (details here)
      When an auto move route is restored, one command will no longer be skipped.
All of the above can be viewed and downloaded here:
Suggestions for improvements or additional features are welcome!

How to Use :kaopride:
  1. Download the plugin file (e.g. Cae_BattleMessages.js).
    Google Drive has a download button in the top-right (arrow pointing down into an open box).
  2. Place it in your project's folder, under js/plugins.
  3. Open your project in RPG Maker MZ.
  4. Go to Tools > Plugin Manager.
  5. Double-click an empty line to add a new plugin.
  6. Select the plugin from the Name list.
To edit the values of any of the parameters displayed to the right of the drop-down, double-click them in the list. The more complicated plugins have details for use in their help description; you can view this help via the Plugin Manager. Additional notes:
  • Avoid renaming my plugins.
    (Renamed plugins won't see their plugin parameters.)
  • Save your project after making changes in the Plugin Manager.
    (Plugin changes are only applied to the game after saving.)

Troubleshooting :kaoback:
If you experience problems with any of these plugins that you want to report, please post in this thread! Information that can be helpful:
  • Instructions stating how to reproduce the problem in a new project.
    (If I can't reproduce the problem, I probably can't help you.)
  • A screenshot of the console when the unexpected behaviour occurs.
    (You can open the console by pressing F8 during test-play.)
Alternatively, you can make a thread in JavaScript/Plugin Support.

Terms of Use :kaothx:
These plugins are all free to use, modify, and redistribute!
For the standalone plugins ("General" category), these conditions apply:
  1. None of the original plugin header may be removed.
  2. Credit should be given to Caethyril for the original work.
Happy RPG Making~! :kaoluv:
 
Last edited:

Milennin

"With a bang and a boom!"
Veteran
Joined
Feb 7, 2013
Messages
2,494
Reaction score
1,624
First Language
English
Primarily Uses
RMMV
Thanks, might try out some of these. By the way, the WindowMotion link plugin has no url attached to it.
 

wrigty12

Just a QAer playing with Javascript
Veteran
Joined
Jan 11, 2014
Messages
596
Reaction score
124
First Language
English
Primarily Uses
RMMZ
Can I make a request? This might tie your WindowMotion and FaceOnRight plugins together, but can either:
1) The FaceOnRight plugin also allow you to move the NameBox to the same side as the Face?
2) The WindowMotion have an option to specifically move a window to alight to a specific edge of the screen, like the right edge or top edge?

Also I checked and your FaceOnRight plugin looks to be compatible with at least the VisuStella Message Core, so it looks promising it'll be compatible with others!
 

caethyril

^_^
Veteran
Joined
Feb 21, 2018
Messages
1,959
Reaction score
1,406
First Language
EN
Primarily Uses
RMMZ
WindowMotion lets you specify a JS formula for the target position, so it's possible to specify window positions relative to the screen edges using some scripting:
  • Left: 0
  • Right: Graphics.boxWidth - this.width
  • Top: 0
  • Bottom: Graphics.boxHeight - this.height
You can tell I developed it for myself rather than for a request, haha. It's very versatile if you are familiar with scripting, though! :kaojoy:

The FaceOnRight name box idea is great! I've included a new plugin parameter in v1.1 to sync the name box position with the face position. Also fixed a small bug with mirroring not happening sometimes~

Also good to hear my stuff is playing nicely with other plugins! I downloaded the VisuStella demo today but haven't tried it out yet. :kaothx:
 

wrigty12

Just a QAer playing with Javascript
Veteran
Joined
Jan 11, 2014
Messages
596
Reaction score
124
First Language
English
Primarily Uses
RMMZ
Thanks for updating!

The FaceOnRight now throws an error. I have the parameter set to Never, but it looks like setting it to any value doesn't change it. I turned off all other plugins and I still see it happening.:
Code:
js/plugins/Cae_FaceOnRight.js:207 Cae_FaceOnRight.js unrecognised face mirror rule "".
 

caethyril

^_^
Veteran
Joined
Feb 21, 2018
Messages
1,959
Reaction score
1,406
First Language
EN
Primarily Uses
RMMZ
Whoops, yea, I accidentally put two lines the wrong way round. The error was harmless, I think, but it's gone now (still v1.1, same link)~ :kaophew:

Also pushed an update for PictureTouch: scripted binds now save/load correctly and picture clicks should no longer count as "move here" map clicks. :kaopride:

Edit: ...and updates for TileAnimExt & SlopeMove to fix problems with loading data. :kaoswt:
 
Last edited:

RK DracoRoy

Fire Emblem RPG Gamer
Veteran
Joined
Jun 29, 2017
Messages
245
Reaction score
64
First Language
English
Primarily Uses
RMMZ
@caethyril Are the rest of your plugins from MV coming over someday? I had found great use for your Cae_ConsumeEval plugin, which made things really convenient with item conditions.
 

caethyril

^_^
Veteran
Joined
Feb 21, 2018
Messages
1,959
Reaction score
1,406
First Language
EN
Primarily Uses
RMMZ
@RK DracoRoy yep, sorry, got distracted with some other things. Just released an MZ port of ConsumeEval; I did a couple of basic tests, seems it didn't need much tweaking. Let me know if it bugs out, though! :kaothx:

If you (or anyone else) have any more specific requests I'd be happy to focus on those first, otherwise I'll look into trying to merge/extend stuff like I've done with AutoSwitchVars~ :kaophew:
 

chocopanda

Veteran
Veteran
Joined
Sep 24, 2017
Messages
41
Reaction score
16
First Language
English
Primarily Uses
RMMV
A Quest Plugin is what I look for everywhere T.T
PS: I can't afford Visustella's plugins
 

caethyril

^_^
Veteran
Joined
Feb 21, 2018
Messages
1,959
Reaction score
1,406
First Language
EN
Primarily Uses
RMMZ
@chocopanda yea, quest logs are generally a lot of work, since it's an entirely new scene and (usually) a bunch of new windows, too. I'll consider it, but don't expect a quest log from me any time soon. :kaoslp:

You can achieve a basic quest log using the Select Item command, e.g.
  • Make one "Hidden Item A" type item (or B if you're already using A) per logged quest.
  • Make an item called "Journal" or something, for the player to access the quest info.
  • Make the journal call a common event like this:
    Code:
    ◆Comment:Player selects quest from inventory.
    :       :(It's set to zero if they cancel.)
    ◆Select Item:quest, Hidden Item A
    ◆Comment:What did they pick?
    ◆If:quest = 4
      ◆Comment:Selected item ID 4! Quest = rat slayer!
      :       :Now check quest progress and show appropriate info~
      ◆If:dead rats < 5
        ◆Text:None, None, Window, Bottom
        :    :Bob wants me to kill 5 rats.
        :    :I've killed \v[11] so far.
        ◆
      :Else
        ◆Text:None, None, Window, Bottom
        :    :I've killed 5 rats!
        :    :I should go back and let Bob know.
        ◆
      :End
      ◆
    :End
    ◆If:quest = 15
      ◆Comment:Selected item ID 15!
      :       :etc...
      ◆
    :End
  • Then add/remove the hidden items from the player when they start/finish each quest~ :kaopride:
Not as fancy as a special quest log plugin, but it gets the message across! :)
 

Tentacurls

Villager
Member
Joined
Feb 26, 2014
Messages
19
Reaction score
3
First Language
English
Primarily Uses
RMMZ
For the keyboard inputs plugin, I wanted to map w a s d to up left right down. I changed the 'name' of the respective codes to the respective direction, and all the keys work except for W. Do you happen to know why? Or do you need more info?
 

Jhin

Veteran
Veteran
Joined
Mar 20, 2012
Messages
70
Reaction score
17
First Language
Spanish
Primarily Uses
Hi,

First off, thank you for your awesome plugins.

I'm amazed with this plugin. Very useful and I thind it should deserve a lot of love.

  • v1.1 Cae_CustomTextCodes 2020-08-30 script
    Script your own text codes like \V[x] or \$. Includes premade examples.
Could you please provide an example to make an /item[x] code work to show item icon and item name?

I'm trying to use but this code does not work.

Code:
const itemId = parseInt(args[1], 10);
return this.drawItemName($dataItems[itemId].iconIndex, 20, 20)
Thanks.
 

RK DracoRoy

Fire Emblem RPG Gamer
Veteran
Joined
Jun 29, 2017
Messages
245
Reaction score
64
First Language
English
Primarily Uses
RMMZ
@caethyril I do have an additional request for MZ.

This idea is ExtendedSkills where if I select a skill in battle, a window will come up around the center (location and size (for the sake of text) can be adjusted) showing this set of skills based on the skill notetag.

Code:
<Extended Skill: x, x, x>
MZ allows replacing the Attack command with a skill through a trait "Attack Skill". The extended skill window can come from both the Actor command window and the Skill window.
 

caethyril

^_^
Veteran
Joined
Feb 21, 2018
Messages
1,959
Reaction score
1,406
First Language
EN
Primarily Uses
RMMZ
@Tentacurls: by default W is mapped to "pagedown", that's the reason for the difference. KeyboardInputs has a safety parameter called Preserve Original Keys: if you set that to false in the Plugin Manager, it should allow you to remap W to "up" like you've described. :kaophew:

In that case I'd recommend removing any keys you're not using from the parameter list, if you haven't already...otherwise other things (like Z for "ok", or X for "escape") may also be overwritten. :kaoswt:

@Jhin: glad you like it! :kaopride: Try this code instead:
JavaScript:
const itemId = parseInt(args[1], 10);
const item = $dataItems[itemId];
if (!item) return '';
return '\x1bI[' + item.iconIndex + '] ' + item.name;
I.e. get the item, then return "\I[x] item name" as the replacement text. (It has to be \x1b here rather than a simple \ because backslashes get converted just before processing the text.)

[Edit: also, it should be used like \item[12], i.e. a \backslash, not a /forward slash. :kaoslp:]

@RK DracoRoy: nice idea, I'll stick it on my list~ :kaothx:
 
Last edited:

Jhin

Veteran
Veteran
Joined
Mar 20, 2012
Messages
70
Reaction score
17
First Language
Spanish
Primarily Uses
Thank you for the help @caethyril

It is very nice the way you provide support and you help other people.

Thank you again.
 

Raith

Squire
Veteran
Joined
Oct 28, 2019
Messages
64
Reaction score
50
First Language
Indonesian
Primarily Uses
RMMZ
Hey, thank you for the great plugin!

For the Cae_PictureTouch I'd like to report this "bug" (well, i'd like to call it expected behavior rather than a bug, anyway):

The picture respond nicely to the supposed input and execute the following bound script/common event. However, when you click-spam or press-spam on the picture while the bound common even is still running, the bound common event/script will be executed again and again after the the first execution is done. The common event/script will loop and loop and loop until you stop clicking on the picture. This has more devastating effect on the "press" option, rendering the game unplayable.

My current workaround is by reducing picture opacity to zero before the main sequence of script/common event and finally increase it again in the end of the common event. However, this method also make the click-based movement being triggered, resulting player running into the clicked tile coordinate.

EDIT: edited for grammatical error
 
Last edited:

SimProse

Veteran
Veteran
Joined
Jul 9, 2016
Messages
371
Reaction score
202
First Language
English
Primarily Uses
I'm trying your custom title screen plugin, adding a Quit Game command using another plugin. I put in 4 commands without scrolling, and it seems to ignore it, and still only displays 3 commands in the box at once and needing to scroll. Using LunaTechs Quit2Desktop plugin if that matters.
 

caethyril

^_^
Veteran
Joined
Feb 21, 2018
Messages
1,959
Reaction score
1,406
First Language
EN
Primarily Uses
RMMZ
@Raith: oh, yep. Not sure what the best way around that would be...maybe unbind the event at the start of its common event, then rebind it at the end? :kaoswt:

I'll look into a more elegant solution! Maybe a "disable bind" plugin command and/or an option to suppress a picture bind if it's still processing that picture's bind~ :kaophew:

@SimProse: have you tried loading my plugin after LunaTechs Quit2Desktop? (Click and drag to rearrange plugins in the Plugin Manager.) Seems to work OK for me! :kaothx:
 

SimProse

Veteran
Veteran
Joined
Jul 9, 2016
Messages
371
Reaction score
202
First Language
English
Primarily Uses
pluginlist.fw.png
Here's my plugin list. Does not seem to work still.
menu.png
Hmm...once I turn off the VisuStella Core plugin, it works fine. That's something many people will use, so you might want to check on that.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Little early but to all of you that celebrate it :

Tomorrow is Halloween! I can't wait to go to Boxi Park and show off my costume! Also one of Dad's friends is staying the night, so he might get to see the show.
Here's the title-screen for the game I'm working on: :LZSgrin:
Oh man I've been struggling with event spawners and Qmovement compatibility for quite a while- went as far as to use a tool just to pick crops :kaocry: but Ritter got their spawner to work with Qmove and I'm screeing! It's still in testing period but just- the feeling of getting over a large gameplay hurdle is a HUGE relief, I'm so thankful to Ritter! It's a cheap paid plugin but totally worth it!
Welp, I just finished my favorite part of RPG making which is creating skills, now onto the tasks I like less so the motivation is lower. At least I'll get to create new ones while designing enemies!

Forum statistics

Threads
104,657
Messages
1,007,906
Members
136,147
Latest member
Kandoras
Top