Zoxs

Warper
Member
Joined
Nov 30, 2022
Messages
4
Reaction score
0
First Language
French
Primarily Uses
RMVXA
Hey everyone, I'm new to RMMZ, I usually use VXAce but i decided to upgrade to a newer version. I would liek to know if i want to make plugins, is there resources on how to do it? I made plugins myself with Ruby, so i want to know how to do it with JS.
Thank you
 

Aerosys

Veteran
Veteran
Joined
Apr 23, 2019
Messages
824
Reaction score
814
First Language
german
Primarily Uses
RMMZ

Zoxs

Warper
Member
Joined
Nov 30, 2022
Messages
4
Reaction score
0
First Language
French
Primarily Uses
RMVXA

caethyril

^_^
Global Mod
Joined
Feb 21, 2018
Messages
4,341
Reaction score
3,381
First Language
EN
Primarily Uses
RMMZ

I've moved this thread to Learning JavaScript (from General Lounge). Thank you.

 

Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
577
Reaction score
375
First Language
English
Primarily Uses
RMMZ
In the beginning, there are no significant differences between MV and MZ.
Riiiiiiight, that's why most of the MV plugin library was incompatible with MZ and needed to have their creators convert them for MZ. That's also why @Restart had to develop the FOSSIL plugin to help make all those plugins compatible so that that entire plugin library doesn't go to waste.
 

Jragyn

JABS codemonkey
Veteran
Joined
Aug 14, 2012
Messages
392
Reaction score
300
First Language
English
Primarily Uses
RMMZ
Riiiiiiight, that's why most of the MV plugin library was incompatible with MZ and needed to have their creators convert them for MZ. That's also why @Restart had to develop the FOSSIL plugin to help make all those plugins compatible so that that entire plugin library doesn't go to waste.
I think the point he was trying to make was that they were built in very similar ways, in the same language. Yeah obviously things changed between MV and MZ, but it is probably an accurate statement that if you can write an MV plugin, you can write an MZ plugin, too.
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
6,982
Reaction score
4,821
First Language
English
Primarily Uses
RMMV
@Animebryan Why are so many of your posts sarcastic/rude? Aerosys knows what he's talking about, he frequently gives coding advice and has published a fairly complex plugin.

It is absolutely true that...I'll say a large portion of the code (so you can't try to nitpick over whether saying "most" is mathematically accurate) between MV and MZ is the same. And, of course, the coding language is the same as is the overall structure of the engine and the flow of the game functions.

Aside from that, he is clearly talking about the format of a plugin file, as he references a thread about "the anatomy of a plugin" and then says there are no significant differences in MZ.

The plugins you're referencing that had to be modified to work in MZ were not incompatible because of some formatting change in the plugin file.

You might consider taking it down a notch and make sure you're carefully understanding people instead of jumping down their throats so often.
 

Aerosys

Veteran
Veteran
Joined
Apr 23, 2019
Messages
824
Reaction score
814
First Language
german
Primarily Uses
RMMZ
Riiiiiiight, that's why most of the MV plugin library was incompatible with MZ and needed to have their creators convert them for MZ. That's also why @Restart had to develop the FOSSIL plugin to help make all those plugins compatible so that that entire plugin library doesn't go to waste.
That's true because the majority of plugins use Windows (no, not that one from Microsoft, I mean Window_Base, Window_Selectable...). I admit it's a small but significant difference between MV and MZ that I could have mentioned.

In MV, you create Windows like this (example): const window = new Window_Base(x, y, w, h)

Whereas in MZ you use: const window = new Window_Base(new Rectangle(x, y, w, h))

Besides that, a plugin's structure is 1:1 the same for both engines, with the Plugin Commands as the only exception. That is because MV's and MZ's code bases are similar, same classes, method names, dataflow, connections...
 

Animebryan

And like a Phoenix, I raise from my ashes!
Veteran
Joined
Jul 31, 2012
Messages
577
Reaction score
375
First Language
English
Primarily Uses
RMMZ
@Animebryan Why are so many of your posts sarcastic/rude? Aerosys knows what he's talking about, he frequently gives coding advice and has published a fairly complex plugin.

You might consider taking it down a notch and make sure you're carefully understanding people instead of jumping down their throats so often.
I wasn't jumping down anyone's throat, just simply stating that the differences between MV & MZ plugins was different enough to warrant having the old library of MV plugins be converted for MZ & the creation of a backwards compatibility plugin just for that purpose.

I wasn't being sarcastic & rude, you're making an awfully rude assumption about me yourself. Maybe you should follow your own advice about "make sure you're carefully understanding people instead of jumping down their throats so often.", because you just did that to me.
 

Sword_of_Dusk

Ace Attorney
Veteran
Joined
Sep 13, 2015
Messages
1,019
Reaction score
1,035
First Language
English
Primarily Uses
RMMV
When you start a post with a "Riiiiight", that absolutely comes off as sarcastic. If you had instead said "The fact that people had to convert their MV plugins to work with MZ kind of says otherwise", nobody would bat an eyelash at you for the wording.

That's ignoring the fact that some MV plugins still worked fine. Ultimately, Aerosys was right in what they said, if not quite exact in the situation.
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
6,982
Reaction score
4,821
First Language
English
Primarily Uses
RMMV
I wasn't being sarcastic & rude, you're making an awfully rude assumption about me yourself.
No, I'm not. You have quoted me in a thread calling me "stupid" about something where you were wrong. (even if you hadn't been wrong, that's rude language)

You just responded to this thread with a response that I think any English speaker would interpret as being sarcastic when you were incorrect (both in what you said and in your interpretation of the post).

I have seen you in at least another thread go off on a very similar diatribe about MV/MZ code where you were also incorrect.

And I'm not trying to list anything else that has contributed to this opinion of you.

Maybe you should follow your own advice about "make sure you're carefully understanding people instead of jumping down their throats so often.", because you just did that to me.
If you're maintaining that you truly do not intend this attitude that people (I'm sure not just me) are getting from you, then I suggest you take a moment and re-read your posts before clicking the Post button.

Even this reply, where you quote me and tell me to take my own advice, smacks of sarcasm rather than honestly defending yourself.

In any case, I've said what I felt was necessary, I'll peace out.
 

TheoAllen

Self-proclaimed jack of all trades
Veteran
Joined
Mar 16, 2012
Messages
7,065
Reaction score
9,974
First Language
Indonesian
Primarily Uses
N/A
@Animebryan
You are not contributing to the answer. If there's a difference then specifically say what is the difference. Simply saying "most plugins are not transferable" is not helpful. Be specific on what is the difference and what is to be watched out for. This is for learning. If you are not contributing, then go away.

------
That said, there are differences. How MV and MZ handle the window is different. The main game loop is also different, the plugin commands are different. However, it is not significant enough if you just want to get started to make a plugin. Like every programming language in existence, you simply adapt to the new environment. The source linked here should be still relevant.

@Zoxs
How much do you know about Ruby?
How much do you know about javascript syntax?
 

Zoxs

Warper
Member
Joined
Nov 30, 2022
Messages
4
Reaction score
0
First Language
French
Primarily Uses
RMVXA
@Animebryan
You are not contributing to the answer. If there's a difference then specifically say what is the difference. Simply saying "most plugins are not transferable" is not helpful. Be specific on what is the difference and what is to be watched out for. This is for learning. If you are not contributing, then go away.

------
That said, there are differences. How MV and MZ handle the window is different. The main game loop is also different, the plugin commands are different. However, it is not significant enough if you just want to get started to make a plugin. Like every programming language in existence, you simply adapt to the new environment. The source linked here should be still relevant.

@Zoxs
How much do you know about Ruby?
How much do you know about javascript syntax?
I know the basics of Ruby, I'm a C# programmer so learning programming isn't that hard for me as i have a basic understanding of how it works. I know also a bit about javascript. What im curious about is mostly like how to reference ingame variables and stuff like that
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
5,782
Reaction score
5,597
First Language
English
Primarily Uses
RMMZ
I know the basics of Ruby, I'm a C# programmer so learning programming isn't that hard for me as i have a basic understanding of how it works. I know also a bit about javascript. What im curious about is mostly like how to reference ingame variables and stuff like that
The syntax largely passes over intact with some changes to identifier names. While Ruby uses underscores to separate words, Javascript uses camelCase. And the core of MV/MZ also uses a wrapping property for its variables/switches and things like party members, so instead of $game_variables[x] it becomes $gameVariables.value(x). The .value function just references the internal _data property which contains a key-value pair list of variable IDs and their values.
 

Arthran

Veteran
Veteran
Joined
Jun 25, 2021
Messages
787
Reaction score
889
First Language
English
Primarily Uses
RMMZ
What im curious about is mostly like how to reference ingame variables and stuff like that
This spreadsheet is a valuable resource for that type of thing. It shows you how to replicate any event command using JavaScript, among other things.

Here is also a guide on the basic structure of a plugin, so you can learn about how to do the annotations and such.
 

Latest Profile Posts

So I managed to scare my chief. Between shifts I had an appointment with my psychiatrist, so prior to it I'd told him "If I ain't coming today, they've kept me there.". Then as I was asleep, my phone died. So I overslept and through the entire time I was unreachable.
I spent so much time toiling in VX Ace frankensteining scripts together only for MV to come along and just... have everything.

The overworld tool system in particular I thought was gonna take me a million years to recreate, but nope. Thanks Moghunter.
Going to go live way earlier than usual tonight, pretty much in 20 minutes, purely because I'm bored. :LZSlol:

So... I'm gonna be a parent... XD

Forum statistics

Threads
128,379
Messages
1,194,065
Members
168,877
Latest member
eternaldes
Top