Learn Skill Engine

Last Updated: 2012.01.08
Download Link
Github Link

For those who want an alternative for actors to learn skills outside of leveling, this script allows actors to learn skills through a learn skill menu. The actor can use acquired JP, EXP, or Gold to learn skills. Skills can also be hidden until certain requirements are met.

Players can access the “Learn Skills” menu from the skill or class menus. To access it from the class menus, make sure your Class System script is up to date and has the Learn Skills command inserted.

A list of skill types and skills that can be learned for each skill type will be shown. Set skills to be learned by using this notetag in your classes.

<learn skills: x>
<learn skills: x, x>

Sets the class to be able to learn skills x through the Learn Skills menu. Insert multiple of these tags to increase the number of skills learned.

Before learning a skill, a menu will pop up to ask the player where to draw the JP or EXP cost from. Adjust the JP cost of skills using notetags.

<learn cost: x jp>
<learn cost: x exp>
<learn cost: x gold>

Sets the learn for cost the skill to require x amounts of JP, x amounts of exp, or x amounts of gold. Only one type of cost can be used at a time. For JP costs, the Yanfly Engine Ace – JP Manager script must be installed.

Some skills can require certain conditions to be met before appearing in the skill list.

<learn require level: x>

Sets the skill to require the actor’s current level to be x before the skill will show up in the skill learning window.

<learn require skill: x>
<learn require skill: x, x>

Sets the skill to require learning skill x (through any means) before the skill becomes visible in the skill learning window. Insert multiples of these tags to require more skills to be learned in order for the skill to show.

<learn require switch: x>
<learn require switch: x, x>

Sets the skill to require switch x to be ON in order for it to show in the skill learning window. Insert multiple switches to to increase the number of switches needed to be ON before the skill is shown.

<learn require eval>
  string
  string
</learn require eval>

For the more advanced users, replace string with lines of code to check for whether or not the skill will be shown in skill learning window. If multiple lines are used, they are all considered part of the same line.

And that’s all, folks!

177 comments on “Learn Skill Engine

    • Well, skill is a general term…

      -> Special Skill category
      -> Magic category

      Looking at picture 1, yes. It divides the “skills” into skill types (which you name in the database) and allows you to categorize skills into their types.

      … Basically, yes.

  1. Sorry, im very beginner here.
    Can anyone tell me where should i put , , ?
    I tried put these commands on dataBase -> Skill -> Note .
    But it doesn’t effects anything….sigh….

    • As I understand, if it’s a skill, it can be used with this, passive or no. If your passive skill works, all you need is to have the correct note tags and the intended characters should be able to learn and use them via this engine.

  2. Pingback: Ubuntu 11.10 « Imagina y Programa

  3. Hmm.. when you use the call, SceneManager.call(Scene_LearnSkill), is there any way to make it open a character selection window before the Learn Skill window. When i have an event call the scene it only loads the last viewed character.

    • I was wondering this myself. I followed the instructions above that were given to Patrick, but it only gives me either my Main Character, or the last person whose stats (or skills) I viewed.

      • Hi. Incredible job Yanfly!
        is there any notice about this? I’m trying to modify this script to make a store to buy skills with the JP. If I can change the char with page up and down it’s ok. But even If I have only one char in my party, the first character appearing is the main one… Is there any way to “reset” the selected char or something?

  4. Hello! Another wonderfull script :)
    Though I’m wondering if there is any way to JP in the main menu?
    Thanks in advance!

  5. I have been beating my head against the wall on this too… I stored the actor’s ID with a variable in a common event that calls the scene. I modded Yanflays’s script in the actor= area to store my variable as the actor, but this causes the rest of the script to fail… I think the reason is he designed this as an addon to the main menu and not as a skill shop as I think several of us are doing… Any help Yanfly!!!!

    • I forgot to post this after i found this out, but the ‘Page up’ and ‘Page Down’ button selects the character. I wish you could use the arrow keys, left and right to do it.

  6. Is there a way to force the player to spend only JP obtained from a specific class (subclass in this case) as my main class can buy all the skills my subclass is able to learn which makes it kind of annoying when they can just buy every skill with the JP they earn from the main class for the subclass.

  7. I found a strange bug, I’ll try to explain as best as I can. If I have a priestess and a Mage (witch) in the party at the same time, and in the learn skill window if I switch the selected party member from Priestess to Mage, it carries over the Priestess’ learnable abilities, to the Mage and cancels out her own. But if I select anyone else, (the hero, for example) and select the Mage, the Mages normal skill list is back.

    And if I try to purchase anything from the Mages skill list when it is corrupted by the Priestess’ skills I get an error:

    Script ‘Learn Skill Engine’ line 1090: TypeError occurred.
    can’t clone NilClass.

    I hope I explained that well.

    • I ran into this similar issue myself where I had two classes, one with White Magic and another with both White Magic and Black Magic where using page up/down (or q/w) to switch between characters it would show the other characters skills. It looks like the window is drawing itself before the list is created.

      I simply added refresh to the script in Window_LearnSkillList, inside of def make_learn_skills_list as shown below:

      #————————————————————————–
      # make_learn_skills_list
      #————————————————————————–
      def make_learn_skills_list
      @learn_skills = []
      @skill_classes = {}
      return if @actor.nil?
      for skill_id in @actor.class.learn_skills
      next if $data_skills[skill_id].nil?
      next if @learn_skills.include?($data_skills[skill_id])
      skill = $data_skills[skill_id]
      @learn_skills.push(skill)
      @skill_classes[skill] = [] if @skill_classes[skill].nil?
      @skill_classes[skill].push(@actor.class.id)
      end
      make_unlocked_class_skills

      refresh
      end

      This refresh above end causes the window to redraw itself anytime it’s done retrieving the skill list as I noticed it still gets the list correctly but never updates the window. This solved my issue and now I always see the correct skills when I swap between characters.

  8. If anyone could mod this to be a skill shop, or YanFly mod it to be a skill shop, that would be amazing. I don’t know enough scripting. It would look and function like the YanFly shop. It would recognize who can learn, if the skill already exists or arrow up like the shop. And in the script, you can set a switch or variable to set to open either magic, skill, or both. I want to have a magic skill shop and also like a warriors arena and thieves guild for learning skills. This would be perfect but since I am so green i am not sure how to tweak it, can’t say I haven’t tried lol.

    • This already works like a skill shop. And it’s not hard to set up either. I’ll go ahead and run you through how i set mine up, and maybe you’ll get the jist of it.

      The first thing you wanna do, is import the script, if you haven’t already. Now if you read lines 27 – 72, it’ll explain how there are Notetags that you enter in the ‘Notes’ section of each skill.

      Next you wanna enter the database – Skills tab. Scroll down until you locate the basic ‘Heal’ spell, click on it. On the bottom right of the skill window, there is a small box titles ‘Notes’ that is where you place the Notetags mentioned earlier.

      Now, to set up what would be a skill shop. In the ‘Notes’ box place any notetags you are planning to use. I’m going to lead you through what i used. For the basic Heal spell, i used only the tag which, in turn makes this spell cost 500 gold. And thats all. Now move on to the ‘Heal II’ spell, and in the notes section the tags would be, and (If yo look at the skills in the list, you will see that skill (026:Heal)) . This will make you have to buy ‘Heal’ before you can buy ‘Heal II’. Set up the rest of the magics just like this (use whatever price(s) you desire) and you’re skill shop is nearly complete.

      Now here’s something i did. I have two Magi’s. A witch, and a priestess (strange?) but it would seem weird to have a priestess be able to launch a massive fireball. So i made her only able to learn white magic. Opposite for the Witch. So if you go into Database – Classes tab, find your witch / priestess and in the ‘Notes’ box input the follwing, The first is ideal (in my eyes) for the priestess, second for the witch.

      And this allows each magi class to learn the spell / skill ID listed. And for the spells like ‘Saint’ or ‘Holy Spirit Blessing’ use those normally, as in they acquire them at a certain level. That way it makes them have a kind of, Special skill.

      Sorry for the long post, but surely you can understand why. And i believe this could help other people as well.

  9. Hm, having a bit of a problem here, hopefully somebody can walk me through this bit seeing as I absolutely suck at Ruby-evaluation stuff.

    I would like to set this up so that upgrades to skills usually given by certain equipment can be taught to any one character permanently (thus making the equipment obsolete in the skill-giving regard), provided they have the “base” skill available at all.

    Now, if I use the evaluation tag “learn require skill,” the script assumes I am referring exclusively to skills learned through class-progression, completely ignoring skills given to the character via traits.

    How can I tell the script to require a skill merely being present in the character’s skill-list, be it by traits or “natural” learning, before teaching the upgrades?

    • Alternatively asked, can I somehow have the script check for the presence of a trait on a character, independent of the trait’s source (weapon, armor, class, etc.)?

    • Make sure you placed it in the right section in the script editor and that you do not accidentally have any duplicates of one and the same script running in your game.

  10. I tried testing this. I have a skill that can be learned if I have 10 JP. Well, my actor has 10 or more JP and the skill’s name is grey and it won’t give me the pop up window to learn the skill.. What I’m I doing wrong? I have notetag in a class that is subclass only and on skill 128 I have the tag . I did everything right I thought. :\

    • It deleted some things when I posted for using the “pointing things” that are used… but the class that is subclass only, I have the notetag that says “learn skill: 128” instead of the quotations, I have the correct “pointing things” and on skill 128 I have the note tag that says “learn cost: 10 jp”

  11. Great script, but please for christ’s sake, update the notetags in the next versions so that you can use abbreviations instead of the whole notetag.

    I mean that instead of something like “learn skill cost: X jp” use “lsc: X jp”

    When you have a hundred or more skills, the task becomes rather tedious when you have to notetag them all.

    • You can just Copy & Paste the standard note tag, and then just update the “x” to the appropriate value. No need to type it in every time…

  12. Hey, thank you! Nice script! :D
    I found something that can be of interest to somebody.
    The “Learn Skill” command appears on the “Skill” and “Class” windows on the Principal Menu… How do I delete the “Learn Skill” option from the “Skill” window without deleting it from the “Class” one?

    • Problem solved, just delete or comment:

      line 458: add_command(name, :learn_skill, true, @actor.added_skill_types[0])

  13. I’m completely new at this, so please bear with me.

    Is it possible to make this script work with an NPC initializing the learn skills menu? How would I go about keeping the default skills menu when I’m not triggering an event with said NPC?

    Any help is appreciated. Thanks.

  14. Wonderful script, as always!!! Just a couple little issues:

    1) One of my actors is a class with two skill types: Dueling and Red Magick. On the Skills menu, the order of my commands reads: Dueling – Red Magick – Acquire Skills (my renaming of the command for Learn Skills). On my Dueling I have a initial skill learned and when I put the cursor over Dueling it shows the list of skills as normal. However, when I move the cursor over ‘Acquire Skills’ it ALSO shows the list of all skills learned under my Dueling type without even entering the Learn Skills engine. Is there something I can change in script so it doesn’t show any skills on ‘cursor-over’ or is it stuck showing all skills learned under first Type listed on Menu?

    and

    2) Is there a call function so that I can disable the ‘Learn Skills’ from my skills menu and instead bind it to like a journal or crystal in-game. The actor speaks with the journal/crystal/object and a Script.. call initiates and brings up the Learn Skills engine.

    Thank you!!!

  15. I’m having trouble using this script. I keep getting this message:
    Script ‘Learn_Skill_Engine’ line 1: SyntaxError occurred.

    unexpected teQQ
    ========================================…

    ‘Learn_Skill_Engine’ is what I named the script.

  16. Got a rather annoying stack level error when battle testing (through the troops database) with this script. And then I managed to figure out the error came from me having the notetag on just one of my classes, the I had about 15 skills in that notetag at the time. Even if i had just one skill in that notetag I get the stack level error.

    So when I removed that whole notetag, the battletests started working again. Is there any way to fix that. I’d like to keep those notetags in there whilst I’m battle testing. It should be worth nothing that with the notetags in (or out) battles when playtesting the main game work just fine.

  17. My characters can learn skills no problem, however whenever I put a restriction on a skill: for instance to learn heal level 1, I in put the command in the notes for heal “” [without quotes] and the skill fails to show up…every skill that has a restriction never shows up. Please help!

    • for some reason the command didnt show on this post, the restriction on heal level 1 is
      It doesnt even show up, even if i put the level restriction to level 1….

  18. ughhhh, sorry for the triple posting, why cant code show on this?
    I put the learn cost code at 150jp and nothing shows. Sorry for the flooding

    • I’m not sure this implements the JP system. I think that may be in the class system. Also, if the site blocks html it may filter out anything in angle brackets “>” and “<". Try posting the code without the angle brackets. So for the jp it would be:
      learn cost: 150 jp

      For prerequisites; say Heal is 42 and Heal II is 43 the code would be:
      learn require skill: 42

      The last thing to check is to make sure you have the skill in the class list for the primary class in the database. If you still have problems, I have no idea.

  19. Hello,
    is it possible to somehow add multiple skills at once to the class menu?
    Not that you learn multiple skills at once but that you add them to the “learnable” skills.

    I thought of something like

    or

    But that doesn’t work.

    Does anybody know hot to write something like that or is that impossible?

      • apparently this doesn’t like to paste stuff well. make sure you assign the number for the skill, I.E 21 or 22 seperate them with commas in the notes box like this:
        learn skills: 21, 22, 23, 24, 25 then that class will be able to learn skills with ID 21 – 25.

      • Thank you, I thought that the tag causes the charakter to learn all these skills at once if you learn one of them.
        So thanks again ^^

    • According to the the supplied information that worked on my file it is:
      learn skills: 4, 5, 6
      You put it in the class note box. Good luck.
      Also, don’t use the angle brackets “>” and “<" with notetag code on the forum as it doesn't show up.

  20. I just wanted to add something quickly:
    I tried it and wrote this into the notes:

    learn skills: 10, 11, 12, 13, 14, 15, 16, 17,
    18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
    30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
    42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
    54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
    66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
    78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
    90, 91, 92, 93, 94, 95, 96, 97, 98, 99

    but it didn’t work. After some trying around I figured out what was wrong.
    I always use 5 ranks of one skill, and the next rank has the tag

    require skill: x

    with the ID of the previous rank as well as a required level. The problem is, that you can’t add skills that are currently not available because they require a certain level or skill.
    So you have to divide them into the different ranks like all the rank 1 skills have to be in one notetag and all the rank 2 in a second notetag.

    It would look like this if you use the example above:

    learn skills: 10, 15, 20, 25, 30, 35, 40, 45, 50, …
    learn skills: 11, 16, 21, 26, 31, 36, 41, 46, 51, …

    and so on. Just thought I add this in case someone else wants to do the same.

  21. How can I get my TP amount to show up in the status and or skill menu? show up like the HP or MP bars do or just an amout to show up so I can keep track of how much I have per character at all times?

  22. Hello! Would anyone be willing to help me out? I am no scripter, and wouldn’t know how to do this, but I assume there’s at least a few scripters who still look around at this stuff.

    I want to make it where a skill won’t show up in the “Learn skills Menu” itself until a certain variable is equal to or greater than a certain number.

    The specific way in which I plan to use this is have my mage’s spells each activate a common event that raises a variable by one, for example “Fire”, and then once he uses it five times he’s increased that particular variable high enough that he can learn “Fire II”. And so on, and with different variables for different elements.

    I’m 98% certain this is possible with the (learn require eval) tags but, as I said, I know near nothing of scripting so I wouldn’t know how to do this. Would anyone be willing to just give me the code needed to make this work? I promise I won’t ask for another eval scripting. :P

      • learn require eval
        $game_variables[FIRE_VARIABLE] >= 84975983
        / learn require eval
        Of course, the learn require tags would have to be correct, but that game variables part is probably what you’d have to slip in there, where FIRE_VARIABLE is what you have associated with said common event.

  23. I’d begun to implement something like this with the YERD version on VX. Found it responsive, useful, and quite a blast to design skills and see how they fit.

    I don’t want to slag on the work you’ve done, as this looks beautiful, but the one thing I do miss in YEA is some kind of passive skills engine. I imagine you’re probably working on a version of the Equip Skills Engine, but as I recall, it wasn’t necessary to allow skill equipping in order to have passive skills.

    Which gets me to my point: Would there be a way to convert the YERD script for passive skills into YEA? I’d be up for trying my hand at it myself. I’m an incredibly terrible coder in nearly any language I’ve ever tried, but as a language teacher, I’d hope I could at least make a good effort.

    (Or, alternately, is there a script that already exists and lets you do that and I’ve just missed it while looking through here?)

    P

  24. Hi Yanfly! At first, sorry for my bad english… i hope you understand me.
    I’m using a lot of your scripts, but now, i’m looking for a script to make something like “learn skill engine” but like a “Tree Skill”. Can you do something like that?

  25. Hello Yanfly

    Is there a way to do a script call to call the skill learning menu from the field?Like a skill learning shop…And then obviously make it so that it isn’t choosable from the menu?

    Thanks in Advance
    Kind Regards
    Elliot

  26. Is possible removes the class from confirmation window and places the yes
    the class option is much to MMORPG
    my game don’t uses class system because is a story like breath of fire or chrono triger
    I want select a skill to learn without appears the class selection, but appears the yes (or other thing depending of game language)
    without appears the cost on side of confirmation option

    EX:
    Skill Kendo cost 1000 jp
    [icon]Learn
    [icon]Cancel

    • I’d love to know how this works. My game doesn’t have a class system, too. It bothers me so much that I can’t just put a “yes” in there.

      Any solutions so far?

  27. I downloaded this script, followed all the instructions, and whenever I playtest, go to the menu, select skills, then select learn skills the game kicks me out with the error “line 706: nameerror occurred. undefined local variable or method `string’ for # someone please help thanks.

  28. A couple of bugs I’ve noticed:

    1) When you learn a skill, and you already have skills learned from level up (automatically), the actor forgets those skills.

    2) When you change classes, the actor forgets all of the skills he has learned from the Learn Skills Engine.

    Does anyone have any advice? Thanks!

  29. Is there a way to only show skill when a specific weapon/armor is equipped?
    For exampe if “sword” is equipped “hit” can be learned and if “blade” is equipped
    “strong hit” is shown in the menu. If “hit” isn`t learned but “blade” is equipped “hit” should disappear from the menu. If its learned it should stay available.
    Like ff tactics if sb know it . :)

    Greetings

  30. Is there a way to make an individual skill require different levels for different classes? (e.g. I can learn fire as a lvl 3 mage, but I must be level 7 as a spellblade to learn the same spell.)
    Similarly is there a way to make an individual skill require different JP depending on which class is purchasing it? (the fire spell above is 100jp for a mage, but 500jp for a spellblade)
    The only way I see to do this is to either use the eval req which I doubt I know enough to do, or copy/paste the spell multiple times in the skills tab and make a “fire for mages” versus a “fire for spellblades” This might be worth it in the long run to tweak damage calculations and whatnot, but I was wondering if there’s a way to do it for the one spell or not…

  31. I want to add this to my game, but only want it to appear when the party interacts with a teacher who can train characters in specific skills (e.g. a master thief, sensei, powerful wizard/priest, and so forth). I don’t want the characters to be able to purchase skills from a menu outside of a store. How do I implement that?

  32. someone explain to me how in god’s name to set it so a class can actually learn skills?

    A readme with this would be GODLY, for us people who can’t script at all.

    In the notebox I have attempted every possible combination of tags, considering that the character does not learn a range of skills, but rather several specific ones.
    such as heal.
    I have attempted: learn skills: 26
    learn skills:026 learn skills: 026

    and nothing will make heal appear when I go to make the character learn skills.

  33. Is there a way to denote skills to be learn-able by level by class? For example, my game uses a dynamic class system, choices, and hidden variables to assign party members classes. I want the Cultist to be able to learn the flare spell at level 1 and fireball at level 3, and likewise I want the Pyromancer class to learn fireball at level 4 and flare at level 3. is there a way to do this with this script? I tried the following just to test syntax:

    I was trying to see if I could get this class to have the option, starting level one to learn skill 4 and the option starting at level 4 to learn skill 5, but it didn’t seem to work (I could see both skills in the “Learn –> Magic” tab starting at level one. Insight would be appreciated, thanks.

  34. Can anyone share with me how, in a event script call, I would grab the value of the current actors class_id from an available global variable? Ruby is still difficult for me to follow. Thanks.

  35. Please? For some reason Yanfly has not given any real examples of how to use the custom evaluation string, and while I have managed to get it to work in other scripts, this one is throwing me for a loop. I simply need to determine if the current actor (choosing skills) is of a specific class. I know I can just use the ‘has skill’ and check for a skill only that class has, but then I have to ensure each class has a unique skill at lvl 1 for complete compatibility. Its just easier to check the class by default.

    • Nevermind. Apparently I was having one big brain fart. I got so stuck on not being able to find the class_id for another event, that I didn’t consider this script merely requires you to allow the skill for the class itself… /facepalm
      Got it to work the way I want. So ignore this!

  36. Hello. Is there a way that instead of making a list of all the classes unlocked by the current character, when you select Learn skill it shows only the learn-able skills by the characters current class?

  37. Any idea how to make it not show the skill as learnable if the party member joins the group knowing that skill already?

    Example: If I have a priest that can learn the heal skill at level 1 and my starting priest already knows the spell, when I look in the learn skills menu it shows Heal as a learnable skill. Even though he already knows it. (It just wasn’t bought, it was given through the actor.)

  38. Is there a way to remove the Learn menu from appearing in both the skills and class menu? I just want it in the skills menu, but it’s appearing in both. Please and thank you for any help.

  39. i need help please. i have a class warrior lvl99 and a class mage lvl1. whenever i have the lvl 99 warrior class equipped, when i go to learn skills, it shows that i can also learn all the mage skills, even if mage is only 1 level. is there any way to show the learnable skills based on the currently equipped class level instead of the current actor level? any help would be appreciated.

    • Assuming you’re using the JP manager, you can still LEARN other skills, but it won’t be with the JP of your current class. In other words, with you being a Level 99 Warrior, you can’t learn Mage skills with Warrior JP. If you have leftover Mage JP, you can learn mage skills, but beyond that I don’t know a way.

  40. For some reason I can only perform this on “Special” skills, whenever I change the skill type it doesn’t create a new tab for magic. Instead it dissappears until i set it bak to special. How do you create more spell types available.

  41. I want to be able to modify the cost of each skill based on what class the character is. Each class would have a modifier for each type of skill (ranged, melee, support, self buff etc etc) and I would put notetags in each class like so:

    • the example notetags did not appear :(
      “melee: poor” “ranged: good” “support: moderate”
      where good doesn’t adjust learn skill cost but poor makes it costs 200% and moderate makes it cost 150%

  42. I was hoping to make a system where primary classes learn skills through level ups, and subclasses learn skills through JP. But unfortunately, it seems that subclasses can’t learn anything through the JP system…

    • yes, they can, subclasses learn skills with JP system on the same way. But you need to specify which class earn JP

  43. Does anyone happen to know how to only show a skill in the Learn Skills window if the player is of a certain class?
    In other words, if you’re a Healer, it won’t show Wizard skills, and so on?
    I assume this is possible with the function but I’m not sure how to do it.

  44. This is very cool, don’t get me wrong I will be using it. But may be you guys could come up with something similar to materia in final fantasy VII. How you can equip, unequip, and also to level up that skill.

  45. So I have implemented this script, added the right notetags to the class e.g learn skills, added the right tags to the actor involving primary and subclasses and added the right notetags to the skills e.g. learn cost etc.

    My problem, no skills shows up at all. Even if the character is given a skill via start-up or events, skills are non-existant.

    What am I doing wrong?

  46. If I use an event to change a character’s class, then the learn skills option stops working. Instead of having all the skills for that class listed, it’s just blank. Does anyone know why?

  47. Say I have a character that uses the skill sets “Special” and “Magic”. When I use this script, both skill sets appear in the learn skill menu. Is there a way to prevent one of these sets from appearing? I’m trying to make it so special requires learning while magic is obtained through leveling.

  48. Sorry I’m new in scripting. I’m very noob . Is there any tutorial on how to add skills on the menu? Or any tutorial on how does this skill engine works?

  49. I’m going to have to +1 on Johnny Joestar’s post.

    Despite using {learn skills: 10,11,12,13} on the class pane..
    And {learn require skill: 9} on skills 10-13.. It never gives me the option to learn it. Even if I force-give the actor skill 9 at boot, nope. Still not there. Reproducible on a new empty project. Any advice?

  50. Nothing shows up on the Skills>Learn Skills I have putted
    “” On the Class Notebox
    And
    “” On the skill notebox have I done anything wrong or do I have to add something more?

  51. I’m also having the same problem as Johnny and Wyvern. I have put the learn skills tags in classes, I have put the learn costs under the skills, but none of the skills show up in the learn skill menu.

  52. I got a problem with “JP Manager v1.00” and “Learn Skill Engine v1.00”.
    My problem is, that nowhere in the menu the “JP” shows up, can you make a small update, so it is possible to see how much “JP” you got from the needed “JP”?
    Would be really nice, because I need it for my RPG here:

    Credits have be given for every single script I use. ;) (\s/)

  53. Ok so I have have JP Manager and Learn Skill Installed I have set some skills to be learnable by the pre-made soldier class Sleep Breath & Sleep Pollen (Skills 16 & 17)
    with learn cost: 5 jp in each, than the soldier class has learn skill: 16,17 but when I access it in-game the skills don’t show up for training, I can enter the skill training menu but its just empty.

  54. I have overlap problem on pop up menu (where to draw the JP or EXP cost from ) the skill icon overlap with the word learn …? I try to solve it but I don’t know where the dx dy in that draw_learn_skill def and try to delete some letter in def but it looks like the icon will draw on corner of menu window. I don’t know why, please help!

  55. I’m feel like in a dream… Just the programer am I (a rookie to be honest) such marvelous scripts like that from yours. I need learn with you guys, my purpose is to be a serius Maker (proficional, gain the life with games). Whatever, the Job sistem is good, very simple and easy to modify.
    Hey guys! What about to make tactics engine? Job Points and all of this scripts will be good to use in tactic RPG, make sure to make a must simple customisable as possible, just to begin, good idea?

  56. How can I remove the Learn skill options from the menu? I want this to be called by an NPC using SceneManager.call(Scene_LearnSkill)

  57. I Don’t understand how the note tags work, I have tried various internet sources and this is getting very frustrating. I cannot get the skill I want to appear in the learn skills menu! will someone help and explain to me this further because I really do not understand

    • It’s pretty simple actually. Here’s an example:

      Put something like that in the Class notetag. That means it’ll learn the skills with those IDs. The Skill ID is the number you put it on- so if you have Fireball on #79, then it’s ID is 79, pretty simple.

  58. I’m not sure what script this would be done with or where for that matter or if it can already be done, but would it be possible that upon leveling up there could be a notification of the skills the player is able to learn? I hope I’m explaining myself well enough.

  59. Hi, I’m trying to use the

    feature to select the actor using the learn command and see if he has a certain weapon equiped. i have no clue how to do this :(

  60. learn require eval
    if $game_actors[1].weapons.include?($data_weapons[8]);
    then $game_switches[8] = true;
    else;
    end
    /learn require eval
    this is where im at
    works but i want to change the actor id to the specific one looking in learn_skills
    so that not everyone in the party can learn the skill only the one with the weapon

  61. Is there a way in the script to increase the cost of skills based on skills an actor has already learned. For example: I’ve set up passive skills for an actor to learn so they can equip certain types of weapons. Can I make it so once the actor learns a weapon skill, the cost of all the other weapon skills go up?

    Thanks in advance.

  62. This is a nice script. But, I have a question. I’ve got two skills. (X1 and X2 for example. X2 is a advanced form of X1.) I want that X1 is gone when character learned X2. :) I hope you understand me. Thank you.

  63. Pingback: RMVXA Scripting Proficiency Levels | doublexrpgmaker

  64. Alright, I don’t expect a reply or answer anytime soon, considering how long ago the last post was, but I need answers. I love this script as I have used it in another game, and it worked flawlessly.

    My new game however, not so much and it’s driving me up the wall.

    I have all the notetags placed in the right spot, I know I do, because I did it how i did in the game it worked in, however, in this new one, no matter what I do, I cannot even get into the “Learn Skill” menu. I can go to “skills” scroll down to “Learn Skills” but it just shows me what I have in my “Magic” menu, and clicking on it does absolutely nothing. I have searched and searched, checked the code, referenced my old game, I cannot figure out what is wrong.

  65. I made some skills that consume HP, but when I use them, the HP doesn’t deplete. I’ve done everything that’s on the tutorial. Which is the problem?

  66. Whenever I try to open the skill shop, using SceneManager.call, it says

    Script “Game_Interpreter” Line 1411: ArguementError occured.
    Wrong number of arguements (0 for 1)

    What am I doing wrong>??

    1411 eval(script)

    That is the script on Game_Interpreter line 1411 Please Help

  67. Yanfly, I plugged this script into two projects. My real project and a test project. This script isn’t working. When I click on to Skills from the main menu, I see the option to Learn Skills. When clicking that, it asks the type of skill. But no options are thereafter.

  68. Hi,

    I have a weird thing going on when im using this scipt. I set up everything correctly. Just to test the script to make sure i was using it right i made a standard fireball spell cost 30 jp points to learn and it could be learned after level 2. After reaching the requirements the game did not ask me if i wanted to learn the skill and it automatically equipped the skill as well once i choose it. The skill also did not go to my skill list but stayed in the skill learn menu.

    Any help would be appreciated.

  69. Hello YanFly, I have a request for an actualization of this script; to be able to tag skills to require a X variable to be at least Y
    Something like:
    where x is the varaible and y is the minimum value.
    This would be SOOOOO useful to set up a skill tree creating skill types like “Fire Magic” and you can level up your fire magic skill type by using fire magic skills (all of this I would do I myself) but then to learn a new fire type hability it requires this “firemagic” variable to be at least x. That would make you use the old hability first to unlok the new better one.
    Thank you in advance!

  70. I would like the same character (say: character 10) that learned the skill (say: skill 21) to forget another skill (say: skill 9).
    How do I implement this? I have an event, where the character has to step on after leaving the skill shop, so I could just put a working script in this event. (With the event tabs I can only check, if a certain character has a skill. If there are a number of characters involved that could need to forget a skill, the clicking gets tedious …)
    So what I need is some scripting aid like
    “var1 = 1
    repeat
    if (char (var1) has the skill 21, let char (var1) forget skill 9)’
    var1 =+ 1
    until var1 = 15”
    … can anyone help me formalize this correctly, please?

    • Sebulon, is it only one character learning this desired skill or many? And you said skill shop; are you using your own layout or something like Yanfly’s common event shop?

      • Hi, Kazuki. Thank you for responding!
        I don’t know in advance which character will purchase a skill. I am not using my own layout but simply the Yanfly Learn Skill Engine. The Engine is activated by an event (turning a switch on) directly in front of a character event that says “look in your menu, there you can buy skills now”. If the characters leave the field, the switch is turned of, so it feels like you just left the shop, because it is no longer available in the menu.
        So I would either like to
        * add to the engine a ‘check for a second notetag in the learned skill and let the same character forget any skills listed in there’ – or
        * a possibility to run through all characters, looking for a new skill and if found letting the same characters forget the respective other old skills …
        Did that clear the situation up a little?

      • @Sebulon

        I am no scripter, by any means, but I will look into finding out if you can achieve such a thing. Do know that if worse comes to worse you could use a script based on skill usage and forget a skill, or even the common event shop if all else fails.

      • I have put Yanfly’s script to the test, alongside even Hime’s scripts like the replace skill and such. None seem to be working. I even tried it with Hime’s skill shop (something that wasn’t working properly for me but I still came to the conclusion it wouldn’t do what you had wanted).

        Unfortunately, unless someone can actually edit this code for you, I doubt it can be achieved. I tried my best. Consider finding a nice rpg maker forum and posting for help. I’m on one and I’ll keep my eyes open.

  71. I am having a problem with this script. I have the skills to learn setup right, but when i choose a starting character, they can learn skills from other classes. How do I fix it to where it only shows the skills that class can learn. BTW i also want to know how to make it work with subclasses as well, pick a primary and subclass and they get to learn those class skills.

Leave a comment