RMMZ MZ port of Materia plugin

Ophiucus Games

Ophiucus Games
Veteran
Joined
Nov 15, 2018
Messages
88
Reaction score
54
First Language
English
Primarily Uses
RMMZ
As the title suggests, I'm looking for an MZ port of Victor Engine's Materia plugin.
I have tried to do this myself but unfortunately I'm not proficient enough at Javascript...:rsad:
Victor doesn't seem to be active at the moment and I love this plug in and was hoping to use it for my new project on MZ. Would appreciate any leads!

EXPLANATION OF PLUGIN
For those who haven't played FF7, it's set up so that you equip Materia (using a dedicated armor type on RPG Maker) onto your weapons and armour. Whilst these are equipped these bestow skills on the user and as the Materia gain AP through battle, additional skills are unlocked. Victor's plugin also lets the equipped Materia boost your stats (with the amount of the boost increasing as you gain AP.
 

Kupotepo

Fantasy realist/Advocatus Diaboli
Veteran
Joined
Jul 5, 2017
Messages
1,945
Reaction score
2,065
First Language
Thai
Primarily Uses
RMMV
@Ophiucus Games, first thing, sorry to say this. May you get permission of the owner about this? Also, you might have talk with @Archeia about this too. Since we do not see Victor active in here.
Before anyone feel comforable about port the plugin.
 

Ophiucus Games

Ophiucus Games
Veteran
Joined
Nov 15, 2018
Messages
88
Reaction score
54
First Language
English
Primarily Uses
RMMZ
You’re absolutely right - I haven’t been able to contact the original plugin author. So gaining permission might be tricky. It’s such a shame as it was such a well made plug in. Do you have any other advice?
 

Kupotepo

Fantasy realist/Advocatus Diaboli
Veteran
Joined
Jul 5, 2017
Messages
1,945
Reaction score
2,065
First Language
Thai
Primarily Uses
RMMV
@Ophiucus Games, maybe talk to @Archeia by direct message her? She has final authority in here and she is really intelligence. Plus she might have ability to contact Victor.
 
Last edited:

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,517
Reaction score
3,221
First Language
Binary
Primarily Uses
RMMZ
TBF, victor doesnt own the rights to a materia system. Square Enix does.

So, you cannot port his (victors) materia system without his permission, but its totally fine for someone to completely remake the system in their own way - just not as easy as porting would be..
 

Dororo

Gespenst MKII pilot
Veteran
Joined
May 24, 2020
Messages
264
Reaction score
921
First Language
Italian
Primarily Uses
RMMV
On the site, there's a note that derivative works should keep the attribution and a link to the original material.
That implicitly allow for derivatives.
So, you can contact Pippo that do the port, and quote the thing as:
"Materia system - made by Pippo from the original code made by Victor Sant [link to the website]"
 

Ophiucus Games

Ophiucus Games
Veteran
Joined
Nov 15, 2018
Messages
88
Reaction score
54
First Language
English
Primarily Uses
RMMZ
TBF, victor doesnt own the rights to a materia system. Square Enix does.

So, you cannot port his (victors) materia system without his permission, but its totally fine for someone to completely remake the system in their own way - just not as easy as porting would be..
Sure, but I'm not planning to use the term Materia or use it in the same way - more as a way to attach stat-boosters to weapons and add spell scrolls to a book of spells.
With all the above said - is anyone keen to be involved in the port? Or rebuilding from scratch if that floats your boat?
Alternatively does anyone want to give me pointers on how to port it? The errors start with drawing the windows for the menu scene as I understand that this has changed in MZ.
 

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,316
Reaction score
537
First Language
indonesian
Sure, but I'm not planning to use the term Materia or use it in the same way - more as a way to attach stat-boosters to weapons and add spell scrolls to a book of spells.
With all the above said - is anyone keen to be involved in the port? Or rebuilding from scratch if that floats your boat?
Alternatively does anyone want to give me pointers on how to port it? The errors start with drawing the windows for the menu scene as I understand that this has changed in MZ.
for starter you can try does the Scene_MateriaEquip working (accessing it outside the menu);
you could create an event that have script call:
Code:
SceneManager.push(Scene_MateriaEquip);
if it works fine... then you only need to modify on how the main menu access the materia scene to MZ style... it will be really easy port.

but if there's error on the scene... then the port might be require you to check what goes wrong in the scene too... some tips:
1) the windows...
window base in MV pass (x,y,width,height) argument
window base in MZ pass (rect)
so when creating the window... you can create new Rectangle(x,y,width,height) and pass that instead
x, y, width, height...

2) some function in Window Base have different name for the same function
just change the function to the new name...

3) some function in Window Base is MOVED to the child class (this is stupid design btw in my opinion)
ex: in MV Window_Base have drawActorFace function
in MZ it moved to Window_StatusBase
solution... copy the function code in Window_StatusBase and rename it to Window_Base

hope this help for starter...
 
Last edited:

Ophiucus Games

Ophiucus Games
Veteran
Joined
Nov 15, 2018
Messages
88
Reaction score
54
First Language
English
Primarily Uses
RMMZ
for starter you can try does the Scene_MateriaEquip working (accessing it outside the menu);
you could create an event that have script call:
Code:
SceneManager.push(Scene_MateriaEquip);
if it works fine... then you only need to modify on how the main menu access the materia scene to MZ style... it will be really easy port.

but if there's error on the scene... then the port might be require you to check what goes wrong in the scene too... some tips:
1) the windows...
window base in MV pass (x,y,width,height) argument
window base in MZ pass (rect)
so when creating the window... you can create new Rectangle(x,y,width,height) and pass that instead
x, y, width, height...

2) some function in Window Base have different name for the same function
just change the function to the new name...

3) some function in Window Base is MOVED to the child class (this is stupid design btw in my opinion)
ex: in MV Window_Base have drawActorFace function
in MZ it moved to Window_StatusBase
solution... copy the function code in Window_StatusBase and rename it to Window_Base

hope this help for starter...
Thank you so much. Here's the console:
Screen Shot 2020-10-09 at 12.30.13.png
The error that comes up is "argument must be a rectangle" - it is a window/scene error rather than an issue of access from the main menu. The script to call the scene directly returns the same error.

Code:
Scene_MateriaEquip.prototype.createMateriaWindow = function() {
		var wx = 0;
		var wy = 288;
		var ww = Graphics.boxWidth  - 312;
		var wh = Graphics.boxHeight - 288;
		this._statusWindow = new Window_MateriaStatus(wx, wy, ww, wh);
		this.addWindow(this._statusWindow);
Code:
	Window_MateriaStatus.prototype.initialize = function(x, y, width, height) {
		Window_Base.prototype.initialize.call(this, x, y, width, height);
	};
I can see it's likely to do with the function that draws windows in MV vs MZ. My javascript is basic but how would it be as simple as changing it to Window_MateriaStatus(rect) - and if so where would the x, y, width and height arguments go? Sorry for being dumb!
 

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,316
Reaction score
537
First Language
indonesian
Code:
   Window_MateriaStatus.prototype.initialize = function(x, y, width, height) {
        Window_Base.prototype.initialize.call(this, x, y, width, height);
    };
could be changed to
Code:
   Window_MateriaStatus.prototype.initialize = function(x, y, width, height) {
        var rect = new Rectangle(x, y, width, height);
        Window_Base.prototype.initialize.call(this, rect);
    };
basically it create rectangle with the x, y, width, height passed by the function...
and then we pass the rectangle.

btw don't be shy to ask something... everyone is newbie at the start too :D.
hope this help.
 

Ophiucus Games

Ophiucus Games
Veteran
Joined
Nov 15, 2018
Messages
88
Reaction score
54
First Language
English
Primarily Uses
RMMZ
I've ironed this out and a few other issues but I'm currently stuck again. Looks like it will be a bigger deal to port than I'd realised.Screen Shot 2020-10-09 at 17.06.47.png

Is anyone willing to talk me through it on discord (or better yet, take it on as a project?)
 
Last edited:

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,316
Reaction score
537
First Language
indonesian
I've ironed this out and a few other issues but I'm currently stuck again. Looks like it will be a bigger deal to port than I'd realised.View attachment 163402

Is anyone willing to talk me through it on discord (or better yet, take it on as a project?)
yeah i also think it will be quite hard to port seeing the error screenshot above...
maybe it even easier to made from scratch than porting it...
 

Ophiucus Games

Ophiucus Games
Veteran
Joined
Nov 15, 2018
Messages
88
Reaction score
54
First Language
English
Primarily Uses
RMMZ
yeah i also think it will be quite hard to port seeing the error screenshot above...
maybe it even easier to made from scratch than porting it...
Yeah I expect you're right...
Does anyone want to volunteer? ;)
 

Ophiucus Games

Ophiucus Games
Veteran
Joined
Nov 15, 2018
Messages
88
Reaction score
54
First Language
English
Primarily Uses
RMMZ
@Galv I wonder if you'd be willing to consider porting your lovely Shard's system for MV which has somewhat similar features?
 

Galv

Veteran
Veteran
Joined
Oct 1, 2012
Messages
1,309
Reaction score
1,580
First Language
English
Primarily Uses
RMMZ
It's on my list, it will be done one day.
 

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

Latest Threads

Latest Posts

Latest Profile Posts

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.

Forum statistics

Threads
106,033
Messages
1,018,441
Members
137,820
Latest member
georg09byron
Top