MicKo's Skill Tree - Revised
#31
I just noticed it's the 6th row which makes these problems, not the 5th. Was confused cause it starts with zero. ^^

But I also get that bug when I add a 6th row in the demo or in any other fresh tree.
I Don't know whats causing this bug.

I uploaded my demo here if you want to look at it: http://www.file-upload.net/download-1118...e.rar.html
Reply }
#32
Looks like I wasn't the first to download your demo. Laughing But a glitch was found, and it was in the code, not the config.

Bump
to version 1.6

First, I have to make this announcement. Apparently, I only had version 1.1 online within my Box.Com account. It is the same version that Melana had uploaded, so I am fairly certain that the 1.5 version which included a method to bring up a skill tree per actor ID in the database was on my previous filesharing account... and now gone. As such, the Limit Cap system and cleanup performed are gone as well.

However, the minor glitch that I fixed over a year ago (involving character's starting skills and the passive effects system 'not' taking place) has been worked out and re-implemented. A character who begins the game with a skill that is assigned a passive effect will have the bonuses of said passive effect.

Now..!!! There was a very odd issue involving the data load of skills from actor's skill trees. This was the glitch that caused Melana some headaches. The data is supposed to be performed in a top-down method, loading the very first array row, then the next... and so forth. However, the system had issue once a tree branch had more than 4 rows. In this, the load order of the branches began with the bottom-most and caused havoc with the system which assumed the top-left most skill in any branch was the origin-point when a tree is loaded. Because of this incorrect load order, it attempted to begin the skill tree at the bottom-most set of branches, and the cursor system could not advance.

Work was performed in the 930-ish line area of the script to add additional code. This code was used to ensure that data from the rows loaded in the proper order.

Still, that is not the only change performed in the script, so it is not recommended to perform any direct edits to the script other than the configuration section itself. At least, the configuration section's layout should be the same. If not, a previous version could have come into play; such being Micko's original that I touched up. Not recommended.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }
#33
Oh that's really good to know.
Thank you alot!

I will replace my old script with the updated version soon.
Reply }
#34
A very weird error comes up since I'm working on my game again.

[Image: errrotpko2xlbday.png]

It only appears when I try to view the skilltrees of the first 3 actor IDs.

Every other ID has no error.
Reply }
#35
Confused Since you add new skill trees into the config of that script, the actual line number shown changes. I would need to know what that line reads.

And methinks, I would need to see your config.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }
#36
Okay, here is the full script:

http://pastebin.com/NUBYN06C

There might be a mistake made by myself somewhere in this ocean of configuration but I can't find it.

The error appears in these lines:

Code:
     self.contents.draw_text( (self.width - 32) / @item_max * i, 0,
                              (self.width - 32) / @item_max, 32, my_text, 1 )
Reply }
#37
Well, it's been a year since the last update. I thought everything was good to go, but guess what the thread needed. It needed a ....

Bump
to version 1.7

Unseen for a year, reiji1337 noticed that the passive effect scores automatically stacked onto all the actors, this occurring at the start of the game. But after a quick examination and three more lines of code, the passive effects system is now fixed.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }
#38
(04-28-2017, 03:15 AM)DerVVulfman Wrote: Well, it's been a year since the last update.  I thought everything was good to go, but guess what the thread needed.   It needed a ....

Bump
to version 1.7

Unseen for a year, reiji1337 noticed that the passive effect scores automatically stacked onto all the actors, this occurring at the start of the game.  But after a quick examination and three more lines of code, the passive effects system is now fixed.

Great script and improvements with the revisions.

I'm using it for my game and am wondering if there is a way to keep the actors' skill points at 0 until a certain threshold, i.e: They start receiving point at lvl 6 and will have 35 points at lvl 40.
Reply }
#39
Modeled after the work of French Scripter, MicKo, this one too does not include points progression. Laughing In otherwords, I didn't add points for each level because he didn't.

Well, you could set up the actor's startup points to 0. After that, ... well.... Try adding THIS!:

Code:
#==============================================================================
#
#    **   C  O  N  F  I  G  U  R  A  T  I  O  N      M  O  D  U  L  E   **    #
#
#==============================================================================

module SkillTree
  #--------------------------------------------------------------------------
  # * SYSTEM REQUIRED HASHES - DO NOT TOUCH -
  #--------------------------------------------------------------------------  
  PROGRESS = {}
  #--------------------------------------------------------------------------  
  
  SHOW_PROGRESS = true
  
  # Lvl     -- Starting level for points progress
  # Base    -- Starting points
  # Points   - Number of basic point gain
  # Rate     - Rate of increase
  # Increase - Rate of increase adjustment
  
  
  #               Lvl  Base  Points  Rate  Incr
  #               ===  ====  ======  ====  ===
  PROGRESS[1] = [   6,    5,   1,    3,     2  ]  # Aluxes starts off strong
  PROGRESS[5] = [   6,    3,   0.5,  10,    0.5]  # Estelle grows slower
  
  
end


#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles the actor. It's used within the Game_Actors class
#  ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================


class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias skilltree_addon_game_actor_setup setup
  alias skilltree_addon_game_actor_exp exp=
  #--------------------------------------------------------------------------
  # * Setup
  #     actor_id : actor ID
  #--------------------------------------------------------------------------
  def setup(actor_id)
    actor = $data_actors[actor_id]
    @actor_id = actor_id
    skilltree_addon_game_actor_setup(actor_id)
    @points_list = Array.new(101)
    make_skillpoints_list
  end
  #--------------------------------------------------------------------------
  # * Calculate Skillpoints progression
  #--------------------------------------------------------------------------
  def make_skillpoints_list
    actor           = $data_actors[@actor_id]
    start           = 0
    base            = 0
    rate            = 0.1
    increase        = 0.1
    if SkillTree::PROGRESS.has_key?(@actor_id)
      start         = SkillTree::PROGRESS[@actor_id][0]
      base          = SkillTree::PROGRESS[@actor_id][1]
      points        = SkillTree::PROGRESS[@actor_id][2]
      rate          = SkillTree::PROGRESS[@actor_id][3]
      increase      = SkillTree::PROGRESS[@actor_id][4]
      rate          = 0.1  if rate <= 0
      increase      = 0.1  if increase <= 0
    end
    @points_list[1]  = 0
    j         = 0
    pow_i = 1.0 + increase / 100.0
    for i in 2..100
      if i > actor.final_level
        @points_list[i] = 0
      else
        if i < start
          @points_list[i] = 0
        else
          j += 1
          n = points.to_f  * j  /  rate.to_f + (increase.to_f * (j.to_f/10))
          n += base.to_f if j== 1
          # Erase if no skill tree progress
          if SkillTree::PROGRESS.has_key?(@actor_id) != true
            n = 0
          end
          @points_list[i] =  Integer(n)
        end
      end
    end
    # Just to show the progress
    if SkillTree::SHOW_PROGRESS == true
      p "This is how many points gaine 'each' level"
      p @points_list
      test = []
      testval = 0
      for point in @points_list
        if point.nil?
          test.push(nil)  
        else
          testval += point
          test.push(testval)
        end
      end
      p "This is the points progress"
      p test
    end
  end  
  #--------------------------------------------------------------------------
  # * Change EXP
  #     exp : new EXP
  #--------------------------------------------------------------------------
  def exp=(exp)
    # Create test value
    oldlevel = @level
    # Perform the original call
    skilltree_addon_game_actor_exp(exp)
    # Add or remove based on testval level
    if oldlevel < @level
      @skillpoints += @points_list[@level]
    elsif oldlevel > @level
      @skillpoints -= @points_list[@level]
    end
  end
end
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }
#40
(12-10-2019, 08:02 AM)DerVVulfman Wrote: Modeled after the work of French Scripter, MicKo, this one too does not include points progression.  Laughing In otherwords, I didn't add points for each level because he didn't.

Well, you could set up the actor's startup points to 0.  After that, ... well....   Try adding THIS!:

Code:
#==============================================================================
#
#    **   C  O  N  F  I  G  U  R  A  T  I  O  N      M  O  D  U  L  E   **    #
#
#==============================================================================

module SkillTree
 #--------------------------------------------------------------------------
 # * SYSTEM REQUIRED HASHES - DO NOT TOUCH -
 #--------------------------------------------------------------------------  
 PROGRESS = {}
 #--------------------------------------------------------------------------  
 
 SHOW_PROGRESS = true
 
 # Lvl     -- Starting level for points progress
 # Base    -- Starting points
 # Points   - Number of basic point gain
 # Rate     - Rate of increase
 # Increase - Rate of increase adjustment
 
 
 #               Lvl  Base  Points  Rate  Incr
 #               ===  ====  ======  ====  ===
 PROGRESS[1] = [   6,    5,   1,    3,     2  ]  # Aluxes starts off strong
 PROGRESS[5] = [   6,    3,   0.5,  10,    0.5]  # Estelle grows slower
 
 
end


#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles the actor. It's used within the Game_Actors class
#  ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================


class Game_Actor < Game_Battler
 #--------------------------------------------------------------------------
 # * Alias Listing
 #--------------------------------------------------------------------------
 alias skilltree_addon_game_actor_setup setup
 alias skilltree_addon_game_actor_exp exp=
 #--------------------------------------------------------------------------
 # * Setup
 #     actor_id : actor ID
 #--------------------------------------------------------------------------
 def setup(actor_id)
   actor = $data_actors[actor_id]
   @actor_id = actor_id
   skilltree_addon_game_actor_setup(actor_id)
   @points_list = Array.new(101)
   make_skillpoints_list
 end
 #--------------------------------------------------------------------------
 # * Calculate Skillpoints progression
 #--------------------------------------------------------------------------
 def make_skillpoints_list
   actor           = $data_actors[@actor_id]
   start           = 0
   base            = 0
   rate            = 0.1
   increase        = 0.1
   if SkillTree::PROGRESS.has_key?(@actor_id)
     start         = SkillTree::PROGRESS[@actor_id][0]
     base          = SkillTree::PROGRESS[@actor_id][1]
     points        = SkillTree::PROGRESS[@actor_id][2]
     rate          = SkillTree::PROGRESS[@actor_id][3]
     increase      = SkillTree::PROGRESS[@actor_id][4]
     rate          = 0.1  if rate <= 0
     increase      = 0.1  if increase <= 0
   end
   @points_list[1]  = 0
   j         = 0
   pow_i = 1.0 + increase / 100.0
   for i in 2..100
     if i > actor.final_level
       @points_list[i] = 0
     else
       if i < start
         @points_list[i] = 0
       else
         j += 1
         n = points.to_f  * j  /  rate.to_f + (increase.to_f * (j.to_f/10))
         n += base.to_f if j== 1
         # Erase if no skill tree progress
         if SkillTree::PROGRESS.has_key?(@actor_id) != true
           n = 0
         end
         @points_list[i] =  Integer(n)
       end
     end
   end
   # Just to show the progress
   if SkillTree::SHOW_PROGRESS == true
     p "This is how many points gaine 'each' level"
     p @points_list
     test = []
     testval = 0
     for point in @points_list
       if point.nil?
         test.push(nil)  
       else
         testval += point
         test.push(testval)
       end
     end
     p "This is the points progress"
     p test
   end
 end  
 #--------------------------------------------------------------------------
 # * Change EXP
 #     exp : new EXP
 #--------------------------------------------------------------------------
 def exp=(exp)
   # Create test value
   oldlevel = @level
   # Perform the original call
   skilltree_addon_game_actor_exp(exp)
   # Add or remove based on testval level
   if oldlevel < @level
     @skillpoints += @points_list[@level]
   elsif oldlevel > @level
     @skillpoints -= @points_list[@level]
   end
 end
end

Perfect! That gives me more freedom than I even need  Very cheery

How do I add this code to the existing script?
When I copy/paste the entire code before or after the original, I get messages on startup.
Reply }


Possibly Related Threads…
Thread Author Replies Views Last Post
   Skill Roulette XP kyonides 0 1,139 06-16-2023, 07:10 AM
Last Post: kyonides
   Fast Skill Grouping DerVVulfman 3 4,835 06-12-2023, 05:28 PM
Last Post: DerVVulfman
   Skill Casting Delay DerVVulfman 1 10,986 11-20-2018, 05:38 AM
Last Post: DerVVulfman
   MicKo's Skill Tree DerVVulfman 48 91,549 11-08-2016, 08:04 PM
Last Post: DerVVulfman
   GPLAT Pixel Platformer Revised DerVVulfman 0 4,612 10-02-2014, 04:14 AM
Last Post: DerVVulfman
   Skill Shop Legacy 1 7,726 06-30-2012, 07:36 PM
Last Post: KasperKalamity
   Skill Leveling DerVVulfman 28 43,269 04-07-2012, 09:25 AM
Last Post: Waddle Dee
   Trickster's Bag Of Skill Effects Trickster 5 15,243 02-23-2010, 06:32 AM
Last Post: fgsfds
   Custom Skill Effects Lowell 0 5,051 03-06-2008, 06:16 AM
Last Post: Lowell
   Moghunter Menus: Scene Skill Nami DerVVulfman 0 6,121 03-05-2008, 06:45 PM
Last Post: DerVVulfman



Users browsing this thread: 1 Guest(s)