Система изучения кастомных скилов

Конфиг: altsettings.properties
Параметр (по умолчанию выключен): AltAllowCustomSkillLearnSystem = False
Файл конфигурации скилами: gameserver\data\skill_tree\custom_skill_tree.xml
Пример байпасса: [npc_%objectId%_CustomSkillList|Learn Custom Skills]
Базово данная опция работает на базе расы игрока. Так же не требует специфического НПЦ или учителя, можно применять к любому НПЦ.
Пример:
XML:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE list SYSTEM "tree.dtd">
<list>
    <custom_skill_tree>
        <race id="0"> <!-- Human -->
          <skill id="1313" level="1" cost="0" name="Pumping" min_level="10" item_id="57" item_count="10" clicked="false" />
        </race>
        <race id="1"> <!-- Elf -->
           <skill id="1313" level="1" cost="0" name="Pumping" min_level="10" item_id="57" item_count="10" clicked="false" />
        </race>
        <race id="2"> <!-- Dark Elf -->
            <skill id="1313" level="1" cost="0" name="Pumping" min_level="10" item_id="57" item_count="10" clicked="false" />
        </race>
        <race id="3"> <!-- Ork -->
            <skill id="1313" level="1" cost="0" name="Pumping" min_level="10" item_id="57" item_count="10" clicked="false" />
        </race>
        <race id="4"> <!-- Dwarves -->
            <skill id="1313" level="1" cost="0" name="Pumping" min_level="10" item_id="57" item_count="10" clicked="false" />
        </race>
    </custom_skill_tree>
</list>

Если есть какие либо дополнительные идеи или конструктивные предложения - с громадным удовольствием выслушаю и дополню код.
В течении пары дней воздержусь от коммита для сбора фидбека.
 
Смотрю темы про skill_tree, и не могу найти информации как добавить требование второго предмета для изучения скилла. Чтобы, допустим, когда учишь у NPC скилл, он требовал у игрока SP, книгу, и ещё какой-нибудь предмет. Такой функционал существует в skill_tree? Вопрос по Interlude ветке, не Classic.
 
Last edited:
Неа, у клиента нет больше свободных типов окон
По этому добавляйте фишермену кастомки. Фактически рыбалка становиться этой системой
А можно как то сделать что бы скиллы учить сразу на все субб класы ?
 
<race id="0"> <!-- Human -->
<skill id="51188" level="1" cost="0" min_level="1" item_id="91280" item_count="1" clicked="true"/>
</race>
При таком условии скил при нажатии на книгу не учится, или в этой системе не предусмотрено?
 
<race id="0"> <!-- Human -->
<skill id="51188" level="1" cost="0" min_level="1" item_id="91280" item_count="1" clicked="true"/>
</race>
При таком условии скил при нажатии на книгу не учится, или в этой системе не предусмотрено?
AutoLearnForgottenSkills должен быть false
 
AutoLearnForgottenSkills должен быть false
Так и стоит
<etcitem id="91280" name="Transformation Sealbook: Pirate">
<set name="price" value="100000"/>
<set name="class" value="SPELLBOOKS"/>
<set name="crystal_type" value="NONE"/>
<set name="icon" value="icon.etc_add_buffslot_i00"/>
<set name="stackable" value="true"/>
<set name="type" value="SPELLBOOK"/>
<set name="weight" value="120"/>
</etcitem>
<skill id="51188" levels="1" name="Pirate">
<set name="magicType" val="SPECIAL" />
<set name="icon" val="icon.skill1800" />
<set name="reuseDelay" val="10800000" />
<set name="magicLevel" val="1" />
<set name="hitTime" val="3000" />
<set name="itemConsumeId" val="49543" />
<set name="itemConsumeCount" val="1" />
<set name="target" val="TARGET_SELF" />
<set name="skillType" val="BUFF" />
<set name="operateType" val="OP_ACTIVE" />
<set name="isHandler" val="true" />
<set name="altUse" val="true" />
<set name="isHideUseMessage" val="true" />
<cond msgId="1509">
<not>
<player olympiad="true" />
</not>
</cond>
<for>
<effect abnormal="black_pirate_light" count="1" name="Buff" stackOrder="1" stackType="changebody" time="900" val="0">
<mul order="0x30" stat="ExpMultiplier" val="1.2"/>
<mul order="0x30" stat="SpMultiplier" val="1.2"/>
<mul order="0x30" stat="pAtk" val="1.10"/>
<mul order="0x30" stat="mAtk" val="1.10"/>
<mul order="0x30" stat="mCritDamage" val="1.05"/>
<mul order="0x30" stat="skillPower" val="1.05"/>
</effect>
</for>
</skill>
 
Last edited:
Так и стоит
<etcitem id="91280" name="Transformation Sealbook: Pirat">
<set name="class" value="OTHER"/>
<set name="crystal_type" value="NONE"/>
<set name="icon" value="icon.etc_add_buffslot_i00"/>
<set name="stackable" value="true"/>
<set name="type" value="OTHER"/>
<set name="weight" value="120"/>
</etcitem>
 
<etcitem id="91280" name="Transformation Sealbook: Pirat">
<set name="class" value="OTHER"/>
<set name="crystal_type" value="NONE"/>
<set name="icon" value="icon.etc_add_buffslot_i00"/>
<set name="stackable" value="true"/>
<set name="type" value="OTHER"/>
<set name="weight" value="120"/>
</etcitem>
не хочет ни в какую
 
ну а ты добавил нужному классу в skill_tree ? Ты пробуешь именно id 0 ?
Я добавил только в файл custom_skill.
Как и написано в гайде. Если добавлять в normal_skill классам, скилл автоматом учится. Хотя в конфиге отключено авто изучение скилов.
 
Я добавил только в файл custom_skill.
Как и написано в гайде. Если добавлять в normal_skill классам, скилл автоматом учится. Хотя в конфиге отключено авто изучение скилов.
Нет, кастом не катит, только в normal_skill_tree
 
Back
Top