Eli Class Curves - Build the status of your classes independent of the editor!

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
Version 2.1.1 - 11/03/2020
- Removed the plugin parameters that control how the actor can exceed the cap value. This was moved to an extension plugin: "CapControl".
- Hopefully fixed the error of the initial curve being higher than the cap curve.
- Fixed a bug in the last params gains result where it keep register curve values even when the param has already exceeded.

@RK DracoRoy now I think everything is fine!
I didn't add the feature to control how to exceed the cap parameter on this plugin. instead, I have made an extension plugin to do only that, but now you can choose what will be able to exceed the cap value:
  • Item(Grow effect and event command add param).
  • Equipment
  • Param rate(traits)
  • Buff rate(Buff value)
It's in the same download link.

I did that extension because, at least for now, I had to overwrite the default function Game_Actor.prototype.param.
So the thing is, overwriting this function can be aggressive to the code as other plugins maybe can use this function too. So if you have some incompatibility, try to play a little bit with the plugin order. If nothing helps, you can show your problem here and I will give my best to solve it.
 

RK DracoRoy

Fire Emblem RPG Gamer
Veteran
Joined
Jun 29, 2017
Messages
314
Reaction score
104
First Language
English
Primarily Uses
RMMV
@Eliaquim Thanks so much.

With Cap Control enabled, the problem with the initial stat being higher than the cap is back, only if at least one setting is set to true.

Only incompatibility is with this plugin, no matter if I placed it above or underneath: https://forums.rpgmakerweb.com/index.php?threads/icf-soft-params-core.127201/

You have a edit a line there first then test it.

I placed this in a state and the meta tag <ice> being on an equipped weapon.

Code:
<Custom Params>
atk = this.equips()[0].meta.ice ? 4 : 0
</Custom Params>

It'll add an additional +4 to Atk if the condition is met. With Cap Control enabled, this part doesn't add the extra +4. There's more notetags but this is one of the notetags from there I use.
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
Hi there!
With Cap Control enabled, the problem with the initial stat being higher than the cap is back, only if at least one setting is set to true.
I can't see to replicate the error here. For me, everything is working fine. In the images below you will see that I set the initial defense value to 40. But the cap is 30.
And I have put true for equipment to exceed the cap. So I started the actor at level 1 and the defense is not above the cap.
Started the actor at level 99, and the defense is not above the cap too.
akVZ9ZR.png


kdQN7xf.png


o8DBDbl.png


JkY0qmd.png

But I didn't get it. Why you have to put the initial stats value higher than the cap one? Because the cap parameter is for you to set the max value for a character. I can't see a reason for you to put the initial above that. Can you elaborate a little bit more? Maybe you can find something through formulas.

Only incompatibility is with this plugin, no matter if I placed it above or underneath: https://forums.rpgmakerweb.com/index.php?threads/icf-soft-params-core.127201/

Yeah, I had taken a look at the code and it is not doable a compatibility patch with this plugin. Even using only the Custom Parameter Curve, it will not work. It rewrites a lot of functions related to parameters and also some in particular that both plugins overwrite and are much different from one to another.
 

RK DracoRoy

Fire Emblem RPG Gamer
Veteran
Joined
Jun 29, 2017
Messages
314
Reaction score
104
First Language
English
Primarily Uses
RMMV
Okay, checking it again. The initial stat followed through, so that's my mistake on that part. And I understand that part about his Custom Stat plugin. It's fine!
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
Updated the MV version!

Version 1.2 - 01/20/2021

- Now you can edit your class curves through plugin parameters(just like the MZ one).
- Added initial values for all classes.
- Added preset classes.
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
MZ

Version 3.1.0 - 01/28/2020

- Removed some unnecessary properties from the game actor and put them into the plugin namespace, since we don't need them to be on the save file.
- Fixed a bug that doesn't let the user reference THIS (actor) on the formulas that define the curve values.
- Add compatibility with EliMZ_CustomParameters.js
- Add compatibility with EliMZ_EnemyClass.js
- Changed the plugin name to EliMZ_ClassCurve.js

Version 3.0.0 - 12/18/2020
- Adapted to work with Eli Book 3.0.0.

MV

Version 1.4 - 01/25/2021

- Add compatibility with Eli_CustomParameters.js
- Add compatibility with Eli_EnemyClass.js
- Changed the plugin name to Eli_ClassCurve.js

Version 1.3 - 01/21/2021
- Removed some unnecessary properties from the game actor and put them into the plugin namespace, since we don't need them to be on the save file.
- Fixed a bug that doesn't let the user reference THIS (actor) on the formulas that define the curve values.
 

Meike

||Telling Stories Through Games||
Veteran
Joined
Apr 25, 2015
Messages
111
Reaction score
172
First Language
English
Primarily Uses
RMMV
So I've nearly been pulling my hair out over this issue.
When I set the min/max of say, Attack to this._level it works. But when I try anything else like this._atk, this._def, etc, the number comes back NAN
1612448425527.png

I was hoping to use this alongside the Custom Parameters by using this.cparam(paramId) but I couldn't get any of that to work in my main project so I sent it to a blank project (to make sure it wasn't a plugin incompatibility) and started to get the NaN if I did any 'this.' call other than this._level

I'm legit so confused now, and was really wanting to use this and Custom Parameters for my game as so far there looked to be very little conflict with VisuStella and VisuStella hasn't came out with their own solution yet.
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
Hi @Meike!

Well, let's make it work!
Can you show me a screenshot of your note tag formula in the plugin parameters?

Also, this._level is correct, but this._atk and this._def will not work, they are not valid javascript formulas(will return undefined).
NaN means "not a number". It happens when you try to make a math operation and somehow there is something that is not a number, in this case, undefined.

The right will be this.atk, this.def, etc... Without the "_".

The best way for to know the valid javascript formulas you can enter there, is open the console log with F12 or F8 and type there:
$gameActors.actor(id).[Your formula here]
dev tools.PNG

But what do you want to do in the formula? Can you explain a little bit, so I can make one example for you? Or it's viable if you send me that clean project you made?

I'm legit so confused now, and was really wanting to use this and Custom Parameters for my game as so far there looked to be very little conflict with VisuStella and VisuStella hasn't came out with their own solution yet.
About that, there is no much I can do. Their code is obfuscated, which means that I can't read them, and because of that I can't take a look at it and check out what the problem may be for me to make a patch. You have to wait for them to take a look.

But I know there is a free plugin of them that also supports Custom Parameters, I believe it's the Core Engine. If so, it's very unlikely that both plugins that make custom parameters will work together anyway.
 

Meike

||Telling Stories Through Games||
Veteran
Joined
Apr 25, 2015
Messages
111
Reaction score
172
First Language
English
Primarily Uses
RMMV
@Eliaquim The VS Core actually doesn't add custom parameters just allows you to add custom parameters from other scripts to show in their menus. So no, they don't have custom params yet.

Just for testing, in my blank/new project I set Atk's min/max to this.atk. I'm using the event command to change everyone's level to test this, and atk becomes NaN even in this case.

The goal is, with your custom parameters to have stats grow based on a formula with a custom stat, such as: 1 + this.cparam(0)
1612462191660.png
1612462486353.png
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
@Meike
Just for testing, in my blank/new project I set Atk's min/max to this.atk. I'm using the event command to change everyone's level to test this, and atk becomes NaN even in this case.
I have tried the same as you, and here it's working just fine.
yprAHK8.png

So I have to ask you to send me this blank project for me to take a look and figure out why this error is happening. Can send through here or inbox, the way you want.

The goal is, with your custom parameters to have stats grow based on a formula with a custom stat, such as: 1 + this.cparam(0)
If I understand it correctly, you want the atk growth to be based on custom parameter stats, right?
If so, then you have to do something like that:
YRIIzMP.png

The VS Core actually doesn't add custom parameters just allows you to add custom parameters from other scripts to show in their menus. So no, they don't have custom params yet.
As for the visustella thing, yes they add custom parameters to the game, they create it.
If you scroll into the help file of the plugin you will see more evidence there.
So again, I'm totally in the dark here. There is no way for me to know how they implement this because of the obfuscate thing, so no way to make a patch. Let's hope they can do a patch for you ^^
AdgZvf6.png
 

Meike

||Telling Stories Through Games||
Veteran
Joined
Apr 25, 2015
Messages
111
Reaction score
172
First Language
English
Primarily Uses
RMMV
@Eliaquim Well that's weird. I'll send you the sample project when I can

As for the VisuStella, I know it's really confusing cause I had to read through it a zillion times to understand but it legit is just for adding params to menu, it doesn't create any:
1612481368143.png
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
As for the VisuStella, I know it's really confusing cause I had to read through it a zillion times to understand but it legit is just for adding params to menu, it doesn't create any:
- Yeah it was! But thanks for clarifying that to me ^^

Bug Fixed!
Version 3.1.1 - 02/04/2020
- Fixed a bug of the parameters returning NaN when leveling up.
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
Version 3.2.0 - 02/27/2021
- Added a feature that lets you decide if the actor will join the party always with initial stats regard its level.
- Added a "Growth Chance" feature for each parameter, that can decide if the actor can raise a parameter when leveling up. Similar to the Fire Emblem Series
- Changed a behavior that made the actor stats be recalculated when he change class to the same class id it already has.
- Fixed an issue with enemies stats resulting in NaN when using Eli Enemy Class
- Fixed an issue with enemies don't properly level up when using Eli Enemy Class
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
Version 3.3.0 - 03/11/2021
- Fixed an issue when getting the min param value.
- Fixed an issue that was messing with the parameter changes, due to the parameter arrays are referencing the same object in memory.
- Code clean-up and compatibility with class promotion.
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
Version 3.3.3 - 04/25/2021
- Add a QOL parameter to let you choose the name of the custom parameter when setting the curve data. It's only visual.
Capturar.PNG
Version 3.3.2 - 04/19/2021
- Fixed the default value of the class preset not showing the growth and bonus params as defaults.
Version 3.3.1 - 03/15/2021
- Fixed an issue that battlers are recovering all hp/mp and erasing states when change class.
 
Last edited:

XVoid

Conceptual Severance Mage
Veteran
Joined
Apr 22, 2016
Messages
49
Reaction score
25
First Language
English
Primarily Uses
RMMZ
Ran into an error when I tried to playtest. I've attached some screenshots below. I ended up making a blank project to make sure it wasn't a compatibility thing, and the error still popped up. A friend made me try a bunch of things that went over my head, but I've been able to verify that it's just an issue with this plugin, I tried removing the cap control and custom params (removed them both together and individually) and it still pops up.
 

Attachments

  • Screenshot 2021-05-07 04.16.51.png
    Screenshot 2021-05-07 04.16.51.png
    10.2 KB · Views: 3
  • Screenshot 2021-05-07 04.18.06.png
    Screenshot 2021-05-07 04.18.06.png
    48.4 KB · Views: 3
  • Screenshot 2021-05-07 04.19.21.png
    Screenshot 2021-05-07 04.19.21.png
    42.8 KB · Views: 3

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
Hi @XVoid !

I believe I know what is happening.
The plugin is trying to get the property "cap" of a parameter:

JavaScript:
const curve = Plugin.getClassCurve(classId, isCustom);
const param = curve[id]['cap'];

But it is not finding the curve for a specific parameter. My guess is that this parameter is a "Custom parameter".

Check how many parameters you have made into the Eli Custom Parameters:
1620427260777.png


And make sure you have the same amount here(on the Eli Class Curves:
1620427110538.png

[EDIT] If it not work, please upload this sample project to me so I can take a look.
 

XVoid

Conceptual Severance Mage
Veteran
Joined
Apr 22, 2016
Messages
49
Reaction score
25
First Language
English
Primarily Uses
RMMZ
Hi @XVoid !

I believe I know what is happening.
The plugin is trying to get the property "cap" of a parameter:

JavaScript:
const curve = Plugin.getClassCurve(classId, isCustom);
const param = curve[id]['cap'];

But it is not finding the curve for a specific parameter. My guess is that this parameter is a "Custom parameter".

Check how many parameters you have made into the Eli Custom Parameters:
View attachment 188613


And make sure you have the same amount here(on the Eli Class Curves:
View attachment 188612

[EDIT] If it not work, please upload this sample project to me so I can take a look.
It didn't work, so here's a link to the sample project. To further specify, I did end up getting it to run by uninstalling the custom parameters plugin, but no matter what I put for minimum custom stats, I can't get it to avoid crashing with the custom parameters plugin installed.


EDIT: So I toyed around with this sample project some more and it seems the thing making it crash wasn't the minimum parameters plugin param in class curves, it was that I didn't have the stat curves for the custom stats set up properly in the default NPC class curve. Once I added one for each, the game could run.

That said, this means there's a secondary issue -- before making the sample project, I got a crash error in my main project which I thought was related to the error I got in the sample project, but in hindsight it definitely isn't. The error I get in the source project seems to be an issue where I'm not allowed to have certain parameters have certain values. I've attached a screenshot of the error and the console stack below.

EDIT #2: it seems to be a load order issue. I got the exact same settings from my main project to run just fine in the sample project, with only those four plugins installed. Where in the load order should these plugins (the same four from the sample project) go, exactly? In particular, in comparison to VisuStella plugins? I have too many plugins installed to screenshot them all at once, but I've gotten your plugins to work in this project before, I just can't remember the load order I used.
 

Attachments

  • Screenshot 2021-05-08 16.17.15.png
    Screenshot 2021-05-08 16.17.15.png
    12.8 KB · Views: 2
  • Screenshot 2021-05-08 16.17.19.png
    Screenshot 2021-05-08 16.17.19.png
    141.7 KB · Views: 2
Last edited:

BloodletterQ

Chaotic Neutral Assassin
Veteran
Joined
Aug 15, 2012
Messages
1,540
Reaction score
1,189
First Language
English
Primarily Uses
N/A
May I suggest a feature? I'm curious if there's a way to limit the amount of stats gained (ie can only gain 3 points in the non HP/MP stats) per level-up.
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
1,990
Reaction score
1,459
First Language
Portuguese - Br
Primarily Uses
RMMZ
It didn't work, so here's a link to the sample project. To further specify, I did end up getting it to run by uninstalling the custom parameters plugin, but no matter what I put for minimum custom stats, I can't get it to avoid crashing with the custom parameters plugin installed.


EDIT: So I toyed around with this sample project some more and it seems the thing making it crash wasn't the minimum parameters plugin param in class curves, it was that I didn't have the stat curves for the custom stats set up properly in the default NPC class curve. Once I added one for each, the game could run.

That said, this means there's a secondary issue -- before making the sample project, I got a crash error in my main project which I thought was related to the error I got in the sample project, but in hindsight it definitely isn't. The error I get in the source project seems to be an issue where I'm not allowed to have certain parameters have certain values. I've attached a screenshot of the error and the console stack below.

EDIT #2: it seems to be a load order issue. I got the exact same settings from my main project to run just fine in the sample project, with only those four plugins installed. Where in the load order should these plugins (the same four from the sample project) go, exactly? In particular, in comparison to VisuStella plugins? I have too many plugins installed to screenshot them all at once, but I've gotten your plugins to work in this project before, I just can't remember the load order I used.
@XVoid Sorry, I miss your post!
Well, I downloaded the sample project you sent, and the issue was that you have not set the curve data for the custom parameters on the plugin parameter, as you said before.

But the problem with your main project, about the order, I believe if you have put the plugins in the wrong order, the MZ Engine will tell you on the plugin manager.
Like, if you put Custom Parameters below Class Curves, the plugin manager will tell you that Custom Parameters must be above Class Curves.

About your screenshots, I can see there is 4 type of different errors. And I believe, my plugin has thrown an error, because of the other errors. So if you fix one, I believe it will fix the others.

The first one that seems to me that is the bad configuration of a plugin parameter or plugin command.

But I can also see a lot of my plugins and visu ones. Maybe is compatibility, or just a wrong configuration of a note tag for example(Since you are using Eli Dynamic Parameters too).

Unfortunately, in a project with a lot of plugins, can be easy to trigger compatibility. I really need to take a look at your project for me to be able to figure out the error.

May I suggest a feature? I'm curious if there's a way to limit the amount of stats gained (ie can only gain 3 points in the non HP/MP stats) per level-up.
Hi there!
Yes, the plugin already has this feature. You can set this on these parameters:
1620865290619.png
 

Latest Threads

Latest Profile Posts

I am having such a good hair day but because it's thunderstorms all day I don't go out and as such nobody will see my hair >.< It's not often my hair cooperates!
Pretty much stopped posting in the progress thread cuz it feels like talking to the void, lol, so I've just been posting on IG instead. But someone finally liked my post there, lol. Dunno if I'll continue tho. Probably not xD

My game's progressing quite well. Just kinda stuck on mapping right now. Decided to go the side, slightly top down view route. I'm drawing everything from scratch for a personal touch uwu
Stomach isn't feeling too good last time. Perhaps something I ate
Phew! logged back. Seems I was too occupied with 3D learning (yeah for RPGM purposes) creating IRL space, trying to grow catnip, dealing with health and DC is good. (so MrC) ^^
Tyler.stewart wrote on Cherry's profile.
I was wondering if you've heard anything about the patch that allows you to show text anywhere on the screen utilizing pictures being upgraded to work with the official 2k3 release? Your work with 2k3 is awesome dude, keep it alive. I'm 33 and am still playing with 2k3 largely thanks to your work with the game engine. I appreciate the official patch updates you post. Please continue posting

Forum statistics

Threads
112,336
Messages
1,067,514
Members
145,977
Latest member
LOURPG
Top