mythSSK

Warper
Member
Joined
Mar 8, 2021
Messages
3
Reaction score
0
First Language
English
Primarily Uses
RMMZ
I'd like to give each level a name, rather than just having a number that increments -- e.g.

1 - Neophyte
2 - Junior
3 - Journeyman
4 - Senior
5 - Master

So for a character that was level 3, rather than it actually saying they're level 3, it would have 'Journeyman' listed instead.

Is this easily doable?
 

Shaz

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
41,930
Reaction score
14,556
First Language
English
Primarily Uses
RMMV

I've moved this thread to Plugin Requests. Please be sure to post your threads in the correct forum next time. Thank you.



Anything you want to change about the menu screens will require a plugin.

Will the name also depend on an actor's class? Would a level 10 Paladin show the same name as a level 10 Witch?
 

mythSSK

Warper
Member
Joined
Mar 8, 2021
Messages
3
Reaction score
0
First Language
English
Primarily Uses
RMMZ
[move]Plugin Requests[/move]

Anything you want to change about the menu screens will require a plugin.

Will the name also depend on an actor's class? Would a level 10 Paladin show the same name as a level 10 Witch?
Apologies, thanks for moving the thread. I will make sure to post in the correct forum next time.

I'd be fine with the levels being named the same for every class, but if there's a way to change it by class that would be even better (more customisation is always good).
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
32,380
Reaction score
8,098
First Language
German
Primarily Uses
RMMV
(more customisation is always good).

basically it depends on how much you want to do.

in principle you'll be changing the menu screen from a number to a number-based reference, usually an array - from "level" to "text[level]".
That can theoretically be a multi-dimensional array like "text[class-ID][level]" or "text[class-ID][level][gender-ID]", but you need to find a way to enter the text into the engine - and that is easy for a one-dimensional array but gets more problematic the more dimensions and options an array has.
 

mythSSK

Warper
Member
Joined
Mar 8, 2021
Messages
3
Reaction score
0
First Language
English
Primarily Uses
RMMZ
basically it depends on how much you want to do.

in principle you'll be changing the menu screen from a number to a number-based reference, usually an array - from "level" to "text[level]".
That can theoretically be a multi-dimensional array like "text[class-ID][level]" or "text[class-ID][level][gender-ID]", but you need to find a way to enter the text into the engine - and that is easy for a one-dimensional array but gets more problematic the more dimensions and options an array has.
Fair enough, that makes sense. Say we want it to be named the same way for every class, then. What would be the easiest way to accomplish this?
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
32,380
Reaction score
8,098
First Language
German
Primarily Uses
RMMV
for a limited number of levels I would simply make them plugin properties.
for class-based names it would be one notetag per level into the class notefield of the database and have the plugin read that data.
for a high number of options (especially in case of 3- or 4-dimensional arrays), I would suggest to make an external file based on tables (like excel) and have that read-in.

However that would be the deccision of whoever writes the plugin, and I can't do that for you, I only have time for some general help.
(edited because I mixed up the original first sentence)
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
2,961
Reaction score
2,239
First Language
English
Primarily Uses
RMMV
I think I have something that'll make this pretty trivial, gimme a sec.
 

Trihan

Speedy Scripter
Veteran
Joined
Apr 12, 2012
Messages
2,961
Reaction score
2,239
First Language
English
Primarily Uses
RMMV
Okay, so this is using the VS plugins but you don't need them. Add the names to your class in a <levels:> tag like this:

<Levels:Neophyte,Junior,Journeyman,Senior,Master>

Then in place of the code that calls drawActorLevel, put

JavaScript:
const levelMeta = actor.currentClass().meta["Levels"];
if (levelMeta) {
  const levelNames = levelMeta.split(",");
  if (levelNames[actor.level - 1]) {
    this.drawTextEx(levelNames[actor.level - 1], sx, sy, sw);
  }
} else {
  this.drawActorLevel(actor, sx, sy);
}

It's a pretty quick-and-dirty implementation and doesn't have sanity checks like what to do if the meta is there but you haven't set it up correctly with names for every level, but should give you the gist of how to do it.
 

Latest Threads

Latest Posts

Latest Profile Posts

Doing RPG Maker News #18 | Moghunter is Back, Encrypt MV/MZ Plugins, Isometric Geometric Tiles
Unironically, no joke, after consideration and self-reflection, I have decided that the best thing for my creative/workflow/commitment problems is to spend EVEN MOAR hours a day playing videogames than I normally do. (Micro-thread)
FINALLY got my weather system implemented. Who needs a black mage when you have a weathermancer! :p
Oh boy! COVID19 lockdown again! Good thing I already never go outside! :D

Forum statistics

Threads
110,642
Messages
1,054,905
Members
143,769
Latest member
Lynnen
Top