Parameter allocation script?

Discussion in 'RGSS3 Script Requests' started by Cuddlebuns, Jun 23, 2019.

Thread Status:
Not open for further replies.
  1. Cuddlebuns

    Cuddlebuns Veteran Veteran

    Messages:
    30
    Likes Received:
    4
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMVXA
    So this is the idea I have.
    Each character is given a number of points that can be allocated to any of their parameters (ATK, DEF, MAT, MDF, AGI, and/or LUK) to increase that parameter by 1 per allocated point. Allocated points can be reset from the menu to allow the player to reallocate the points of any character.

    I know there are already stat point distribution scripts available, but none of the ones I looked at had a feature to reset the points after they are allocated. If anyone could point me to a script that does this, that would be much appreciated!
     
    #1
  2. Heirukichi

    Heirukichi Veteran Veteran

    Messages:
    1,300
    Likes Received:
    549
    Location:
    Italy
    First Language:
    Italian
    Primarily Uses:
    RMVXA
    In my opinion you might have more luck by picking one of those scripts and asking to add the reset feature rather than asking for a complete script. Writing the full script takes way more time than just adding a reset feature. Of course, it also depends on how the script handles those parameters, but if it just does it the VX Ace way, it should not be that hard.
     
    #2
  3. CaRa_CrAzY

    CaRa_CrAzY Undefined Custom Title Veteran

    Messages:
    41
    Likes Received:
    18
    Location:
    São Paulo - Brazil
    First Language:
    Portuguese
    Primarily Uses:
    Other
    I am working on a skill/stat allocation script for VXA since January, and I think its pretty trivial to add a reset feature to a system like this.
    I am not very knowledgeable about the already developed scripts out there, but I am surprised they do not offer this feature.
    If that is really the case I would be interested in making a patch for a preexisting script.
     
    #3
    Cuddlebuns likes this.
  4. Cuddlebuns

    Cuddlebuns Veteran Veteran

    Messages:
    30
    Likes Received:
    4
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMVXA
    That would be awesome if you could do that! I have a script by Mr. Trivel which seems to work. My only other issue with it is that it overrides the status window, which needs to be left mostly untouched by other scripts. So the only two features to add would be the ability to reset the points and to have it as a new menu option rather than replacing anything else.

    Code:
    # )----------------------------------------------------------------------------(
    # )--     AUTHOR:     Mr Trivel                                              --(
    # )--     NAME:       Stat Points                                            --(
    # )--     CREATED:    2014-06-17                                             --(
    # )--     VERSION:    1.0                                                    --(
    # )----------------------------------------------------------------------------(
    # )--                          DESCRIPTION                                   --(
    # )--  Adds Stat Points to actors which are gained on level up. And can be   --(
    # )--  spent in Status screen.                                               --(
    # )----------------------------------------------------------------------------(
    # )--                          INSTRUCTIONS                                  --(
    # )--               Customize below to your needs.                           --(
    # )----------------------------------------------------------------------------(
    # )--                          LICENSE INFO                                  --(
    # )--    http://mrtrivelvx.wordpress.com/terms-of-use/                       --(
    # )----------------------------------------------------------------------------(
    
    module MrTS
      module Stat_Points
        # )----------------------------------------------------(
        # )--  Stat points each actor gets at the beginning  --(
        # )----------------------------------------------------(
        Default = 6
     
        # )----------------------------------------------------(
        # )--  How many stat points actor gets on level up.  --(
        # )----------------------------------------------------(
        PointsOnLevelUp = 6
     
        # )---------------------------------------------------(
        # )--  By how much your stats grow per stat point.  --(
        # )---------------------------------------------------(
        StatsPerIncrease = 1
      end
    end
    
    
    # )----------------------------------------------------------------------------(
    # )--  Class: Scene_Status                                                   --(
    # )----------------------------------------------------------------------------(
    class Scene_Status < Scene_MenuBase
      # )--------------------------------------------------------------------------(
      # )--  Overwrite Method: start                                             --(
      # )--------------------------------------------------------------------------(
      def start
        super
        @status_window = Window_Status.new(@actor)
        @status_window.set_handler(:cancel,   method(:return_scene))
        @status_window.set_handler(:pagedown, method(:next_actor))
        @status_window.set_handler(:pageup,   method(:prev_actor))
        create_stat_command_window
      end
      # )--------------------------------------------------------------------------(
      # )--  New Method: create_stat_command_window                              --(
      # )--------------------------------------------------------------------------(
      def create_stat_command_window
        @command_window = MrTS_Stat_Command.new(22, (24*7)+12)
        @command_window.set_handler(:ok, method(:increase_stat))
      end
      # )--------------------------------------------------------------------------(
      # )--  New Method: increase_stat                                           --(
      # )--------------------------------------------------------------------------(
      def increase_stat
        @actor.spend_stat_point(@command_window.index)
        @status_window.refresh
        @command_window.activate
      end
    end
    
    
    # )----------------------------------------------------------------------------(
    # )--  Class: MrTS_Stat_Command                                              --(
    # )----------------------------------------------------------------------------(
    class MrTS_Stat_Command < Window_Command
      # )--------------------------------------------------------------------------(
      # )--  Method: initialize                                                  --(
      # )--------------------------------------------------------------------------(
      def initialize(x, y)
        super(x,y)
        self.opacity = 0
      end
      # )--------------------------------------------------------------------------(
      # )--  Method: window_width                                                --(
      # )--------------------------------------------------------------------------(
      def window_width
        return 196
      end
      # )--------------------------------------------------------------------------(
      # )--  Method: make_command_list                                           --(
      # )--------------------------------------------------------------------------(
      def make_command_list
        6.times do
          add_command("", :ok)
        end
      end
      # )--------------------------------------------------------------------------(
      # )--  Method: process_ok                                                  --(
      # )--------------------------------------------------------------------------(
      def process_ok
        if current_item_enabled?
          Input.update
          deactivate
          call_ok_handler
        end
      end
    end
    
    # )----------------------------------------------------------------------------(
    # )--  Class: Window_Status                                                  --(
    # )----------------------------------------------------------------------------(
    class Window_Status < Window_Selectable
      # )--------------------------------------------------------------------------(
      # )--  Overwrite Method: draw_block3                                       --(
      # )--------------------------------------------------------------------------(
      def draw_block3(y)
        draw_statpoints(32, y-line_height/2)
        draw_parameters(32, y+line_height/2)
        draw_equipments(288, y)
      end
     
      # )--------------------------------------------------------------------------(
      # )--  New Method: draw_statpoints                                         --(
      # )--------------------------------------------------------------------------(
      def draw_statpoints(x, y)
        change_color(system_color)
        draw_text(x, y, 140, line_height, "Stat Points: ")
        change_color(@actor.stat_point > 0 ? power_up_color : normal_color)
        draw_text(x+120, y, 36, line_height, @actor.stat_point.to_s,2)
      end
    end
    
    
    # )----------------------------------------------------------------------------(
    # )--  Class: Game_Actor                                                     --(
    # )----------------------------------------------------------------------------(
    class Game_Actor < Game_Battler
     
      # )--------------------------------------------------------------------------(
      # )--  Public Instance Variables                                           --(
      # )--------------------------------------------------------------------------(
      attr_reader   :stat_point
      attr_reader   :stat_points_spent
    
      # )--------------------------------------------------------------------------(
      # )--  Alias to: setup                                                     --(
      # )--------------------------------------------------------------------------(
      alias mrts_sp_setup setup
      def setup(actor_id)
        mrts_sp_setup(actor_id)
        initialize_stat_points
      end
     
     
      # )--------------------------------------------------------------------------(
      # )--  New Method: initialize_stat_points                                  --(
      # )--------------------------------------------------------------------------(
      def initialize_stat_points
        @stat_point = MrTS::Stat_Points::Default
        @stat_points_spent.size.times do |i|
          add_param(i+2, -@stat_points_spent[i])
        end if @stat_points_spent
        @stat_points_spent = [0,0,0,0,0,0]
      end
     
      # )--------------------------------------------------------------------------(
      # )--  New Method: spend_stat_point                                        --(
      # )--------------------------------------------------------------------------(
      def spend_stat_point(stat_id)
        unless @stat_point > 0 && param(stat_id+2) < param_max(stat_id+2)
          Sound.play_buzzer
          return
        end
        inc_by = MrTS::Stat_Points::StatsPerIncrease
        add_param(stat_id+2, inc_by)
        @stat_point -= 1
        @stat_points_spent[stat_id] += inc_by
        Sound.play_ok
      end
     
      # )--------------------------------------------------------------------------(
      # )--  Alias To: change_class                                              --(
      # )--------------------------------------------------------------------------(
      alias mrts_sp_change_class change_class
      def change_class(class_id, keep_exp = false)
        initialize_stat_points unless keep_exp
        mrts_sp_change_class(class_id, keep_exp = false)
        @stat_point = MrTS::Stat_Points::Default + ( (level-1) * MrTS::Stat_Points::PointsOnLevelUp)
      end
     
      # )--------------------------------------------------------------------------(
      # )--  Alias to: level_up                                                  --(
      # )--------------------------------------------------------------------------(
      alias mrts_sp_level_up level_up
      def level_up
        mrts_sp_level_up
        @stat_point += MrTS::Stat_Points::PointsOnLevelUp
      end
    end

    I'm not sure how complicated it would be to make the required changes to this since my scripting knowledge is only rudimentary. Hopefully it's not too difficult.
     
    Last edited: Jun 23, 2019
    #4
    Heirukichi likes this.
  5. Heirukichi

    Heirukichi Veteran Veteran

    Messages:
    1,300
    Likes Received:
    549
    Location:
    Italy
    First Language:
    Italian
    Primarily Uses:
    RMVXA
    If you want to reset them just create an item that targets the user (like a book to reset stat points) and use this in the formula:
    Code:
    stats = b.instance_variable_get(:@stat_points_spent); stats.each_index { |s| b.add_param(s + 2, -stats[s]) }; stats = [0,0,0,0,0,0]
    There is no need to edit the script to achieve something like that. It is written from mobile so you have to check for typos and report them to me. I already checked the code, but I cannot be 100% sure when looking at it from mobile.

    Considering how small the formula box is in VX Ace there is a chance that something like this might not fit. If that is the case, just copy/paste this in your scripts (below the point allocation script).
    Code:
    class Game_Actor < Game_Battler
      def hrk_reset_stat_pointsì
        @stat_points_spent.each.with_index do |s, i|
          add_param(i + 2, -s)
          @stat_point += s
          @stat_points_spent[i] = 0
        end
      end
    end
    Then you can simply use this formula:
    Code:
    b.hrk_reset_stat_points
    or you could use an event to do that, using:
    Code:
    $game_actors[actor_id].hrk_reset_stat_points

    EDIT 2
    I completely missed this part. This is something that requires a lot more details than those you provided. Unfortunately, the default window has no way to allow you to allocate those points, this is also the reason why the scripter changed it. Therefore, to let the script work and have that window the same as before, you have to provide us all the necessary information to understand how you want your windows to act, how they are supposed to look like and how you want to allocate those points (because if you replace the default window written in the script, you have to allocate points somewhere).
     
    Last edited: Jun 23, 2019
    #5
  6. CaRa_CrAzY

    CaRa_CrAzY Undefined Custom Title Veteran

    Messages:
    41
    Likes Received:
    18
    Location:
    São Paulo - Brazil
    First Language:
    Portuguese
    Primarily Uses:
    Other
    My current script does these two things you mentioned, but currently it doesn't work for stats, just skills.
    I will take a look and see what I can do with the script you provided.

    --Edit--

    I tested @Heirukichi 's answer, and I don't know if it was intentional or not, but the method you wrote is not recovering the
    allocated points back to the stat_point pool. It just resets the stats to their original values without refunding them.

    I wrote two methods here. One for refunding every stat at once, and another one that will refund just a single stat.

    Code:
    class Game_Actor < Game_Battler
      def reset_spent_points
        @stat_point += @stat_points_spent
          .each_with_index
          .reduce(0) do |total, (points, stat_id)|
            add_param(stat_id+2, -points)
            total += points
          end
        @stat_points_spent = [0,0,0,0,0,0]
      end
      def reset_param(stat_id)
        spent_points = @stat_points_spent[stat_id]
        add_param(stat_id+2, -spent_points)
        @stat_point += spent_points
        @stat_points_spent[stat_id] = 0
      end
    end

    Regarding the issue about the Status Menu being replaced, @Heirukichi is right. You need to provide us some info about how you wish the menu to look like.

    What I can do for you right now is create a new entry in the main menu that leads to the old status window, preserving both windows the way they are. I do not see much difference between the old window and the new one. I think it will not add much a gain to the player at all, besides it will just help to pollute the menu with a new option.

    Anyways, I will try to separate the windows regardless.
     
    Last edited: Jun 23, 2019
    #6
    Cuddlebuns likes this.
  7. Cuddlebuns

    Cuddlebuns Veteran Veteran

    Messages:
    30
    Likes Received:
    4
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMVXA
    Screenshot (58).png

    Besides applying my own simple window skin and using a script that displays custom parameters (which does not seem to conflict with Mr. Trivel's script), there are no changes to how the status window operates. My default windows behave normally as well.

    Edit: That "QUOTE" at the end doesn't seem to be deletable.[/QUOTE]
     
    Last edited: Jun 23, 2019
    #7
  8. CaRa_CrAzY

    CaRa_CrAzY Undefined Custom Title Veteran

    Messages:
    41
    Likes Received:
    18
    Location:
    São Paulo - Brazil
    First Language:
    Portuguese
    Primarily Uses:
    Other
    Now I think understand why you want two different options. Is the point buy window replacing the custom parameter window?
     
    #8
    Cuddlebuns likes this.
  9. Cuddlebuns

    Cuddlebuns Veteran Veteran

    Messages:
    30
    Likes Received:
    4
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMVXA
    Yes, and that is one of the issues. The custom parameters must remain visible in the status window.
     
    #9
  10. Heirukichi

    Heirukichi Veteran Veteran

    Messages:
    1,300
    Likes Received:
    549
    Location:
    Italy
    First Language:
    Italian
    Primarily Uses:
    RMVXA
    It was not. I changed the code in the previous message; thank you for pointing it out. By the way, the reduce method there is redundant; you already have direct access to the element of the array you need. It is much cleaner to simply add its value to @stat_point. Adding more methods only makes the code harder to read and does not make it more efficient at all - it actually does the opposite. That said, having a method to reset a single parameter looks useful (that one is well written) so @Cuddlebuns should copy that into the script as well.

    @Cuddlebuns if you are using custom parameters I can see why you want the window to act this way. However, how do you plan on increasing those parameters if not using the overwritten window? What I mean is: how you want to access a window that allows you to modify those parameters? Do you want to still be able to do it from the normal window, but without modifying the parameters shown? Do you want to be able to allocate points on your custom parameters?
     
    #10
    CaRa_CrAzY and Cuddlebuns like this.
  11. Cuddlebuns

    Cuddlebuns Veteran Veteran

    Messages:
    30
    Likes Received:
    4
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMVXA
    Actually, if there is a method of using the default window but still keeping the custom parameters visible, that would work too.

    No, the custom parameters are separate from the normal parameters. I do not plan for them to be allocatable.
     
    #11
  12. Roninator2

    Roninator2 Gamer Veteran

    Messages:
    1,763
    Likes Received:
    384
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMVXA
    #12
    Heirukichi, Cuddlebuns and CaRa_CrAzY like this.
  13. CaRa_CrAzY

    CaRa_CrAzY Undefined Custom Title Veteran

    Messages:
    41
    Likes Received:
    18
    Location:
    São Paulo - Brazil
    First Language:
    Portuguese
    Primarily Uses:
    Other
    You are right. I have this bad habit of over complicating stuff :stickytongue:

    So, by following @Heirukichi 's suggestion I rewrote the method for it to use the single reset inside it.
    And then, I tried to split those two scenes, and here is the result. I hope it works.

    Just a little explanation here
    I had edit the script itself because it was directly overwriting the Scene_Status.
    I can't think in a way to make it stop working this way by creating a patch.
    Please, someone correct me if I am wrong here.

    Code:
    # )----------------------------------------------------------------------------(
    # )--     AUTHOR:     Mr Trivel                                              --(
    # )--     NAME:       Stat Points                                            --(
    # )--     CREATED:    2014-06-17                                             --(
    # )--     VERSION:    1.0                                                    --(
    # )----------------------------------------------------------------------------(
    # )--                          DESCRIPTION                                   --(
    # )--  Adds Stat Points to actors which are gained on level up. And can be   --(
    # )--  spent in Status screen.                                               --(
    # )----------------------------------------------------------------------------(
    # )--                          INSTRUCTIONS                                  --(
    # )--               Customize below to your needs.                           --(
    # )----------------------------------------------------------------------------(
    # )--                          LICENSE INFO                                  --(
    # )--    http://mrtrivelvx.wordpress.com/terms-of-use/                       --(
    # )----------------------------------------------------------------------------(
    
    module MrTS
      module Stat_Points
        # )----------------------------------------------------(
        # )--  Stat points each actor gets at the beginning  --(
        # )----------------------------------------------------(
        Default = 6
     
        # )----------------------------------------------------(
        # )--  How many stat points actor gets on level up.  --(
        # )----------------------------------------------------(
        PointsOnLevelUp = 6
     
        # )---------------------------------------------------(
        # )--  By how much your stats grow per stat point.  --(
        # )---------------------------------------------------(
        StatsPerIncrease = 1
      
        # )---------------------------------------------------(
        # )--  Main Menu Entry's display text.              --(
        # )---------------------------------------------------(
        CMD_NAME = "Point Buy"
      end
     
      # )--------------------------------------------------------------------------(
      # )--  Class: Window_MenuCommand                                           --(
      # )--------------------------------------------------------------------------(
      class ::Window_MenuCommand
        # )------------------------------------------------------------------------(
        # )-- Add Point Buy command to the Main Commands list                    --(
        # )------------------------------------------------------------------------(
        alias add_main_commands_caracrazy_1245h add_main_commands
        def add_main_commands(*args)
          result = add_main_commands_caracrazy_1245h(*args)
          add_command(Stat_Points::CMD_NAME, :point_buy, true)
          result
        end
      end
     
      # )--------------------------------------------------------------------------(
      # )--  Class: Scene_Menu                                                   --(
      # )--------------------------------------------------------------------------(
      class ::Scene_Menu
        # )------------------------------------------------------------------------(
        # )-- Alias to: Create Command Window                                    --(
        # )------------------------------------------------------------------------(
        alias create_command_window_caracrazy_43tgd create_command_window
        def create_command_window(*args)
          result = create_command_window_caracrazy_43tgd(*args)
          @command_window.set_handler(:point_buy, method(:command_personal))
          result
        end
        # )------------------------------------------------------------------------(
        # )-- Alias to:[OK] Personal Command                                     --(
        # )------------------------------------------------------------------------(
        alias on_personal_ok_caracrazy_43fg3 on_personal_ok
        def on_personal_ok(*args)
          result = on_personal_ok_caracrazy_43fg3(*args)
          if @command_window.current_symbol == :point_buy
            SceneManager.call(MrTs_Scene_Stat_Buy)
          end
          result
        end
      end
    end
    
    # )----------------------------------------------------------------------------(
    # )--  Class: Scene_Status                                                   --(
    # )----------------------------------------------------------------------------(
    class MrTs_Scene_Stat_Buy < Scene_MenuBase
      # )--------------------------------------------------------------------------(
      # )--  Overwrite Method: start                                             --(
      # )--------------------------------------------------------------------------(
      def start
        super
        @status_window = MrTs_Window_Status.new(@actor)
        @status_window.set_handler(:cancel,   method(:return_scene))
        @status_window.set_handler(:pagedown, method(:next_actor))
        @status_window.set_handler(:pageup,   method(:prev_actor))
        create_stat_command_window
      end
      # )--------------------------------------------------------------------------(
      # )--  New Method: create_stat_command_window                              --(
      # )--------------------------------------------------------------------------(
      def create_stat_command_window
        @command_window = MrTS_Stat_Command.new(22, (24*7)+12)
        @command_window.set_handler(:ok, method(:increase_stat))
      end
      # )--------------------------------------------------------------------------(
      # )--  New Method: increase_stat                                           --(
      # )--------------------------------------------------------------------------(
      def increase_stat
        @actor.spend_stat_point(@command_window.index)
        @status_window.refresh
        @command_window.activate
      end
    end
    
    
    # )----------------------------------------------------------------------------(
    # )--  Class: MrTS_Stat_Command                                              --(
    # )----------------------------------------------------------------------------(
    class MrTS_Stat_Command < Window_Command
      # )--------------------------------------------------------------------------(
      # )--  Method: initialize                                                  --(
      # )--------------------------------------------------------------------------(
      def initialize(x, y)
        super(x,y)
        self.opacity = 0
      end
      # )--------------------------------------------------------------------------(
      # )--  Method: window_width                                                --(
      # )--------------------------------------------------------------------------(
      def window_width
        return 196
      end
      # )--------------------------------------------------------------------------(
      # )--  Method: make_command_list                                           --(
      # )--------------------------------------------------------------------------(
      def make_command_list
        6.times do
          add_command("", :ok)
        end
      end
      # )--------------------------------------------------------------------------(
      # )--  Method: process_ok                                                  --(
      # )--------------------------------------------------------------------------(
      def process_ok
        if current_item_enabled?
          Input.update
          deactivate
          call_ok_handler
        end
      end
    end
    
    # )----------------------------------------------------------------------------(
    # )--  Class: Window_Status                                                  --(
    # )----------------------------------------------------------------------------(
    class MrTs_Window_Status < Window_Status
      # )--------------------------------------------------------------------------(
      # )--  Overwrite Method: draw_block3                                       --(
      # )--------------------------------------------------------------------------(
      def draw_block3(y)
        draw_statpoints(32, y-line_height/2)
        draw_parameters(32, y+line_height/2)
        draw_equipments(288, y)
      end
     
      # )--------------------------------------------------------------------------(
      # )--  New Method: draw_statpoints                                         --(
      # )--------------------------------------------------------------------------(
      def draw_statpoints(x, y)
        change_color(system_color)
        draw_text(x, y, 140, line_height, "Stat Points: ")
        change_color(@actor.stat_point > 0 ? power_up_color : normal_color)
        draw_text(x+120, y, 36, line_height, @actor.stat_point.to_s,2)
      end
    end
    
    
    # )----------------------------------------------------------------------------(
    # )--  Class: Game_Actor                                                     --(
    # )----------------------------------------------------------------------------(
    class Game_Actor < Game_Battler
     
      # )--------------------------------------------------------------------------(
      # )--  Public Instance Variables                                           --(
      # )--------------------------------------------------------------------------(
      attr_reader   :stat_point
      attr_reader   :stat_points_spent
    
      # )--------------------------------------------------------------------------(
      # )--  Alias to: setup                                                     --(
      # )--------------------------------------------------------------------------(
      alias mrts_sp_setup setup
      def setup(actor_id)
        mrts_sp_setup(actor_id)
        initialize_stat_points
      end
     
      # )--------------------------------------------------------------------------(
      # )--  New Method: initialize_stat_points                                  --(
      # )--------------------------------------------------------------------------(
      def initialize_stat_points
        @stat_point = MrTS::Stat_Points::Default
        @stat_points_spent.size.times do |i|
          add_param(i+2, -@stat_points_spent[i])
        end if @stat_points_spent
        @stat_points_spent = [0,0,0,0,0,0]
      end
     
      # )--------------------------------------------------------------------------(
      # )--  New Method: spend_stat_point                                        --(
      # )--------------------------------------------------------------------------(
      def spend_stat_point(stat_id)
        unless @stat_point > 0 && param(stat_id+2) < param_max(stat_id+2)
          Sound.play_buzzer
          return
        end
        inc_by = MrTS::Stat_Points::StatsPerIncrease
        add_param(stat_id+2, inc_by)
        @stat_point -= 1
        @stat_points_spent[stat_id] += inc_by
        Sound.play_ok
      end
     
      # )--------------------------------------------------------------------------(
      # )--  Alias To: change_class                                              --(
      # )--------------------------------------------------------------------------(
      alias mrts_sp_change_class change_class
      def change_class(class_id, keep_exp = false)
        initialize_stat_points unless keep_exp
        mrts_sp_change_class(class_id, keep_exp = false)
        @stat_point = MrTS::Stat_Points::Default + ( (level-1) * MrTS::Stat_Points::PointsOnLevelUp)
      end
     
      # )--------------------------------------------------------------------------(
      # )--  Alias to: level_up                                                  --(
      # )--------------------------------------------------------------------------(
      alias mrts_sp_level_up level_up
      def level_up
        mrts_sp_level_up
        @stat_point += MrTS::Stat_Points::PointsOnLevelUp
      end
     
      # )--------------------------------------------------------------------------(
      # )--  New Method: reset_spent_points                                      --(
      # )--------------------------------------------------------------------------(
      def reset_spent_points
        @stat_points_spent.size.times { |stat_id| reset_param(stat_id) }
      end
     
      # )--------------------------------------------------------------------------(
      # )--  New Method: reset_param                                             --(
      # )--------------------------------------------------------------------------(
      def reset_param(stat_id)
        spent_points = @stat_points_spent[stat_id]
        add_param(stat_id+2, -spent_points)
        @stat_point += spent_points
        @stat_points_spent[stat_id] = 0
      end
    end

    Let me know if something blows up goes wrong. :wink:
     
    #13
  14. Cuddlebuns

    Cuddlebuns Veteran Veteran

    Messages:
    30
    Likes Received:
    4
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMVXA
    I don't see any new menu option or even a change to the status window, but there were no errors either.
     
    #14
  15. CaRa_CrAzY

    CaRa_CrAzY Undefined Custom Title Veteran

    Messages:
    41
    Likes Received:
    18
    Location:
    São Paulo - Brazil
    First Language:
    Portuguese
    Primarily Uses:
    Other
    Have you overwritted the old Mr Trivel's script with the new one I provided in my last post?
    I tested it in a blank project and it worked. Peharps your other scripts are also generanting an issue.
    Can you share them as well?
     
    #15
  16. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    12,417
    Likes Received:
    12,650
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA

    This thread is being closed, due to being solved. If for some reason you would like this thread re-opened, please report this post and leave a message why. Thank you.

     
    #16
Thread Status:
Not open for further replies.

Share This Page