Posts: 448
Threads: 18
Joined: Sep 2015
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
Posts: 11,214
Threads: 648
Joined: May 2009
Looks like I wasn't the first to download your demo. 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...)
Above are clickable links
Posts: 448
Threads: 18
Joined: Sep 2015
Oh that's really good to know.
Thank you alot!
I will replace my old script with the updated version soon.
Posts: 448
Threads: 18
Joined: Sep 2015
A very weird error comes up since I'm working on my game again.
It only appears when I try to view the skilltrees of the first 3 actor IDs.
Every other ID has no error.
Posts: 11,214
Threads: 648
Joined: May 2009
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...)
Above are clickable links
Posts: 448
Threads: 18
Joined: Sep 2015
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 )
Posts: 11,214
Threads: 648
Joined: May 2009
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...)
Above are clickable links
Posts: 29
Threads: 4
Joined: Dec 2019
(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.
Posts: 11,214
Threads: 648
Joined: May 2009
Modeled after the work of French Scripter, MicKo, this one too does not include points progression. 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...)
Above are clickable links
Posts: 29
Threads: 4
Joined: Dec 2019
12-10-2019, 03:41 PM
(This post was last modified: 12-10-2019, 04:05 PM by Fenriswolf.)
(12-10-2019, 08:02 AM)DerVVulfman Wrote: Modeled after the work of French Scripter, MicKo, this one too does not include points progression. 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
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.
|