Quasi Params Plus

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
782
First Language
English
Primarily Uses
RMMV

[Quasi] Params Plus Version 1.07 MV


by Quasi


 



What it does:
Params Plus allows you to add a fixed param value to states and equipment. With this you can create states that will add a constant value to a parameter. Or create a poison / regeneration state that ticks a fixed number. Params Plus also includes a few new parameters and lets you create new parameters that you can use and modify!
 

Params Note Tag


<params>Param: Value</params>


Where param can be: MHP, MMP, ATK, DEF, MAT, MDF, AGI, LUK, any of the new Parameters included or any of the new Parameters that you create.
Value can be any number or even a formula. Can use a and v[] but not b!
 
(This can be placed inside, Actors, Classes, Enemies, Weapons, Armors and State notetags)
 
HRT, MRT, TRT are new params that work like HRG, MRG, TGR but instead of increasing/decreasing by a percentage, they tick a fixed value.



New Params

(HRT) Hp Regeneration tick - Works like Hp Regeneration (Ex-Parameter)
(MRT) Mp Regeneration tick - Works like Mp Regeneration (Ex-Parameter)
(TRT) Tp Regeneration tick - Works like Tp Regeneration (Ex-Parameter)
(MCC) Mp Cost Constant - Works like Mp Cost Rate (Sp-Parameter)
(TCC) Tp Charge Constant - Works like Tp Charge Rate (Sp-Parameter)
(PDC) Physical Damage Constant - Works like Physical Damage (Sp-Parameter)
(MDC) Magical Damage Constant - Works like Magical Damage (Sp-Parameter)
(FDC) Floor Damage Constant - Works like Floor Damage (Sp-Parameter)
(EXC) Experience Constant - Works like Expericence (Sp-Parameter)

Creating new Parameters


To use custom parameters, you first have to enabled "Use Custom Parameters" in the plugin settings. Next you need to create a json file inside the data folder called "Parameters.json".
If you do not know how to create a .json file download my sample
 * https://gist.github.com/quasixi/3b928832bf42d4471560
 
JSON template <JSON>




[
{"abr": "abbreviation 1", "name": "param 1 name", "default": value}, 
{"abr": "abbreviation 2", "name": "param 2 name", "default": value}
]


 (See the Example json file above for a better example!)
Set abbreviation to the abbreviation you want to use for the new param.
* Do not use any existing abbreviations ( Example: mhp, mmp, atk, ect..)
Set param name to the full name of the parameter.
Set default value to an number ( Can not use formulas here! )
** Everything should be inside quotes except the value for default!
**  Be careful with comma placement! Place a comma after every closing bracket } but not on the last one!
 
If you need helping setting these up, let me know or give me a list of the abbreviations, full name and default values, and I'll create it for you.



Using new Parameters

After you have created the new parameters you can use them the same way as you use existing parameters.
For example, lets say the abbreviation of a parameter I made was "qpp"
If I want to get the value of qpp for my player I would use:




$gameParty.members()[member ID].qpp


Or if you want to use these parameters inside a formula you would do:




a.qpp    or    b.qpp


These new parameters can be used inside the fixed params note tag!



To Change a custom Parameter use <Script Call>


Code:
$gameParty.members()[member ID].addCParam(CParamId, value)

CParamId is the id of the custom parameter. which is based on the order the custom param was made. So in my example since param qpp was made first that would have an id of 0, while qpt has an id of 1.
Value can be a negative number.
 
To Set a custom Parameter use <Script Call>




$gameParty.members()[member ID].setCParam(CParamId, value)


CParamId is the id of the custom parameter. which is based on the order the custom param was made. So in my example since param qpp was made first that would have an id of 0, while qpt has an id of 1.
Value is the number you want to set the parameter too.

Getting data from the new custom parameters




QuasiParams.customAbr(ID)QuasiParams.customName(ID)QuasiParams.customMin(ID)QuasiParams.customMax(ID)


 *     Set ID to the id of the custom parameter.



Converting Stats to Ex-Parameters or Sp-Parameters




You can now convert X amount of points from a stat to a % of an Ex-Parameter!
NoteTag:




<rates>X STAT to XPARAM</rates> 


Set X to the number, make X negative for a negative gain in the rate.
STAT should be the abbreviations for any of the normal parameters + new parameters + custom parameters. My example I used agi.
XPARAM should be the abbreviation for an xparam or sparam
 
Abbreviations for xparams:



hit, eva, cri, cev, mev, mrf, cnt, hrg, mrg, trg


Abbreviations for sparams:



trg, grd, rec, pha, mcr, tcr, pdr, mdr, fdr, exr 



Example of this in the Examples spoiler.


Using a formula instead


Note Tag:




<ratesForumla>XPARAM: value</ratesFormula>


Set XPARAM to the abbreviation for a xparam or sparam


Value can be any number or even a formula. Can use a and v[] but not b!



Examples



Example 1:



<params>MHP: 100ATK: 20</params>


Would result in that state adding 100 to max hp and 20 to attack.
 
Example 2:



<params>MHP: -100MRT: 5 + v[1]</params>


Would result in that state removes 100 hp but you will have an mp regen of 5 + value of variable 1
* value can be negative
* param is not case sensative
 
Example of Stat to rate:



<rates>5 agi to cri5 agi to hit</rates>


For every 5 agi you will gain 1% of critical and hit rate.
(Can only be used inside Actors, Classes and Enemy notes!)



<ratesFormula>cri: (a.agi / 5) / 100</ratesFormula>


This will add "(a.agi / 5) / 100" to cri.


* Xparams and Sparams are percentages meaning, they're usually between 0.00 to 1.00, 0 being 0% and 1.00 being 100%, which is why there is a / 100 in my example.


(Can only be used inside Actors, Classes and Enemy notes!)


Links:
Github
Terms of use ( Different from my Ace terms. )
 
Easy JSON Editor:
https://github.com/quasixi/RPG-Maker-MV/blob/master/Scenes/QuasiEZJSON.js
 
Last edited by a moderator:

Roguedeus

It's never too late to procrastinate...
Veteran
Joined
Mar 19, 2013
Messages
527
Reaction score
106
First Language
English
Primarily Uses
N/A
Would you be willing to extend this to S and X params other than regen?

edit:

Just a friendly note to those new to this plugin and not savvy in the use of Javascript or note tags in general...

When you make your note tag, make sure that there are no unnecessary spaces between the chosen parameter and the beginning of the line...

Example:

Code:
<--- Lines start here<params>  MHP: 10  //<---- This will not work!</params><params>MHP: 10   //<---- This will work.</params>
 
Last edited by a moderator:

Kizami

Alejandro
Veteran
Joined
Dec 23, 2012
Messages
38
Reaction score
12
First Language
Spanish
Primarily Uses
RMMV
Ohhh, I was waiting for this :3 Thanks for the script Quasi!
 

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
782
First Language
English
Primarily Uses
RMMV
Which S and X params do you have in mind? because to me the rest seem better off as percentages. Except maybe floor damage and experience.

And you're welcome!
 

Roguedeus

It's never too late to procrastinate...
Veteran
Joined
Mar 19, 2013
Messages
527
Reaction score
106
First Language
English
Primarily Uses
N/A
First, I want to say that I LOVE your profile symbol. Simple, elegant and unique all in one.

Also, I apologize for my rather abrupt initial reply. I was kind of in between things and had a moment to post and run. :)

As for specific params to be applied in a non-percent format. I would love it if I could assign specific hard numbers to Physical & Magical Damage rate... Shaving off 1 or 2 points from every hit... etc... Also the ability to change TP & MP costs by 1 point increments. As a matter of fact, if this could be extended to equips that would be excellent. But I'll be more than happy if its added at all.

The primary use I can imagine is in conjunction with Yanfly's Auto Passive States. Allowing for learning non-use skills that instead add states with parameter improvements will allow for some interesting class advancements.

Again, thanks for your attention.
 

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
782
First Language
English
Primarily Uses
RMMV
First, thank you!

Ah yeah I see now. I'll add those in an extend this to equipment as well. I'll probably be able to add those features in by tonight, if not then maybe in 2 days because I'll be busy tomorrow.
 

Fernyfer775

Veteran
Veteran
Joined
Oct 6, 2013
Messages
1,312
Reaction score
814
First Language
English
Ohhhh, I like what I'm seeing here. Going to try this when I get home, thank you!
 

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
782
First Language
English
Primarily Uses
RMMV
Update dated version is up. Extended this function to work on weapons and armors. Added a few new params:

* (MCC) Mp Cost Constant - Works like Mp Cost Rate (Sp-Parameter) * (TCC) Tp Charge Constant - Works like Tp Charge Rate (Sp-Parameter) * (PDC) Physical Damage Constant - Works like Physical Damage (Sp-Parameter) * (MDC) Magical Damage Constant - Works like Magical Damage (Sp-Parameter) * (FDC) Floor Damage Constant - Works like Floor Damage (Sp-Parameter) * (EXC) Experience Constant - Works like Expericence (Sp-Parameter)Tried not to overwrite any method to avoid any incompatibility, but there was a few cases that I had to over write for PDC, MDC and TCC. This was also previously true for HRT, MRT, and TRT. So if you feel it's not working, feel free to let me know what plugin it doesn't work with.
 

Fernyfer775

Veteran
Veteran
Joined
Oct 6, 2013
Messages
1,312
Reaction score
814
First Language
English
I set up a poison state with damage that is tied to a variable, which is called at the beginning of the skill and tagged the state with:

 

<param>

HRT: -v[7]

</param>

 

But, nothing seems to happen at the end of the turn.

 

EDIT: It worked after I added "s" to the end of param. (Your examples say "param" instead of "params")

The damage portion of it is working now, but there's no popup for the damage :p
 
Last edited by a moderator:

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
782
First Language
English
Primarily Uses
RMMV
Fixed the examples lol didn't notice, sorry about that!

Yeah I just tested, looks like the Ex-Param versions don't even get logged in the default battle system. But I do see them popping out in the side-view. If you're not seeing it in the side-view are you using any plugin that modifies the battle system in any way?
 

Fernyfer775

Veteran
Veteran
Joined
Oct 6, 2013
Messages
1,312
Reaction score
814
First Language
English
I'm using the entirety of Yanfly's Core and Battle engine. 
 

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
782
First Language
English
Primarily Uses
RMMV
Hmm I can still see the dmg popup, it's right after everyone acts. I've tried disabling my script and using the normal poison state with the ex-parameter and the popup is running the same as with my script. The only time I don't see either popup ( with my script and without my script while using the default poison state ) is when I'm using front view battle system. I tried setting "Show HP Text" In yanflys battle engine and still no poison text in front view.
 

Fernyfer775

Veteran
Veteran
Joined
Oct 6, 2013
Messages
1,312
Reaction score
814
First Language
English
When I turn off Yanfly's Battle core, I can see the pop, so it must be some sort of incompatibility with that.
 

jonthefox

Veteran
Veteran
Joined
Jan 3, 2015
Messages
1,322
Reaction score
473
Primarily Uses
Hey Quasi, would it be easy for you to have this script allow you to also do this via notetag for actors, classes, and enemies (instead of having to give a passive state to each of them)?  
 

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
782
First Language
English
Primarily Uses
RMMV
I was thinking about adding that last time, but then I was like hmm you can already add fixed params to actors and enemies ( I totally forgot about the new params I made ) so I thought it would be useless. But yes I can extend this to actors, classes and enemies! Thanks for reminding me.

I'll have the updated version up sometime tomorrow or late tonight with a patch for Fernyfer's bug as well.
 

jonthefox

Veteran
Veteran
Joined
Jan 3, 2015
Messages
1,322
Reaction score
473
Primarily Uses
awesome thanks :)  really great and useful script btw.   if you could also eventually get in all of the other EX-params as well, that would be wonderful too. :)
 
Last edited by a moderator:

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
782
First Language
English
Primarily Uses
RMMV
What other Ex-Params? Because in my opinion the other Ex-Params are best off as a rate. If anything they should be affected by another stat, like agi should be able to increase hit rate and crit rate.

I'm about to get started on doing the updates so won't be too long from now hopefully.
 

jonthefox

Veteran
Veteran
Joined
Jan 3, 2015
Messages
1,322
Reaction score
473
Primarily Uses
Oh yeah, I was thinking the option to say

<Params>

EVA: a.agi/5

<Params>

would make every 5 points of agility give you 1% increased evasion.  Not sure if including rates would be compatible with this script, though.   
 

Quxios

Veteran
Veteran
Joined
Jan 8, 2014
Messages
1,055
Reaction score
782
First Language
English
Primarily Uses
RMMV
Okay, the new version is up. It extends this functionality to actors, classes and enemies. Which now that I think about it, it's pretty cool with formulas. Now you can increase enemies base stats based on a variable using this.

I can add those ex params in but it will be a bit tricky to keep it user friendly because if the formula isn't setup correctly they won't work as expected. even for your example it would have to be:

(a.agi / 5) / 100since it's a rate, 1 is 100% so you want values from 0.00 to 1.00, but I can always do that / 100 inside the script

But I do like that idea, but I just have to think of whether if I want to add it to this script or make a new script for it.
 

jonthefox

Veteran
Veteran
Joined
Jan 3, 2015
Messages
1,322
Reaction score
473
Primarily Uses
Awesome!  Yeah, this will actually make it so easy to have difficulty level settings, since you can just give every enemy stat formulas based on a variable and then have the player choice set the variable to different levels.

Hmm yeah, not sure whether it should be in a separate plugin or not, i think the important thing is that since players use different systems, there should be a way for the formula to allow say "every 5 agi gives you 1% eva" but also for people who use really low numbers in their games, "every point of agi gives you 5% eva."   
 

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

Latest Threads

Latest Posts

Latest Profile Posts

buinguyenhoangtho wrote on fizzly's profile.
Hello @fizzly, i would like to use your asset/ resource for my project ( is maybe commercial ). May i have your permission? Thanks you !
Working on breaking the limits of RPGMaker! :cool:
I have 470+ hours on RMMV but have only made a demo game, is this normal? :kaoswt: (I lose motivation a lot plus I use a 32gb laptop, so..)
I like Iron Maiden.
Benku wrote on Magnus0808's profile.
Hey man you helped me out a long time ago with a plugin i was wondering if you can help me out one more time since its literally the last thing i need help with if not is cool but id figured id ask you one more soild.

Forum statistics

Threads
95,427
Messages
929,082
Members
125,659
Latest member
AphoticAmaranth
Top