Help - Search - Members - Calendar
Full Version: Class levelling system
RPG RPG Revolution Forums > Scripting > Script Development and Support > Script Requests
ImHiPotion
Hey guys. The script I'm looking for is one that level's up classes. Because of the way my game work's character will die quite often. Meaning you will need to recruit more people often. That would be annoying if you are on a really hard boss and a lot of you character's are only level 1. So If the Characters and the classes level up the game would no longer be impossible.
I will be using GubiD's TBS so it has to be compatible with that.
If anyone would do this it would be much appreciated and (obviously) you will be credited! biggrin.gif
Moonpearl
QUOTE (ImHiPotion @ Apr 2 2012, 12:18 PM) *
Hey guys. The script I'm looking for is one that level's up classes. Because of the way my game work's character will die quite often. Meaning you will need to recruit more people often. That would be annoying if you are on a really hard boss and a lot of you character's are only level 1. So If the Characters and the classes level up the game would no longer be impossible.
I will be using GubiD's TBS so it has to be compatible with that.
If anyone would do this it would be much appreciated and (obviously) you will be credited! biggrin.gif

Why not simply re-use dead actors, smply changing their name/apperance? Thus previously acquired stats are kept exactly the same. Plus, no need to make tons of actors that are duplicates of each others, recruiting a new character would just take changing the name/appearance of the one actor who's the desired class.
ImHiPotion
QUOTE (Moonpearl @ Apr 2 2012, 10:34 PM) *
QUOTE (ImHiPotion @ Apr 2 2012, 12:18 PM) *
Hey guys. The script I'm looking for is one that level's up classes. Because of the way my game work's character will die quite often. Meaning you will need to recruit more people often. That would be annoying if you are on a really hard boss and a lot of you character's are only level 1. So If the Characters and the classes level up the game would no longer be impossible.
I will be using GubiD's TBS so it has to be compatible with that.
If anyone would do this it would be much appreciated and (obviously) you will be credited! biggrin.gif

Why not simply re-use dead actors, smply changing their name/apperance? Thus previously acquired stats are kept exactly the same. Plus, no need to make tons of actors that are duplicates of each others, recruiting a new character would just take changing the name/appearance of the one actor who's the desired class.

The idea is so you don't have the same character again. If your best character died and you could get him back it would make everything too easy and wouldn't feel like the character "died". You could have it so that as the class levels up base stats go up and new skills are learnt. however individual characters can level up and increase their stats and gain new skills before others of the same class.
Night_Runner
Sounds interesting, have a script to help make it happen happy.gif

CODE
#==============================================================================
# ** XP: Night_Runner's Classwide EXP Script.
#------------------------------------------------------------------------------
# History:
#  Date Created: 4/Apr/2012
#  Created for: ImHiPotion
#   @> http://www.rpgrevolution.com/forums/index.php?showtopic=56049
#
# Description:
#  When an actor gets exp given to them (including if they get forced to a
#   level using the 'Change Level' evented command) that extra experience
#   gets added to a pool of experience for that character.
#
# How to Install:
#  Copy this entire script. In your game editor select Tools >> Script Editor.
#  Along the left, scroll down to the bottom, right click on 'Main', and
#  select 'Insert'. Paste the code on the right.
#
# How to Use:
#  Insert this script, and it will automatically monitor the exp
#  distribution and take care of everything.
#==============================================================================



#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
#  Edited to store the class experience points.
#==============================================================================

class Game_Party
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :class_exp
  #--------------------------------------------------------------------------
  # * Alias methods
  #--------------------------------------------------------------------------
  alias nr_classEXP_initialize  initialize  unless $@
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(*args)
    # Create the hash of class experience points
    @class_exp = {}
    # Default the experience to 0
    @class_exp.default = 0
    # Run the original initialize
    return nr_classEXP_initialize(*args)
  end
end



#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  Edited to get and set exp based of their class.
#==============================================================================

class Game_Actor
  #--------------------------------------------------------------------------
  # * Alias methods
  #--------------------------------------------------------------------------
  alias nr_classEXP_setup            setup             unless $@
  alias nr_classEXP_exp_set          exp=              unless $@
  alias nr_classEXP_exp_s            exp_s             unless $@
  alias nr_classEXP_next_exp_s       next_exp_s        unless $@
  alias nr_classEXP_next_rest_exp_s  next_rest_exp_s   unless $@
  #--------------------------------------------------------------------------
  # * Setup
  #--------------------------------------------------------------------------
  def setup(*args)
    # Run the original setup
    nr_classEXP_setup(*args)
    # Set the exp to follow the classwide EXP
    self.exp = $game_party.class_exp[@class_id]
  end
  #--------------------------------------------------------------------------
  # * EXP=
  #--------------------------------------------------------------------------
  def exp=(*args)
    # Run the original exp=
    nr_classEXP_exp_set(*args)
    # Set the class to have this actors exp
    $game_party.class_exp[@class_id] = @exp
  end
  #--------------------------------------------------------------------------
  # * EXP
  #--------------------------------------------------------------------------
  def exp
    # Set this exp to the class' exp.
    self.exp = $game_party.class_exp[@class_id]
    # Return the exp
    return @exp
  end
  #--------------------------------------------------------------------------
  # * Get EXP String
  #--------------------------------------------------------------------------
  def exp_s
    # Make sure the exp is aligned to the class' properly
    self.exp
    # Run the original exp_s
    nr_classEXP_exp_s
  end
  #--------------------------------------------------------------------------
  # * Get Next Level EXP String
  #--------------------------------------------------------------------------
  def next_exp_s
    # Make sure the exp is aligned to the class' properly
    self.exp
    # Run the original next_exp_s
    nr_classEXP_next_exp_s
  end
  #--------------------------------------------------------------------------
  # * Get Until Next Level EXP String
  #--------------------------------------------------------------------------
  def next_rest_exp_s
    # Make sure the exp is aligned to the class' properly
    self.exp
    # Run the original next_rest_exp_s
    nr_classEXP_next_rest_exp_s
  end
end



#==============================================================================
# ** End of Script.
#==============================================================================
ImHiPotion
QUOTE (Night_Runner @ Apr 3 2012, 01:11 PM) *
Sounds interesting, have a script to help make it happen happy.gif


Thanks a lot for the script. Tried it out, not really sure what it does but I'll keep trying it and see what it does.
Night_Runner
Well, it seems like your problem is you will have a fighter (as an example class), and throughout the game the fighter may die, and you would like to have a new character, also a fighter, join to game to take Fighter_1's place.
Fighter_2 has a different appearance, exp curve, MaxHP, MaxSP etc parameters, and different starting equipment. Essentially, Fighter_2 is a new actor, but shares the same class as Fighter_1.

So my Theif_1 is Dorothy, she starts off the game with 0 exp


She gets in fights


And gains exp


As you can see, she has exp from battle

and for whatever reason she dies and is removed from the party.

Now a new thief emerges; the brave, strong, and incredibly handsome NR, and because he is a theif he got all the exp that Dorothy (also a thief) got from battle.



By having everyone in the class sharing exp, I thought that that would fulfil your original requirement:
QUOTE
So If the Characters and the classes level up the game would no longer be impossible.

Let me know if I'm completely wrong, I'm happy to make another script.
ImHiPotion
AH I see. This is a good script, it helps however the idea was that the characters had separate EXP. The only example I can think of is Valkyria Chronicles, but still thats just the class level up...
So I'll try make up an example:
Battle start:
Max: Level: 7 Knight Class Level: 2
Kirai: Level: 3 Knight Level: 2
Sarah: Level 10 Thief Class Level: 4
Ben: Level 13 Thief Class Level: 4
They battle.
Max levels up
Ben's class levels up
but they both die.
Battle end
you recruit more people.
and now your party looks like this:
Max 2: Level: 1 Knight Class Level: 2
Kirai: Level:3 Knight Class Level: 2
Sarah: Level:10 Thief Class Level: 5
Ben 2: Level: 1 Thief Class Level: 5
...
I hope that made sense haha The class sets the base stats and skills for characters. the level of the character means they can obtain better stats and skills.
Nub Cake
I don't really see that a script is needed, as mentioned, you can just edit the characters skin and name, and in the event commands on page 3 there is "Change Level". You can take all the characters or just 1 and 1 character as you see the need for it. It is quite easy, and won't take long time to do, and you get the level you wish for quite easy. You can just take the screen to fade out, while it's dark you transfer the player to a wished map with a event which used autorun. Simply just add the level, skin and name in and add "wait" and select maybe 20 frames + as you see the need.

The "Wait" Process waits till skin and all have changed, and after it's done you simply make the screen fade back in and then add a Self Switch ^^

But i see the script is out, and i hope it works at least, i believe so as it's night runner so tongue.gif
I simply just replied with this if you would see this as an easy option or want to use this later in other projects ^^
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.