$D13x Skill Upgrade

# ☆ Introduction
# This script creates a highly dymanic and customizable Skill Upgrade scene.
# You can use either Exp, SP or Gold to obtain skills this way.
# Using this script you will be able to make a huge assortment of skill tree’s
# each different from the last. You can also enable each actor to utilize a
# different skill tree, very useful for different classes.
# In order to function correctly, this script requires the scripts listed below;
# $D13x – Core v2.2
# $D13x – Skill Levels v1.7
# $D13x – Learn Skill Requirements v2.0
Script Link


64 thoughts on “$D13x Skill Upgrade

  1. Nyne says:

    Hey Dekita, really newbie question but how do I access the skill scene? The script is working just fine for as far as I’ve gotten but I’m unable to find a method of bringing up the scene.

  2. Dekita-RPG says:

    Lol no need to apologize.

    There is no single ‘reset_skills’ script call; however, there are script calls within skill levels script to reduce/reset a single skills levels. You could also use the forget skill event command to forget a skill, but it would remember its current skill level.

    If you want, I can write a script call for it, shouldnt bee too difficult 🙂

      1. Dekita-RPG says:

        So, I realized there is already a fairly simple way to do this…

        Simply make sure that the Reset_On_Forget option is true for the skill levels script and then use this script call…

        actor = $game_actors[ID]
        actor.skills.each do|skill|

        This removes and resets all skills for actor ID.

  3. Yin says:

    Thanks! Now I just need to refill the skill points!

    I have probably stupid question. How do I make it so that the skill does not level up on its own when it has enough experience, but only when I use the skill points on it. For example, I use the skill and one of the requirements is that it has a certain amount of exp, I fill the exp. Currently when I fill the exp, it gives me a message in battle saying “Skill is now level x” But I instead want the skill to stay at level 1 until the points are used on it and not display the level up message when it gets enough experience. I probably overlooked it somehow, so I’ll keep looking at the config and instructions until you can answer me.

    1. Dekita-RPG says:

      Actually, this may have been something I overlooked.

      I will have to update the skill levels script so it doesnt upgrade skills automatically. I will do that tomorrow as its pretty late here now ^_^

      1. Yin says:

        Oooh ok, I thought I was just overlooking the option. I will look forward to the skill level update for compatibility.

  4. Nyne says:

    Hey Dekita, I’m experiencing some issues with upgrading skills. The problem is that despite the fact that I’ve met all of the requirements for the skill, I’m still told that I’m unable to learn it. The only way around this is for me to increase my characters level beyond the level requirement of the skill for it to be learned. For example I have some skills that require a level 5 character and the skill can be learned at level five but, despite it still saying the skill has a level five requirement, I have to get up to 14 or something to upgrade the skill. Any help would be appreciated.

  5. Nyne says:

    Okay thanks, I’ve figured out that what is happening is that say a skill requires level 10 to learn, you have to get to 20 to upgrade it to the next level and then 30, 40, 50… or for a skill that require level 6 I need to be 6, 12, 18 ect. I just need it to be that at level 10 you can get the skill and upgrade it from that level

  6. Selluvia says:

    Hello Dekita, I’ve been using a lot of your scripts for my project, they indeed are great!

    But I’ve got a question: In this skill upgrade system, there are arrows and requirements for skills to be learned right? Is it possible to put in place a requirement for a previous skill to be at least at certain level before learning the new one?


    1st skill on the tree is Fire, the one on the left is Fire 2, but I need to have Fire on level 5 in order to learn Fire 2.

    If so, how is it done? Thank you in advance.

    1. Selluvia says:

      I tried using the learn skill requirement, it works when learning the skill automatically by level, but even if you need some skill on certain level, you can still learn it on the skill tree, that’s what happening ><

  7. Selluvia says:

    Okay, I read thoroughly to see if it was my mistake somewhere, I read that notetags shall be used on skill noteboxes to work with skill upgrade, I tried every notetag possible, but the most important that is eval is getting this error:

    Script ‘Skill Upgrade’ line 1213: NoMethodError occurred.
    undefined method ‘skills_lv’ for #

    1212 @skill.evals_req.each do |evl|
    1213 if eval( evl.to_s )
    1214 y = draw_eval_req(y,mult)
    1215 end
    1216 end

    What’s exactly the problem? ><

    Skill notetag is like this:

    <eval req: skills_lv(201)

    Thank you for your attention ^^

      1. Selluvia says:

        Yeah, got it working when I took a look at the notetag configuration on learn skill requirement, eval indeed isn’t working, I needed to use

        It’s not on the instructions, so it became hard to solve the issue, thanks for the script ! ^-^

        Cheers! \o

    1. Dekita-RPG says:

      Hi, sorry for the delayed reply..,.

      The eval notetag did work the last time I checked. You actually have to pass it a true / false question / evaluation though.
      for example…

      skills_lv(id) Returns the level of the skills id. This would not be usable within an eval notetag as its not asking anything, therefore, its not evaluating anything.

      You could use…
      skills_lv(id) >= level . Which would ask the question, is skill id’s level greater or equal to level.

      Try this…

      <eval req: 5 < skills_lv(201)  >

      This will return true if the skill level is higher than 5. I am sure the eval method works ‘backwards’, so you may have to use this instea…

      <eval req: !(5 < skills_lv(201))  >

      Either way, it is definitely possible 🙂


      you could have just used the notetag…

      <skill req: SKILL_ID , REQUIRED LEVEL >


      hope this helped somewhat 🙂

  8. Rhaidor says:

    Hello Dekita ! Awsome script ! 🙂
    One question : is it possible to bound the skill trees not to specific actors,but to specific classes? ( or its already working like that and i missed something ? )
    Thank you!

    1. Dekita-RPG says:

      Yea it can do that. simply give the sug id notetag to classes instead of actors. If an actor has the note, then it will supersede the class notetag. ^_^

      <sug id: ID>
  9. Team Rocket Grunt says:

    Hello ! I have a strange problem..at every single skill it says, below the exp , gold and sp cost there is an extra line : Req Dagger 1 , and i have no idea why is this here. It dosnt do anything , so wont stop me learn or us the skill…it is just here. Do you have any idea? 😀

  10. Dekita-RPG says:

    Yes. You have set a requirement for the skills to only be learned after you have whatever ‘dagger 1’ item is.

    If you didnt do this, it will be a bug or an incompatibity. To confirm that, I would suggest you test in a blank project. If the error persists – let me know ^_^

    1. Team Rocket Grunt says:

      In a clean project it wont appear, even if i copy all the scripts exactly like i have in the original project. So ok,i just copy the maps , and continue .
      And i figured out the Dagger was the Level … So Req Dagger 1 = Req Level 1 , but still no idea why Dagger 😀 and dindt renamed it.

      Well thank for you time and quick respond 🙂

      1. Dekita-RPG says:

        lol yea that makes more sense now, all skills have a learning requirement for level 1 by default lol Not sure why it called it ‘dagger’ though – especially if you didnt change the name :/

        Either way, happy you got it working 😀

  11. Bearpigman says:

    Hello ,Dekita!
    This script is a charm and the most easy to use skill-tree script what i saw.
    One question : can i use it like… sorry for my bad english. So… can i use the lvl up method as… i create for a skill 5 lvls in the database,like : Heroic Strike 1, Heroic Strike 2 , etc. and if i lvl up Heroic Strike , my character forget the lvl 1 and get the lvl 2. Or this would be a totaly anather script and not possible , i use this 🙂

    1. Bearpigman says:

      I already use so many of your scripts , i need to add golden color font for your name in the credita 😀

      1. Dekita-RPG says:

        lol that would be cool ^_^

        Unfortunately, this script doesnt allow one skill to be replaced by another. It will probably be a feature that is added eventually as a few people have asked for it now. But I am far too busy this month with EUA (a game im making within a month lol)

  12. Bearpigman says:

    Its cool if you have it in a future plan 🙂 I jump trought the skill system right now then , there is lot work to do.
    Good luck for you in the contest !

  13. Joran says:

    Ok, i am probably just bad, so sorry for wasting your time…

    I’ve been able to get using most of your scripts without too many problems, got stuck sometimes and i eventually came over it in the end.

    But this one seems to be just beyond my skills.

    I can’t understand, this doesn’t seem to work because it says it need graphics but i have absolutely no clue on how to create something working.

    Aren’t there any examples anywhere? some graphic i can throw in to see how it works and then eventually replace it with my own?

    i can’t even say which kind of format it needs and where to put them exactly, i believe instructions provided are for someone that is on another level of knowledge than i currently am.

    I would be grateful if someone (even not the creator) could help me

    1. Dekita-RPG says:

      Follow the $D13x Engine link at the top of the page and then download the $D13x Master Demo.

      That will have the graphics that you need – which is only the skill box and selector images 🙂

  14. Joran says:

    Thanks a lot for you answer! i’ve been really dumb to not understand how that worked after all!

    A little hint to improve this script:

    Would you think it will be possible to add a function that would be after the

    :skill => 1,
    :pos => [5,210],
    :dir => {l: [nil,false], r: [1,false], u: [nil,false], d: [nil,false]},


    :learned => true, x

    Which loads a custom image to place above the skill icon (which could be like a green check V) when the skill reachs level X?

    That way the tree would be easyer to read for the player as he can see which skills he already learned.

    If it’s already possible to do that and i somehow missed it just slap me in the face and tell me how plz : )

  15. Joran says:

    Oh, and there’s something else i can’t work around too : \

    If i use a the on a skill then the SP and Gold requirements on the skill tree aren’t showed up, there’s just a “–” instead.

    If i set the max level on 2 then they appear for lvl1, but the skill becomes upgradable and that’s not what i want.

    i’ve tryed modying the exp set on “skill levels” script by removing all levels but level 1, so that i don’t have to use the “max level”

    but he tries to draw requisites for the 2nd level anyway and crashes with an error.

    1. Dekita-RPG says:

      I will have to look into that issue further when I get some time.

      Seem you may have found a bug. Thanks for reporting it 🙂

      I will try get fix done as soon as I can but I ma very busy right now so I cant give a possible timeframe :/

  16. Ashyra moonwolf says:

    Hi dekita! I found that script who is really cool, and usefull! I only got a tiny shiny problem…. Is there any way to use Dp and not Sp?? I want to use only 1 ressources for skill and status upgrade… (However, if it’s easyer to use Sp for both skill and status, i’ll deal with it!)

  17. Ashyra moonwolf says:

    Excuse me again my friend! ^^’ I take my decision and use the sp setting by default! but i only give with lvl up for now! When i up many lvl, sp are not give…. thx for helping

    1. Dekita-RPG says:

      Yes, sorry. There is currently a few faults with this and I do not (currently) have enough time to fix the issues.
      I do plan to get the issues fixed, I’ve just been very very busy.

      I hope this does not cause you too much inconvenience 🙂

  18. Ashyra moonwolf says:

    Hi me again ;p. Yeah I’ee there a few faults!! Don’t worry, this doen’t even is a inconvenience, i got time^^! And to do the best game ever i need to take it^^! So i decided to not use all sp gain! The player will have choice to change Stat into Skill point, and skill into stat! But the script code don’t work to… T-T So the Stat gone, and skill point never come^^ (Sorry for my english). (I use $game_actor[ID].gain_general_sp[MY VARIABLE])…… I think you probably hating me… And i wish you to know i’m sorry^^’, but you script is too cool and i don’t know scripting so…. (i can fix little bug… but you’re script is overcomplicated to me… ^^’

      1. Dekita-RPG says:

        Hi, you would use that script call that you posted; however, MY_VARIABLE MUST be a string (a string of letters enclosed with “) as shown below…

        $game_actors[ID].gain_general_sp(" MY_VARIABLE ")

  19. Ashyra moonwolf says:

    …. Thx ^^… I’m sorry for that… II probably make it wrong…
    This is the exactly code i use!
    i probably made something bad, even if the game don’t crah, i don’t earn points….

  20. Ashyra moonwolf says:

    (To thx you if you wish, i’ll give you a demo ^^ (well demo is a fast word…. I will give you what i’ve done to try it ;), I’m “alone” on this project, but i make my best^^! For information, its kinda mix between monster hunter, ff on some point (and story point because old ff know it ^^, and he is based to be play hundreds hour! Got lot of thing to do, but when gameplay will be done…. The harder will be done^^ (yeah i hate scripting, but all mapping, event system, and graphics system is pretty cool^^) I have to finish all actor specific skil…. and have to made this Call script working^^)

      1. Dekita-RPG says:

        I will check that out when i get the chance but I am very very busy at the moment. If I can replicate the issue though then I should be able to find a fix for it 🙂

  21. Jacob says:

    Ok this is going to be a very noob question, but i have tried everything and cannot seem to get the menu option to pop up for the skill tree. Is it just me being dumb or do i have to get another script besides the ones that the script calls for in the instructions? I have the distribute option working but the skill tree menu wont ever appear. Hopefully you can help me >.<

  22. Jacob says:

    there are no other scripts that would be conflicting. I removed all others and only had your core and other scripts you have made. The skill scene just never comes up with the new windows and i have no idea why it wont.

  23. Edison says:

    Hi! I’m having a problem at level 1 skills because all requirements except for required level and skills, are blank or something like —
    I think it was my mistake! thank for the great script.

  24. JayNyne says:

    Hey the script is great but I’m having a little bit of trouble when leveling up skills. If a skill requires 10 strength and level 20 to learn, then when I have met those requirements I can learn it. The issues come up when getting the skills to higher levels. First, the level requirement stills says 20 instead of 24, 28, 32 and 36 for each level but the character must be at those levels to learn it. The only other problem is that after learning the skill, the ISPD stat requirement becomes redundant when leveling up. The strength requirement will change to 12, 14, 16 and 18 but they won’t be needed and leveling the skill becomes purely based of the character’s level.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s