ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
7,231
Reaction score
2,857
First Language
Dutch
Primarily Uses
RMMV
PluginName: ShadowDragon_ULS (Universal Level System)
Author: ShadowDragon

TERMS OF USE:
Credit ShadowDragon
YOU ARE NOT ALLOWED TO MODIFY, EXTEND, REDISTRIBUTE OR SELL IT.
NON-COMMERCIAL ONLY, COMMERCIAL REQUIRED PERMISSION.

CHANGING COLORS OF THE GAUGE OR WIDTH NOT CURRENTLY POSSIBLE,
PAID VERSION GET THE UN-ENCRYPTED VERSION AND HELPFILE ON HOW AND WHERE
TO CHANGE THE COLOR AND WIDTH TO DO SO, AND CANNOT BE REDISTRIBUTE OR BE SOLD.

ONCE PAID, REFUND IS NOT POSSIBLE, SO TEST THE PLUGIN FIRST BEFORE DOING SO!
ONCE PAID, COMMERCIAL USE IS ALLOWED WITHOUT PERMISSION!

You may break it, but I won't fix it!
Do not remove the header!

Some functions get improvements while I learn JS more.

Version: 0.4.0 (with dynamic ExpCurve) (click image to see it)
Untitled Project.gif

Most people know Moogle_X plugin or another one, they are good, no question doubt,
but also tons of features and settings to config, but why this one?

Most plugins of this kind requires "Actors" to be existed, this plugin is not independed
of "Actors" that exist in the databse, in fact, it can be ANY kind, just name it, and add
an image if you like, level them seperately, this gives you a bit more control.

it doesn't have notetags to setup, but gain exp during battle, you decide when and where
to gain experience, and how you set it up.

while the plugin is still in WIP, and is fully function, I still have a TODO list, that will be added
when I got time to implement it which is as follows for some customisation:

TODO List:
nothing more atm, but leave comments.

if you have other suggestions, leave them behind.

Read the helpfile for possibilties.


WHAT'S NEW:
09-01-2022
- added No Data command if no entree is added
- added Dynamic ExpCurve
- changes boolen for Static or Dynamic to options.
- adjusted the helpfile more usefriendly.

compabilities:
not that I know off, while the scene is entirely on it's own, it shouldn't give
any problems, but if it does, let me know.



ULS Scene Window
ULS_Scene.png

Event Setup (to let them say different things on the level)
ULS_EventSetup.png

DataULS.json setup
DataULS_Settings.png
JSON Structure:
startlevel = optional, the starting level when a friend or faction is added.
DynExp = optional, give each friend or faction a different ExpCurve.
- Despite the option to choose, if set to Static, DynExp is ignored.
varID = optional, use a variableID to sync with friend/faction level.
description = add a description, use "\n" for a new line
bust = optional, add a bust or leave use "" or null (default size is 700 Width x 500 height)
status = optional, even it saver to add this one, and set it to true or false.
- true = visible, false = invisible.

Use Scriptcalls to control rather they level or gain exp, this is the list of scriptcalls:
SCRIPTCALLS: only "getLv" can be used in a conditional branch
$gameULSystem.getLv(name)
example: $gameULSystem.getLv("Lisa") == 2 //check if Lisa is level 2

$gameULSystem.addLv(name)
example: $gameULSystem.addLv("Lisa") //this add 1 level to Lisa

$gameULSystem.addLv(name, amount)
example: $gameULSystem.addLv("Lisa", 2) //this adds 2 levels to Lisa

$gameULSystem.dropLv(name)
example: $gameULSystem.dropLv("Lisa") //this drop 1 level from Lisa

$gameULSystem.dropLv(name, amount)
example: $gameULSystem.dropLv("Lisa", 2) //this drops 2 levels from Lisa

$gameULSystem.gainExp(name, exp)
example: $gameULSystem.gainExp("Lisa", 3) //this gives Lisa 3 exp

$gameULSystem.setExpValue(name, value)
example: $gameULSystem.setExpValue("Lisa", 5) //set the exp value for Lisa to 5

$gameULSystem.setLv(name, level, exp)
example: $gameULSystem.setLv("Lisa", 2, 7) // set level of Lisa to 2 and Exp of Lisa to 7

$gameULSystem.setStatus(name, status)
example: $gameULSystem.setStatus("Lisa", true) // set status of Lisa to true if false

$gameULSystem.setStatus(name, status)
example: $gameULSystem.setStatus("Lisa", false) // set status of Lisa to false if true

Set a status to true will show the name in the list, while false will hide it.

ULS Open
Example: ULS Open // open the ULS Scene

ULS Add NAME
Example: ULS Add Lisa // add Lisa to the list

ULS Remove NAME
Example: ULS Remove Lisa // removes Lisa from the list

ULS GainExp NAME EXPGAIN
Example: ULS GainExp Lisa 4 // give Lisa 4 exp points.

ULS addLv NAME AMOUNT
Example: ULS AddLv Lisa 3 // give Lisa 3 levels
(if amount is ommitted, it gives 1 level)

ULS dropLv NAME AMOUNT
Example: ULS dropLv Lisa 3 // drops Lisa level by 3
(if amount is ommitted, it drops 1 level)

\ULS[name, startlevel] = get the starting level (name is not showed)
\ULS[name, level] = get the level (name is not showed)
\ULS[name, exp] = get current experience (name is not showed)

in order to show the name or status specific, use the following:
Example:
Lisa current status are:
Startlevel: \ULS[Lisa, startlevel],
Lv: \ULS[Lisa, level],
Exp: \ULS[Lisa, exp].

It will than show:
Lisa current status are:
Startlevel: 3,
Lv: 5,
Exp: 2.

start level: can vary per "name" you set up in the DataULS.json,
level: shows the "name" level he/she currently is (or faction)
exp: shows the amount of exp he/she currently have (or faction)

When you want to prompt the "Name" that level up automatically or by interaction
when gaining enough experience, you can set up a scriptcall if you want to use it.

var LvUp = $gameULSystem.gainExp(name, exp);
$gameSwitches.setValue(x, LvUp);

for example:
var LvUp = $gameULSystem.gainExp("Lisa", 4);
$gameSwitches.setValue(5, LvUp);

than use text message like: Lisa is now Lv \v[1] (depending if you add a varID in the datafile).
Turn of the switch(x) to OFF after it so it can be re-used again.

ULS Settings (base)
Max Lv per Name: set max level (currently static only)

Exp Per Level:
use single number to keep a static level up rate,
use [10,20,30,40,etc] (up to max level) for a static expCurve
Exp Curve keep repeating the last exp untill max level is reached.

Exp Choice: (options)
- Exp Curve (Static) : show Numbers as Exp gain in window
- Exp Gauge (Static) : Show a gauge of Exp gain in window
- Exp Curve (Dynamic): Show Dynamic Exp Curve (set in DataULS.json)
- Exp Gauge (Dynamic): Show Dynamic Exp Curve (set in DataULS.json)

Exp Gauge Number:
this is optional to show the gauge exp number, default is false.
when true, Exp Numbers are showed (this is ignored if no Gauge is chosen)

Menu Settings:
Show Menu Command : when true, it is showed in the menu, otherwise, it's not.
use an event or item to prompt the list.

Menu Command : Name how the command is showed on the menu or scene.

Window Settings
Adjust all windows and their position of the X, Y position and the Width and Heights.
Title = the window of the given name in Menu Command
List = the entry of the "names" in DataULS
Data = the information window.



WARNING: Gauge colors, width and height are fixed, as there will be paid
version with an additional explanation on how and where to edit the width
height, position of X and Y and colors of the gauge to fit your needs!

the DEMO dont have this version, but you can easely overwrite without errors.
in case there are some errors, let me know.

Download [here] it has the demo, and files, you can copy the
DataULS.json (from data folder) and JS from plugins folder.

recommended resolution (for center the window scene) 1200x864)[/CODE][/SPOILER]
 

Attachments

  • ExpCurve.png
    ExpCurve.png
    70.5 KB · Views: 27
Last edited:

Cezar_cr

Veteran
Veteran
Joined
Feb 11, 2018
Messages
73
Reaction score
38
First Language
Pt
Primarily Uses
RMMV
Thank you for this contribution!
It's great to see more of social components into games.
I have a game in mind that would help kids develop social and emotional skills. This is definitely something that will help.
Good luck on your studying JS, I'm beginning to venture into that myself.
 

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
7,231
Reaction score
2,857
First Language
Dutch
Primarily Uses
RMMV
@Cezar_cr Thank you, but there are 2 other ones, but way more extended than this one
and has its window andgauges, but also lots of features.

I want it rather simple, not to complicated to use, while I forgot something in the explaination,
in the config, Lisa has a starting level 0 and variable ID 1, while "pete" has none,
when nothing is added, starting level is automatically level 0, but it can start at lv 3
to specify or lv 0 if you want to play save.

if you have any trouble, let me know =)

Good luck on your game, who knows I help you bug test it :)
 
Last edited:

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
7,231
Reaction score
2,857
First Language
Dutch
Primarily Uses
RMMV
Plugin updated with new explanation and scriptcalls.
version 0.2.0, with added windows (recommend resolution 1200x864)
this resolution is temporaly.

can be used for friends, guilds, factions, own image per person or others.
when I got time, I add some params for adjusting the positions and sizes.

Check Demo for fully understand how it works.

have Questions, suggestion? Leave comments :)
 

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
7,231
Reaction score
2,857
First Language
Dutch
Primarily Uses
RMMV
update 0.3.0
New parameter (set new exp rate)
single number for each level, or an exp curve per level,
show either exp number for the exp requirement or show a gauge,
gauges could also show numbers if you wish to do so.

and not to forgotten, adden plugin commands for easier user,
LvUP still requires a scriptcall with the specific switch, might
add it as plugin command if needed and wish to have it.
 
  • Like
Reactions: TSR

Shaz

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
45,509
Reaction score
16,407
First Language
English
Primarily Uses
RMMV

Moved to MV Plugins at OP's request

 

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
7,231
Reaction score
2,857
First Language
Dutch
Primarily Uses
RMMV
small Update, scene stops crashing when no entree is active.
this was a problem for me and maybe for others that required
to be 1 active, now, the list can start empty.

Enjoy =)
 
  • Like
Reactions: TSR

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
7,231
Reaction score
2,857
First Language
Dutch
Primarily Uses
RMMV
WHAT'S NEW:
09-01-2022
- added No Data command if no entree is added
- added Dynamic ExpCurve
- changes boolen for Static or Dynamic to options.
- adjusted the helpfile more usefriendly.

Probably the final public version unless a bug or error.
Hope you enjoy the plugin and features. Demo updated as well.
 

Latest Threads

Latest Profile Posts

I've got good news and bad news. The good news is, there aren't any bad news to report. The bad news is, there aren't any good news to report.

Or as others say, yesterday was uneventful.


I am curious that can you "understand/get the point" about what does this place do generally?
(ARPG game)
If anyone knows any C# programmers, please send them my way.
Chilling at night in a tavern.
ChillingAtTavern.png

After 'multiple breakdowns', it's finally over. 10/10 will do this again.
Ever notice that villains can reform and become better people, but heroes can only ever die... or live long enough to see themselves become villains?

Isn't that interesting?

Forum statistics

Threads
129,845
Messages
1,205,688
Members
171,010
Latest member
TheUndeadFlowers
Top