Posts: 11,229
Threads: 648
Joined: May 2009
MicKo's Skill Tree - Revised
Version: 1.7
Introduction
This system allows you to craft a skill tree such as those in games like Diablo or some Final Fantasy RPGs. Earlier systems required the crafting of these with elaborate events systems, but no more.
Not only can the player select skills from the tree by spending points to acquire them, but may also increase or advance a skill from one skill to another. Unlike MicKo's original system, this revised version keeps the changed skills solely for the individual actor. In the previous version, any changes to a skill would affect all users of that partucular skill... but no longer will with this version.
There are added bonuses to this system. Through this system, you can make a skill give bonus 'passive' effects to an actor, allowing them to gain or lose stats and/or maximum health scores. However, the passive skills feature from MicKo's original version was removed.
Features- An actual skill tree system
- Actor passive effects based on skills learned through the tree.
- Ranked/Leveled skills for individual actors through the system. (new feature)
- Able to set skill trees to either actor IDs or class IDs. (new feature)
- Modified 'Change Actor Skills' to learn/forget ranked skills. (new feature)
- Books able to teach skills (one or more), including rank system skills. (new feature)
- Enhancements to configuration system allowing more visual design flexibility. (new feature)
- Able to have both skill-tree using and non-tree using actors in a project. (new feature)
Demo
The Tree Demo
Instructions
Fairly easy to use and there are instructions throughout the configuration section.
Credits and Thanks
Definite thanks to MicKo who crafted the bulk of this fine system. Also thank to finalholylight who noted a rank leveling issue in the original version, and to reiji1337 who saw a passive bonus stacking error.
Terms and Conditions
Free for use in games both commercial and free. Just give due credit.
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: 11,229
Threads: 648
Joined: May 2009
Bump
to version 1.1
When you have a skill that needs the actor to have learned one (or more) required skills, it had a fault that didn't notice if the skill was a leveled/ranked skill or not. In other words, oops! As of now, the system correctly recognizes leveled/ranked skills and checks to ensure that your skills are fully leveled and learned.
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: 32
Threads: 8
Joined: Aug 2011
Nice, this could be quite fun to use
Posts: 11,229
Threads: 648
Joined: May 2009
Even better when some things get worked out....
Bump
to version 1.5
A minor glitch had to be worked out with the passive effects system as it ignored the 'base' skills.
Meanwhile, I added a new Limit Cap to the skill points system, so your actors cannot go beyond... whatever you set. I added a new command so you can bring up the skill tree window from a map event for a particular actor by his ID (rather than party index). I altered the 'Change Skills' system so you can single out a skill or by skill rank range. And I cleaned up the system a bit more, ensuring that skill ID values used actual skill_id variable names and so on.
A help file may be coming soon.... I hope.
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: 49
Threads: 2
Joined: Jun 2011
Posts: 11,229
Threads: 648
Joined: May 2009
About time you saw that.
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: 49
Threads: 2
Joined: Jun 2011
I found a problem when use skill tree build with character class.
When I change SKILLS_ROWS[2] to SKILLS_ROWS[8], and set Basil class to class 8 (mage), when call script skilltree, error pop up, it say there was a nil:nil class.
But when I not change SKILLS_ROWS[2] , and I create a new SKILLS_ROWS[8], it work fine.
Edit: hmm, I think I found the reason.
I think because it was a mess between actor id and class id, even if you set CLASS_TREE_START = true (skill tree by class id) , when you call script skilltree, it still check actor id first, Basil id is 2, so you must have SKILLS_ROWS[2] in script whether you need it or not, and then the script check actor class id , class 8 => SKILLS_ROWS[8].
Edit 2: ow, I found more annoy problem cause by actor id and class id, I create SKILLS_ROWS[10]
If I set Basil to class 10, I get error.
but then I create an actor 10 in database and set that actor to class 10 ,too , it work fine.
Same that , I create SKILLS_ROWS[30] and set Basil to class 30,, then I also must create actor 30 for not getting error.
Gosh, my game have 50 classes, then I must create more 50 clone-actors to avoid error @@!
I think this skill tree system still not compatible with class id. So, DerVVulfman, Would you mind contact with MicKo about this problem, hope he will fix this soon.
Posts: 11,229
Threads: 648
Joined: May 2009
Class ID does work fine.
You have made mention that you cannot change Basil to a class ID #8 (Mage) and access the skill tree for class #8 unless a Skill Tree #8 was made. I grant you that one. I have to work more to prevent non-existant trees from crashing the system a bit more. However, I do have to point out that the system is working fine for classes with skill trees otherwise. And don't forget that Basil, while he is actor #2 in the database, he is classified as Party member #1 (with Aluxes as Member 0, Cyrus as Member 2 and Estelle as Member 3) in the system.
While one thinks it is actor based, the skill tree is passed the ID of the party member instead.
Also, Did you mix and match? I replaced the SKILLS_ROWS array system with SKILL_TREE.
And I haven't heard from MicKo in almost 2 years. This edit was my attempt to revise. Admittedly, I have more checking to perform to prevent actors from accessing skill trees when their class does not (though it works for Estelle).
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: 49
Threads: 2
Joined: Jun 2011
Hmm, I still can't understand, when I set actor class with the ID that larger then the maximum number of actors in database (Ex: maximum number of actor in DB is 8 actors, I set an actor class to class 9), and when I call skilltree of that actor, error popup warning about nil: nil class in line:
for i in $game_actors[actor_id].initialskills[branch].keys
Posts: 70
Threads: 15
Joined: Nov 2012
thank you sharing such a great script but I keep getting a error message I copied the script into my script bank then I gave one of my entity's the script skilltree(1, true) but when I go to see the skilltree all I get is this
|