EXP without levels (gradual leveling)

userlame

Veteran
Veteran
Joined
Nov 25, 2014
Messages
47
Reaction score
9
First Language
English
Primarily Uses
It's like the topic title suggests, a script which allows actors to gain exp, but not level up. Stats changes gradually with the EXP.

There is a similar script for VX: http://rpgmaker.net/scripts/5/
Unlike that one, this would allow the game to not bother with levels at all. The actors will get better, but never level up.

I thought I saw a script like this for Ace, but after an extensive search I'm unsure whether I dreamed this or not, lol. Anyhow, much appriciated if anyone decides to do this!
 

Bloodmorphed

Dungeon Fanatic
Veteran
Joined
Sep 17, 2012
Messages
1,466
Reaction score
144
First Language
English
Primarily Uses
I think you can do this without a script. I'm pretty sure you can use a.exp (or whatever it is in equations and whatnot.) where the damage or other things of that nature go. Just make them all level 1, make as much exp you want to level to 2 and cap the level at level 2 (i think if you do 1 the exp will shut off? I'm not 100% sure).

I'd test this myself but I'm quite busy with other things.
 

whitesphere

Veteran
Veteran
Joined
Mar 14, 2014
Messages
1,688
Reaction score
784
First Language
English
When I saw this, I thought it was more "use EXP/JP to increase Stats and/or 'purchase' Skills or greater proficiency when using those Skills"

Sort of "Grow your own character" type of thing.

That would be interesting for a "class-less" RPG.
 

userlame

Veteran
Veteran
Joined
Nov 25, 2014
Messages
47
Reaction score
9
First Language
English
Primarily Uses
I think you can do this without a script. I'm pretty sure you can use a.exp (or whatever it is in equations and whatnot.) where the damage or other things of that nature go. Just make them all level 1, make as much exp you want to level to 2 and cap the level at level 2 (i think if you do 1 the exp will shut off? I'm not 100% sure).

I'd test this myself but I'm quite busy with other things.
The exp curve doesn't work like the other parameter curves. Like, the highest possible exp to level 2 i 90. And even if you managed to do that, the actors stats would never increase because they normally increase with the level.

When I saw this, I thought it was more "use EXP/JP to increase Stats and/or 'purchase' Skills or greater proficiency when using those Skills"

Sort of "Grow your own character" type of thing.

That would be interesting for a "class-less" RPG.
Oh, that would be nice too.
 

Bloodmorphed

Dungeon Fanatic
Veteran
Joined
Sep 17, 2012
Messages
1,466
Reaction score
144
First Language
English
Primarily Uses
The exp curve doesn't work like the other parameter curves. Like, the highest possible exp to level 2 i 90. And even if you managed to do that, the actors stats would never increase because they normally increase with the level.

Oh, that would be nice too.
Huh so it doesn't. For some reason I thought it did. I thought you could edit it manually too oh well. If I weren't busy I'd see if I could write you a script for this as it doesn't seem too hard.

EDIT:

I know this isn't what you want, however there is a way to do this without a script and there is a way to hide someone level if you don't want it to show. You just can make all the params 0 for when the level up, but go off the EXP instead. I will give you more information on how to do this in a bit when I actually figure it out, but this is possible WITHOUT a script. Also depending on how big your game is you probably don't want it to be a parallel process. You can probably have it checked after every battle or something.



Edit#2:

This is how you will hide the level I'm only comment it out instead of deleting it though.

Go into your script and find Window_Base and the lines 461-466

#  def draw_actor_level(actor, x, y)#    change_color(system_color)#    draw_text(x, y, 32, line_height, Vocab::level_a)#    change_color(normal_color)#    draw_text(x + 32, y, 24, line_height, actor.level, 2)#  endAll your doing will be adding the #'s to it. You can do this manually instead of copying and pasting it.

Okay now find line 528 and a a # in front of it. (Window_Base still)

#    draw_actor_level(actor, x, y + line_height * 1)now Window_Status line 86

#    draw_actor_level(@actor, x, y + line_height * 0)

After all this you can go into your class setting and each parameter you can adjust to your liking, as you don't want it to scale with level just level: 1 and level 99: 1 and hit generate curve. Obviously you might want to make the max hp not 1 or the mp lol
 
Last edited by a moderator:

Rendar-

Villager
Member
Joined
Nov 30, 2014
Messages
28
Reaction score
6
First Language
English
Primarily Uses
Is that maximum exp to level 2 just capped via the UI? Can that be changed inside of a script?
 

userlame

Veteran
Veteran
Joined
Nov 25, 2014
Messages
47
Reaction score
9
First Language
English
Primarily Uses
Thanks bloodmorph, that's a neat workaround if this never gets scripted! A bit impractical with the eventing though, as the game would have to be adjusted around that instead of a script that automatically serves the purpose of increasing stats with exp.

Hm, Rendar, you're making a good point, I don't know but if the stats would increase gradually then the levels wouldn't serve much function and could easily be edited out graphically anyhow. 
 

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
You people are crazy! Takes like 4 lines of script code! :p

That first method changed how exp is read, the way its set there it will always be higher than current exp value - so level up never occurs.

The second method multiplies the actors stat value by the exp value / 10 (you probably wanna customize that somewhat.)

class Game_Actor  def exp_for_level(level)    exp * 10  end  def param(param_id)    value = super(param_id) * (exp / 10)    [[value, param_max(param_id)].min, param_min(param_id)].max.to_i  endend

Also, I have some exp gain type scripts that may come in helpful (for the actual formula that causes you to gain exp)

So yea, hope that helps ya ^_^
 

userlame

Veteran
Veteran
Joined
Nov 25, 2014
Messages
47
Reaction score
9
First Language
English
Primarily Uses
That's it, didn't know it was so simple, gee I should learn more scripting! Thank you a whole bunch!
 

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
no worries ^_^
 

Bloodmorphed

Dungeon Fanatic
Veteran
Joined
Sep 17, 2012
Messages
1,466
Reaction score
144
First Language
English
Primarily Uses
That is kind of cool. It was pretty simple, however this seems to be not very customization. It is probably pretty easy to just plug some stuff in there to make it so. But I'd like the freedom to adjust each param to my liking. That is if I were to ever use something like this.
 

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
  def param(param_id)    case param_id    when 1 then value = super(param_id) * (exp / 20)    when 2 then value = super(param_id) * (exp / 15) #...    else ; value = super(param_id) * (exp / 10)    end    [[value, param_max(param_id)].min, param_min(param_id)].max.to_i  end?? ;)
 
Last edited by a moderator:

Bloodmorphed

Dungeon Fanatic
Veteran
Joined
Sep 17, 2012
Messages
1,466
Reaction score
144
First Language
English
Primarily Uses
I figured itd be something like that. Lol, sense thats how I did the difficulty settings.
 

Rendar-

Villager
Member
Joined
Nov 30, 2014
Messages
28
Reaction score
6
First Language
English
Primarily Uses
I could also see this being extended to have an array passed into it stating what other stats should be leveled up and by how much.
 

Bloodmorphed

Dungeon Fanatic
Veteran
Joined
Sep 17, 2012
Messages
1,466
Reaction score
144
First Language
English
Primarily Uses
  def param(param_id)    case param_id    when 1 then value = super(param_id) * (exp / 20)    when 2 then value = super(param_id) * (exp / 15) #...    else ; value = super(param_id) * (exp / 10)    end    [[value, param_max(param_id)].min, param_min(param_id)].max.to_i  end?? ;)
I'm curious, can I write a full script based on this? It will be this obviously, but I'd make it have customization and perhaps some UI changes to change "Level" to Power Level or something.

Edit: I should specify that I am asking permission to do this is because I intend to release it, of course crediting you.
 
Last edited by a moderator:

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
lol. of course you can :)
 

Bloodmorphed

Dungeon Fanatic
Veteran
Joined
Sep 17, 2012
Messages
1,466
Reaction score
144
First Language
English
Primarily Uses
Hmm I've been messing around with this and the 

def exp_for_level(level)    exp * 50  endDoes not seem to work.

EDIT: Nevermind, none of it seems to work

class Game_Actor  def exp_for_level(level)    exp * 10  end  def param(param_id)    case param_id    when 0 then value = super(param_id) * (exp / 20)    when 1 then value = super(param_id) * (exp / 15)    when 2 then value = super(param_id) * (exp / 15)    when 3 then value = super(param_id) * (exp / 15)    when 4 then value = super(param_id) * (exp / 15)    when 5 then value = super(param_id) * (exp / 15)    when 6 then value = super(param_id) * (exp / 15)    when 7 then value = super(param_id) * (exp / 15)    else ; value = super(param_id) * (exp / 10)    end    [[value, param_max(param_id)].min, param_min(param_id)].max.to_i  end  endendlol okay, I think I fixed most of it, but for some reason it's giving me a undefined method for "*"
 
Last edited by a moderator:

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
You seem to have one more end than is necessary there :)
 
Last edited by a moderator:

Bloodmorphed

Dungeon Fanatic
Veteran
Joined
Sep 17, 2012
Messages
1,466
Reaction score
144
First Language
English
Primarily Uses
Yeah I see that now it's giving me undefined method for * and / the *'s in the case statement seems fine when I comment the other one out, but / is also getting an undefined method.

EDIT:

I'm actually going to post this in script help now. Lol
 
Last edited by a moderator:

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

Latest Threads

Latest Posts

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,860
Messages
1,017,038
Members
137,568
Latest member
invidious
Top