[RMMV] IS IT POSSIBLE TO HAVE THIS TYPE OF EXP GAIN?

Posts

Pages: 1
So I was thinking if it was possible to have some type of EXP gain where the amount of EXP you gain is actually being counted up and added to what you have.
This is the example
I know this is not in RPG Maker, but I was wondering if this is somehow possible with a scrip of some kind or something?
I'm just trying to widen my knowledge and thought this would be pretty neat if it was possible.
It's possible, with or without scripts. Probably not recommended though. On RPG Maker, you're probably doing this with a picture (even with a script) and tallying a variable and then updating the picture every second. Lemme repeat that. You're cycling a code of about four lines (plus a common event that checks the picture) over and over again. You may want to reconsider.

With a custom engine, alot more possible, as they don't necessarily do things this way. They program the code to facilitate the exact process they want.

That said, it's certainly possible to have the numbers measured out. And it's possible to skip the winding down animation, and add one to the other and delete the first. But the wind-down and wind-up parts are problematic.

Update: After giving it some thought, your best bet would be to move the stuff decimal places, like have ExpOnes, ExpTens, ExpHun, ExpThou and NextLvlOnes, NextLvlTens, NextLvlHun, NextLvlThou. You add to one decimal place, until it gets to zero, it wouldn't have to be that fast, and it's a shortcut I imaagine some game makers use. In terms of winding up and down, you'd only have to refresh at most about 36 times per 4 decimal spots. Instead of say 9999 times for 4 decimal spots (what I'm advising against).
Would you happen to know if there is a script out there that allows me to do this?
Or perhaps a plugin that would make this possible to do?
I'm definitely not big on scripting so that is why I was hoping someone else had something that could make it possible.
This isn't actually a different type of EXP gain than RM's default, both track total exp earned and level you up according to an EXP table -- The difference is how that information is displayed to the player. On RPG Maker the player sees how much EXP they have and how much they need to have to level up, while this subtracts the former from the latter and displays the resulting number to the player.
This is very easy to do with scripts (sans the rolling updates per frame which shouldn't be hard but I don't know how to) and IF you're already making a fully custom menu system, it would be simple to do on events, too.

But mainly I wouldn't bother, it's purely visual and impacts nothing, I'd focus on finishing a game first and then having this as a feature you may want to request to improve your (finished) game later on lol, since it's a very small thing.
Marrend
Guardian of the Description Thread
21806
Not 100% sure how to do it in MV, but, I've gotten...





...at least half way to what you're looking for.
author=Marrend
Not 100% sure how to do it in MV, but, I've gotten...





...at least half way to what you're looking for.


Could you show me how this is done?
author=JosephSeraph
This isn't actually a different type of EXP gain than RM's default, both track total exp earned and level you up according to an EXP table -- The difference is how that information is displayed to the player. On RPG Maker the player sees how much EXP they have and how much they need to have to level up, while this subtracts the former from the latter and displays the resulting number to the player.
This is very easy to do with scripts (sans the rolling updates per frame which shouldn't be hard but I don't know how to) and IF you're already making a fully custom menu system, it would be simple to do on events, too.

But mainly I wouldn't bother, it's purely visual and impacts nothing, I'd focus on finishing a game first and then having this as a feature you may want to request to improve your (finished) game later on lol, since it's a very small thing.


You are correct that it is purely visual, however I do like the idea and I would like to have it in my game.
I would want my game to be different from others and I have to find my own ways & ideas for that.
This is simply one of them.
Thank you for the information though, I appreciate it.
Marrend
Guardian of the Description Thread
21806
There is a version of the code in action with this game. However, there's lots of intertwining bits in there that you might not want. So, the bare minimum might look something like...

class Window_Base
  # Allows use of a smaller face display.
  def draw_actor_face_short(actor, x, y, enabled=true)
    bitmap = Cache.face(actor.face_name)
    xpos = actor.face_index % 4 * 96
    ypos = actor.face_index / 4 * 96
    rect = Rect.new(xpos, ypos, 96, 56)
    contents.blt(x, y-8, bitmap, rect, enabled ? 255 : translucent_alpha)
    bitmap.dispose
  end
end

module BattleManager
  # The party wins a battle, and earns EXP/money.
  def self.process_victory
    play_battle_end_me
    replay_bgm_and_bgs
    $game_message.add(sprintf(Vocab::Victory, $game_party.name))
    display_exp
    gain_gold
    gain_drop_items
    SceneManager.return
    battle_end(0)
    return true
  end

  # Displays the EXP window.
  def self.display_exp
    # The following line may be edited depending on the maximum party-size involved.
    # This writing assumes a standard four-person party.
    @window = Window_BattleResults.new(0, 0, Graphics.width, 56*2+18)
    @window.draw_result
    gain_exp
  end
  
  # Allows the an external method to removes the EXP-window from the display.
  def self.window_dispose
    @window = nil
  end
end

# This defines the EXP-window.
class Window_BattleResults < Window_Base
  # Places face-graphics and the assoicated EXP gain.
  def draw_result
    i = 0
    while i < $game_party.members.size
      actor = $game_party.members[i]
      if i % 2 == 0
        draw_actor_face_short(actor, 0, 30*i)
        draw_actor_name(actor, 85, 30*i)
        draw_actor_level(actor, 165, 30*i)
        draw_actor_exp(actor, 165, 30*i+24)
      else
        x = Graphics.width/2
        draw_actor_face_short(actor, x, 30*(i-1))
        draw_actor_name(actor, 85+x, 30*(i-1))
        draw_actor_level(actor, 165+x, 30*(i-1))
        draw_actor_exp(actor, 165+x, 30*(i-1)+24)
      end
      i += 1
    end
  end
  
  # Figures EXP-gain to display.
  def draw_actor_exp(actor, x, y)      
    exp = $game_troop.exp_total * actor.final_exp_rate.to_i
    text = "+" + exp.to_s + " XP"
    draw_text(x, y, Graphics.width, line_height, text)
  end
end

# Removes exp-window from the screen. Otherwise, from what I've observed, it
# would either close prematurely (ie: before the level-up messages were done),
# or just stay on the screen.
class Game_Map
  def refresh
    BattleManager.window_dispose
    @events.each_value {|event| event.refresh }
    @common_events.each {|event| event.refresh }
    refresh_tile_events
    @need_refresh = false
  end
end

...this mess. However, I must stress once again that I have no idea how a script made in VX Ace's Ruby would look in MV's Java environment.
author=zerkerxror
author=JosephSeraph
This isn't actually a different type of EXP gain than RM's default, both track total exp earned and level you up according to an EXP table -- The difference is how that information is displayed to the player. On RPG Maker the player sees how much EXP they have and how much they need to have to level up, while this subtracts the former from the latter and displays the resulting number to the player.
This is very easy to do with scripts (sans the rolling updates per frame which shouldn't be hard but I don't know how to) and IF you're already making a fully custom menu system, it would be simple to do on events, too.

But mainly I wouldn't bother, it's purely visual and impacts nothing, I'd focus on finishing a game first and then having this as a feature you may want to request to improve your (finished) game later on lol, since it's a very small thing.
You are correct that it is purely visual, however I do like the idea and I would like to have it in my game.
I would want my game to be different from others and I have to find my own ways & ideas for that.
This is simply one of them.
Thank you for the information though, I appreciate it.


I think what JosephSeraph means is that such features can literally distract you from a finished game.

Finish the game, then add graphics and features. This rolling thing unless you have a streamlined, is a massive headache precisely because you have to refresh constantly.
author=bulmabriefs144
author=zerkerxror
author=JosephSeraph
This isn't actually a different type of EXP gain than RM's default, both track total exp earned and level you up according to an EXP table -- The difference is how that information is displayed to the player. On RPG Maker the player sees how much EXP they have and how much they need to have to level up, while this subtracts the former from the latter and displays the resulting number to the player.
This is very easy to do with scripts (sans the rolling updates per frame which shouldn't be hard but I don't know how to) and IF you're already making a fully custom menu system, it would be simple to do on events, too.

But mainly I wouldn't bother, it's purely visual and impacts nothing, I'd focus on finishing a game first and then having this as a feature you may want to request to improve your (finished) game later on lol, since it's a very small thing.
You are correct that it is purely visual, however I do like the idea and I would like to have it in my game.
I would want my game to be different from others and I have to find my own ways & ideas for that.
This is simply one of them.
Thank you for the information though, I appreciate it.
I think what JosephSeraph means is that such features can literally distract you from a finished game.

Finish the game, then add graphics and features. This rolling thing unless you have a streamlined, is a massive headache precisely because you have to refresh constantly.


Yes of course I totally understand that, I just thought this would've been a nice thing to have in the game.
I'll be working very hard on finishing my game for sure though!
Thank you.
Pages: 1