Is It Possible to Auto-Learn a Custom Skill?

Lordeze

Heir
Customer
Hello everyone,


I have a question regarding custom skills for classes. I am currently trying to implement them, but they are not being automatically learned.


I have reviewed several topics, but the answers are quite varied and sometimes unclear—some even raise more questions, as they tend to be somewhat ambiguous or incomplete.


So my question is: is this actually possible? Is there a known solution? I have tried multiple approaches without success so far—the skill still does not auto-learn.


Here is what I have already done:


  • Added the skill to normal_skill_tree
  • Created a custom_skill_tree as mentioned in some guides
  • Verified all class IDs
  • Added the skill to the client (skillgrp and skillname)
  • Registered the skill in data/stats/skills

The console shows no errors; everything loads correctly. I have tested the skill as active, passive, and toggle, and also tried different levels.


After going through many threads without finding clear information, I decided to ask directly. I would really appreciate any guidance or confirmation on whether this has a solution.


Thank you very much in advance.
 
Envíame la(s) habilidad(es) que intentas añadir. normal_skill_tree + skills.xml
Thanks for your help. I want to add Critical Chance/Critical Power. The skills are listed like this in my gameserver:\data\stats\skills\90100-90199.xml

In the gameserver\data\skill_tree\normal_skill_tree.xml file, I only modified the class ID: <class id="9">

You need both XML files; I'll send them to you. Let me know. Thanks a lot.

[CÓDIGO] <skill id="90100" levels="1" name="Critical Power stas">
<table name="#crit">384</table>
<tabla nombre="#nivelmágico">72</tabla>
<tabla nombre="#potencia">384</tabla>
<set name="icon" val="icon.skill0193"/>
<set name="power" val="#power"/>
<set name="magicLevel" val="#magicLevel"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_PASSIVE"/>
<para>
<add order="0x40" stat="cAtkStatic" val="#crit"/>
</para>
</habilidad>
<skill id="90101" levels="1" name="Critical Chance stas">
<tabla nombre="#tasa">40</tabla>
<table name="#magicLevel">49</table>
<set name="icon" val="icon.skill0137"/>
<set name="magicLevel" val="#magicLevel"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_PASSIVE"/>
<para>
<add order="0x40" stat="rCrit" val="#rate"/>
</para>
</habilidad>

<class id="9">

<skill id="19" level="1" cost="16000" min_level="40" />
<skill id="19" level="2" cost="16000" min_level="40" />
<skill id="19" level="3" cost="16000" min_level="40" />
<skill id="19" level="4" cost="19000" min_level="43" />
<skill id="19" level="5" cost="19000" min_level="43" />
<skill id="19" level="6" cost="19000" min_level="43" />
<skill id="19" level="7" cost="22000" min_level="46" />
<skill id="19" level="8" cost="22000" min_level="46" />
<skill id="19" level="9" cost="22000" min_level="46" />
<skill id="19" level="10" cost="41000" min_level="49" />
<skill id="19" level="11" cost="41000" min_level="49" />
<skill id="19" level="12" cost="41000" min_level="49" />
<skill id="19" level="13" cost="63000" min_level="52" />
<skill id="19" level="14" cost="63000" min_level="52" />
<skill id="19" level="15" cost="63000" min_level="52" />
<skill id="19" level="16" cost="71000" min_level="55" />
<skill id="19" level="17" cost="71000" min_level="55" />
<skill id="19" level="18" cost="71000" min_level="55" />
<skill id="19" level="19" cost="74000" min_level="58" />
<skill id="19" level="20" cost="74000" min_level="58" />
<skill id="19" level="21" cost="74000" min_level="58" />
<skill id="19" level="22" cost="210000" min_level="60" />
<skill id="19" level="23" cost="210000" min_level="60" />
<skill id="19" level="24" cost="220000" min_level="62" />
<skill id="19" level="25" cost="220000" min_level="62" />
<skill id="19" level="26" cost="270000" min_level="64" />
<skill id="19" level="27" cost="270000" min_level="64" />
<skill id="19" level="28" cost="290000" min_level="66" />
<skill id="19" level="29" cost="290000" min_level="66" />
<skill id="19" level="30" cost="490000" min_level="68" />
<skill id="19" level="31" cost="490000" min_level="68" />
<skill id="19" level="32" cost="520000" min_level="70" />
<skill id="19" level="33" cost="520000" min_level="70" />
<skill id="19" level="34" cost="670000" min_level="72" />
<skill id="19" level="35" cost="670000" min_level="72" />
<skill id="19" level="36" cost="1080000" min_level="74" />
<skill id="19" level="37" cost="1080000" min_level="74" />

<skill id="24" level="1" cost="22000" min_level="46" />
<skill id="24" level="2" cost="22000" min_level="46" />
<skill id="24" level="3" cost="22000" min_level="46" />
<skill id="24" level="4" cost="41000" min_level="49" />
<skill id="24" level="5" cost="41000" min_level="49" />
<skill id="24" level="6" cost="41000" min_level="49" />
<skill id="24" level="7" cost="63000" min_level="52" />
<skill id="24" level="8" cost="63000" min_level="52" />
<skill id="24" level="9" cost="63000" min_level="52" />
<skill id="24" level="10" cost="71000" min_level="55" />
<skill id="24" level="11" cost="71000" min_level="55" />
<skill id="24" level="12" cost="71000" min_level="55" />
<skill id="24" level="13" cost="74000" min_level="58" />
<skill id="24" level="14" cost="74000" min_level="58" />
<skill id="24" level="15" cost="74000" min_level="58" />
<skill id="24" level="16" cost="210000" min_level="60" />
<skill id="24" level="17" cost="210000" min_level="60" />
<skill id="24" level="18" cost="220000" min_level="62" />
<skill id="24" level="19" cost="220000" min_level="62" />
<skill id="24" level="20" cost="270000" min_level="64" />
<skill id="24" level="21" cost="270000" min_level="64" />
<skill id="24" level="22" cost="290000" min_level="66" />
<skill id="24" level="23" cost="290000" min_level="66" />
<skill id="24" level="24" cost="490000" min_level="68" />
<skill id="24" level="25" cost="490000" min_level="68" />
<skill id="24" level="26" cost="520000" min_level="70" />
<skill id="24" level="27" cost="520000" min_level="70" />
<skill id="24" level="28" cost="670000" min_level="72" />
<skill id="24" level="29" cost="670000" min_level="72" />
<skill id="24" level="30" cost="1080000" min_level="74" />
<skill id="24" level="31" cost="1080000" min_level="74" />

<skill id="99" level="2" cost="213000" min_level="55" />

<skill id="101" level="4" cost="16000" min_level="40" />
<skill id="101" level="5" cost="16000" min_level="40" />
<skill id="101" level="6" cost="16000" min_level="40" />
<skill id="101" level="7" cost="19000" min_level="43" />
<skill id="101" level="8" cost="19000" min_level="43" />
<skill id="101" level="9" cost="19000" min_level="43" />
<skill id="101" level="10" cost="22000" min_level="46" />
<skill id="101" level="11" cost="22000" min_level="46" />
<skill id="101" level="12" cost="22000" min_level="46" />
<skill id="101" level="13" cost="41000" min_level="49" />
<skill id="101" level="14" cost="41000" min_level="49" />
<skill id="101" level="15" cost="41000" min_level="49" />
<skill id="101" level="16" cost="63000" min_level="52" />
<skill id="101" level="17" cost="63000" min_level="52" />
<skill id="101" level="18" cost="63000" min_level="52" />
<skill id="101" level="19" cost="71000" min_level="55" />
<skill id="101" level="20" cost="71000" min_level="55" />
<skill id="101" level="21" cost="71000" min_level="55" />
<skill id="101" level="22" cost="74000" min_level="58" />
<skill id="101" level="23" cost="74000" min_level="58" />
<skill id="101" level="24" cost="74000" min_level="58" />
<skill id="101" level="25" cost="210000" min_level="60" />
<skill id="101" level="26" cost="210000" min_level="60" />
<skill id="101" level="27" cost="220000" min_level="62" />
<skill id="101" level="28" cost="220000" min_level="62" />
<skill id="101" level="29" cost="270000" min_level="64" />
<skill id="101" level="30" cost="270000" min_level="64" />
<skill id="101" level="31" cost="290000" min_level="66" />
<skill id="101" level="32" cost="290000" min_level="66" />
<skill id="101" level="33" cost="490000" min_level="68" />
<skill id="101" level="34" cost="490000" min_level="68" />
<skill id="101" level="35" cost="520000" min_level="70" />
<skill id="101" level="36" cost="520000" min_level="70" />
<skill id="101" level="37" cost="670000" min_level="72" />
<skill id="101" level="38" cost="670000" min_level="72" />
<skill id="101" level="39" cost="1080000" min_level="74" />
<skill id="101" level="40" cost="1080000" min_level="74" />

<skill id="113" level="2" cost="49000" min_level="40" />

<skill id="131" level="1" cost="49000" min_level="40" />
<skill id="131" level="2" cost="123000" min_level="49" />
<skill id="131" level="3" cost="223000" min_level="58" />

<skill id="148" level="3" cost="49000" min_level="40" />
<skill id="148" level="4" cost="67000" min_level="46" />
<skill id="148" level="5" cost="188000" min_level="52" />
<skill id="148" level="6" cost="223000" min_level="58" />
<skill id="148" level="7" cost="530000" min_level="64" />
<skill id="148" level="8" cost="1330000" min_level="72" />

<skill id="169" level="2" cost="58000" min_level="43" />

<skill id="171" level="2" cost="58000" min_level="43" />
<skill id="171" level="3" cost="67000" min_level="46" />
<skill id="171" level="4" cost="123000" min_level="49" />
<skill id="171" level="5" cost="188000" min_level="52" />
<skill id="171" level="6" cost="440000" min_level="62" />
<skill id="171" level="7" cost="980000" min_level="68" />
<skill id="171" level="8" cost="2170000" min_level="74" />

<skill id="208" level="16" cost="16000" min_level="40" />
<skill id="208" level="17" cost="16000" min_level="40" />
<skill id="208" level="18" cost="16000" min_level="40" />
<skill id="208" level="19" cost="19000" min_level="43" />
<skill id="208" level="20" cost="19000" min_level="43" />
<skill id="208" level="21" cost="19000" min_level="43" />
<skill id="208" level="22" cost="22000" min_level="46" />
<skill id="208" level="23" cost="22000" min_level="46" />
<skill id="208" level="24" cost="22000" min_level="46" />
<skill id="208" level="25" cost="41000" min_level="49" />
<skill id="208" level="26" cost="41000" min_level="49" />
<skill id="208" level="27" cost="41000" min_level="49" />
<skill id="208" level="28" cost="63000" min_level="52" />
<skill id="208" level="29" cost="63000" min_level="52" />
<skill id="208" level="30" cost="63000" min_level="52" />
<skill id="208" level="31" cost="71000" min_level="55" />
<skill id="208" level="32" cost="71000" min_level="55" />
<skill id="208" level="33" cost="71000" min_level="55" />
<skill id="208" level="34" cost="74000" min_level="58" />
<skill id="208" level="35" cost="74000" min_level="58" />
<skill id="208" level="36" cost="74000" min_level="58" />
<skill id="208" level="37" cost="210000" min_level="60" />
<skill id="208" level="38" cost="210000" min_level="60" />
<skill id="208" level="39" cost="220000" min_level="62" />
<skill id="208" level="40" cost="220000" min_level="62" />
<skill id="208" level="41" cost="270000" min_level="64" />
<skill id="208" level="42" cost="270000" min_level="64" />
<skill id="208" level="43" cost="290000" min_level="66" />
<skill id="208" level="44" cost="290000" min_level="66" />
<skill id="208" level="45" cost="490000" min_level="68" />
<skill id="208" level="46" cost="490000" min_level="68" />
<skill id="208" level="47" cost="520000" min_level="70" />
<skill id="208" level="48" cost="520000" min_level="70" />
<skill id="208" level="49" cost="670000" min_level="72" />
<skill id="208" level="50" cost="670000" min_level="72" />
<skill id="208" level="51" cost="1080000" min_level="74" />
<skill id="208" level="52" cost="1080000" min_level="74" />

<skill id="225" level="2" cost="58000" min_level="43" />
<skill id="225" level="3" cost="213000" min_level="55" />

<skill id="233" level="11" cost="16000" min_level="40" />
<skill id="233" level="12" cost="16000" min_level="40" />
<skill id="233" level="13" cost="16000" min_level="40" />
<skill id="233" level="14" cost="19000" min_level="43" />
<skill id="233" level="15" cost="19000" min_level="43" />
<skill id="233" level="16" cost="19000" min_level="43" />
<skill id="233" level="17" cost="22000" min_level="46" />
<skill id="233" level="18" cost="22000" min_level="46" />
<skill id="233" level="19" cost="22000" min_level="46" />
<skill id="233" level="20" cost="41000" min_level="49" />
<skill id="233" level="21" cost="41000" min_level="49" />
<skill id="233" level="22" cost="41000" min_level="49" />
<skill id="233" level="23" cost="63000" min_level="52" />
<skill id="233" level="24" cost="63000" min_level="52" />
<skill id="233" level="25" cost="63000" min_level="52" />
<skill id="233" level="26" cost="71000" min_level="55" />
<skill id="233" level="27" cost="71000" min_level="55" />
<skill id="233" level="28" cost="71000" min_level="55" />
<skill id="233" level="29" cost="74000" min_level="58" />
<skill id="233" level="30" cost="74000" min_level="58" />
<skill id="233" level="31" cost="74000" min_level="58" />
<skill id="233" level="32" cost="210000" min_level="60" />
<skill id="233" level="33" cost="210000" min_level="60" />
<skill id="233" level="34" cost="220000" min_level="62" />
<skill id="233" level="35" cost="220000" min_level="62" />
<skill id="233" level="36" cost="270000" min_level="64" />
<skill id="233" level="37" cost="270000" min_level="64" />
<skill id="233" level="38" cost="290000" min_level="66" />
<skill id="233" level="39" cost="290000" min_level="66" />
<skill id="233" level="40" cost="490000" min_level="68" />
<skill id="233" level="41" cost="490000" min_level="68" />
<skill id="233" level="42" cost="520000" min_level="70" />
<skill id="233" level="43" cost="520000" min_level="70" />
<skill id="233" level="44" cost="670000" min_level="72" />
<skill id="233" level="45" cost="670000" min_level="72" />
<skill id="233" level="46" cost="1080000" min_level="74" />
<skill id="233" level="47" cost="1080000" min_level="74" />

<skill id="303" level="1" cost="67000" min_level="46" />
<skill id="303" level="2" cost="223000" min_level="58" />
<skill id="303" level="3" cost="530000" min_level="64" />
<skill id="303" level="4" cost="1030000" min_level="70" />

<skill id="312" level="6" cost="49000" min_level="40" />
<skill id="312" level="7" cost="58000" min_level="43" />
<skill id="312" level="8" cost="67000" min_level="46" />
<skill id="312" level="9" cost="123000" min_level="49" />
<skill id="312" level="10" cost="188000" min_level="52" />
<skill id="312" level="11" cost="213000" min_level="55" />
<skill id="312" level="12" cost="223000" min_level="58" />
<skill id="312" level="13" cost="410000" min_level="60" />
<skill id="312" level="14" cost="440000" min_level="62" />
<skill id="312" level="15" cost="530000" min_level="64" />
<skill id="312" level="16" cost="580000" min_level="66" />
<skill id="312" level="17" cost="980000" min_level="68" />
<skill id="312" level="18" cost="1030000" min_level="70" />
<skill id="312" level="19" cost="1330000" min_level="72" />
<skill id="312" level="20" cost="2170000" min_level="74" />

<skill id="313" level="1" cost="410000" min_level="60" />
<skill id="313" level="2" cost="440000" min_level="62" />
<skill id="313" level="3" cost="530000" min_level="64" />
<skill id="313" level="4" cost="580000" min_level="66" />
<skill id="313" level="5" cost="980000" min_level="68" />
<skill id="313" level="6" cost="1030000" min_level="70" />
<skill id="313" level="7" cost="1330000" min_level="72" />
<skill id="313" level="8" cost="2170000" min_level="74" />

<skill id="323" level="1" cost="580000" min_level="66" />

<skill id="324" level="1" cost="1330000" min_level="72" />

<skill id="415" level="1" cost="223000" min_level="58" />
<skill id="415" level="2" cost="580000" min_level="66" />
<skill id="415" level="3" cost="2170000" min_level="74" />

<skill id="416" level="1" cost="223000" min_level="58" />
<skill id="416" level="2" cost="580000" min_level="66" />
<skill id="416" level="3" cost="2170000" min_level="74" />

<skill id="417" level="1" cost="223000" min_level="58" />
<skill id="417" level="2" cost="440000" min_level="62" />
<skill id="417" level="3" cost="580000" min_level="66" />
<skill id="417" level="4" cost="1030000" min_level="70" />
<skill id="417" level="5" cost="2170000" min_level="74" />

<skill id="418" level="1" cost="223000" min_level="58" />
<skill id="418" level="2" cost="580000" min_level="66" />
<skill id="418" level="3" cost="2170000" min_level="74" />

<skill id="1405" level="1" cost="0" min_level="52" item_id="8618" item_count="1" clicked="false" />
<skill id="1405" level="2" cost="0" min_level="61" item_id="8619" item_count="1" clicked="false" />
<skill id="90100" level="1" cost="0" min_level="75" />
<skill id="90101" level="1" cost="0" min_level="75" />
</class>[/CODE]
 
really you put the skill id in the class "<class id="9">"?!?!?!
How this make sense?
Class 9 is Hawkeye. You need to put it in class 92 (Sagittarius)
 
But if the skill isn't at level 92 (Sagittarius), it won't be learned. Sorry, I don't understand the class change to level 92 (Sagittarius). It's not at level 76. I need the skill in the classes [9] hawkeye /90100/9101
[24] silver_ranger /90000/90001
[37] phantom_ranger.xml/90000/90001


I checked and nothing happened, and the same at level 40.
I've tried several ways, but it won't learn the skill
<skill id="90100" level="1" cost="0" min_level="74" />
<skill id="90101" level="1" cost="0" min_level="74" />
 
Last edited:
Try changing the skill cost as well — don’t leave it at 0.
And delete this "custom_skill_tree". You dont need this

Anyway, from what I saw, you're trying to add critical chance and critical damage to the archer. You don't need to create a custom skill for that — there are already skills in the game that do this, you just need to add them to the class. If you need to vary the stats, create different levels for them.

Critical Chance - ID 137
Critical Power - ID 193
 
Last edited:
But if the skill isn't at level 92 (Sagittarius), it won't be learned. Sorry, I don't understand the class change to level 92 (Sagittarius). It's not at level 76. I need the skill in the classes [9] hawkeye /90100/9101
[24] silver_ranger /90000/90001
[37] phantom_ranger.xml/90000/90001


I checked and nothing happened, and the same at level 40.
I've tried several ways, but it won't learn the skill
<skill id="90100" level="1" cost="0" min_level="74" />
<skill id="90101" level="1" cost="0" min_level="74" />
<skill id="90100" level="1" cost="16000" min_level="74"/>
<skill id="90101" level="1" cost="16000" min_level="74"/>
put these 2 under
<class id="9">
save and restart, it should work.
 
I changed the IDs due to a console error. I changed it to 29000, but the error persists; it still doesn't learn, and now when adding the skill manually upon restarting, it kicks me out with the message: //WARN Skill Critical Power stats[id=29000,lvl=1] not possible for player prueba10[268475456] with classId 9//
/o_O:eek:
1775319002503.webp1775319928720.webp1775319950680.webp
 
I changed the IDs due to a console error. I changed it to 29000, but the error persists; it still doesn't learn, and now when adding the skill manually upon restarting, it kicks me out with the message: //WARN Skill Critical Power stats[id=29000,lvl=1] not possible for player prueba10[268475456] with classId 9//
/o_O:eek:
View attachment 8322
This problem is in your database . Look at the Character_skills table. Inside it, there's a column called Skill_id. It should be set to "SMALLINT". This limits the maximum number of values that can be stored Reduce the ID value!
 
Last edited:
Or change "SMALLINT" to "bigint"

SQL:
CREATE TABLE IF NOT EXISTS `character_skills` (
    `char_obj_id` INT NOT NULL DEFAULT '0',
    `skill_id` INT UNSIGNED NOT NULL DEFAULT '0',
    `skill_level` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
    `class_index` TINYINT UNSIGNED NOT NULL DEFAULT '0',
    PRIMARY KEY  (`char_obj_id`,`skill_id`,`class_index`)
) ENGINE=MyISAM;
 
I modified my database as shown in the image, restarted everything... I manually reloaded the skills because they won't auto-learn, and when I restart the lobby/login, I get another error and it deletes them... I don't know what else to check. Help.

1775324940658.webp1775329432159.webp1775329480492.webp
 
I've already tried everything. Could it be something to do with Interlude? I'm really starting to doubt all my methods...

@Deazer Do you have any ideas on what else to try? Help!
 
I don’t know what could be causing that problem. I have custom skills here and they work perfectly; I’ve never had any issue at all.
I recommend that you undo everything you changed related to this and start from scratch.
 
Back
Top