Resolved как прописать чтоб не стакались скилы эпик бижи

over2010

Heir
Customer
Dear Participant
4 уровня эпик бижи пример Ант квин кольцо.
Если одеть 1 и 2 уровень то бонусы от скила стакаются
Из мануала по скилам понятно что нужно задать stackOrder - чем выше уровень тем он "перекрывает" предыдущий эффект. Вкрячил коряво и естественно не сработало.
Как будет правильно сделать ?
<skill id="9010" levels="4" name="Ak1234">
<set name="icon" val="icon.skill0234"/>
<set name="magicLevel" val="75"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_PASSIVE"/>
<table name="#poisonResist">60 60 60 60</table>
<table name="#accCombat">2 3 4 6</table>
<table name="#cAtk">1.05 1.10 1.12</table>
<table name="#rCrit">1.05 1.10 1.15 1.20</table>
<table name="#rootResist">40 40 40 40</table>
<table name="#mDef">1.01 1.05 1.05 1.05</table>
<table name="#pAtk">1.01 1.03 1.04 1.05</table>
<table name="#mAtk">1.01 1.02 1.03 1.04</table>
<table name="#MEN">2 2 3 3</table>
<table name="#INT">2 2 3 3</table>
<table name="#DEX">4 5 5 5</table>
<table name="#stack">1 2 3 4</table>
<for>
<effect stackOrder="#stack"/>
<add order="0x40" stat="poisonResist" val="#poisonResist">
<add order="0x40" stat="accCombat" val="#accCombat"/>
<mul order="0x30" stat="cAtk" val="#cAtk"/>
<mul order="0x30" stat="rCrit" val="#rCrit"/>
<add order="0x40" stat="rootResist" val="#rootResist"/>
<mul order="0x30" stat="mDef" val="#mDef"/>
<mul order="0x30" stat="pAtk" val="#pAtk"/>
<mul order="0x30" stat="mAtk" val="#mAtk"/>
<add order="0x40" stat="MEN" val="#MEN"/>
<add order="0x10" stat="INT" val="#INT"/>
<add order="0x10" stat="DEX" val="#DEX"/>
</effect>
</for>
</skill>
 
Стак нейм пропустил? Или как там. Глянь у любого бафа
 
<?xml version="1.0" encoding="UTF-8"?>
<list>
<skill id="9010" levels="4" name="Ak0123">
<set name="icon" val="icon.skill0234"/>
<set name="magicLevel" val="75"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_PASSIVE"/>
<table name="#poisonResist">60 60 60 60</table>
<table name="#accCombat">2 3 4 6</table>
<table name="#cAtk">1.05 1.10 1.12</table>
<table name="#rCrit">1.05 1.10 1.15 1.20</table>
<table name="#rootResist">40 40 40 40</table>
<table name="#mDef">1.01 1.05 1.05 1.05</table>
<table name="#pAtk">1.01 1.03 1.04 1.05</table>
<table name="#mAtk">1.01 1.02 1.03 1.04</table>
<table name="#MEN">2 2 3 3</table>
<table name="#INT">2 2 3 3</table>
<table name="#DEX">4 5 5 5</table>
<table name="#stackOrder">1 2 3 4</table>
<for>
<effect stackOrder="#stackOrder" stackType="ak1234"/>
<add order="0x40" stat="poisonResist" val="#poisonResist"/>
<add order="0x40" stat="accCombat" val="#accCombat"/>
<mul order="0x30" stat="cAtk" val="#cAtk"/>
<mul order="0x30" stat="rCrit" val="#rCrit"/>
<add order="0x40" stat="rootResist" val="#rootResist"/>
<mul order="0x30" stat="mDef" val="#mDef"/>
<mul order="0x30" stat="pAtk" val="#pAtk"/>
<mul order="0x30" stat="mAtk" val="#mAtk"/>
<add order="0x40" stat="MEN" val="#MEN"/>
<add order="0x10" stat="INT" val="#INT"/>
<add order="0x10" stat="DEX" val="#DEX"/>
</effect>
</for>
</skill>
Так тоже не хочет
[19:33:06] ERROR Error loading skill 9010
java.lang.NullPointerException: Cannot invoke "org.w3c.dom.Node.getNodeValue()" because the return value of "org.w3c.dom.NamedNodeMap.getNamedItem(String)" is null
at l2.gameserver.skills.DocumentBase.attachEffect(Unknown Source)
at l2.gameserver.skills.DocumentBase.parseTemplate(Unknown Source)
at l2.gameserver.skills.DocumentSkill.parseSkill(Unknown Source)
at l2.gameserver.skills.DocumentSkill.parseDocument(Unknown Source)
at l2.gameserver.skills.DocumentBase.parse(Unknown Source)
at l2.gameserver.skills.SkillsEngine.loadSkills(Unknown Source)
at l2.gameserver.skills.SkillsEngine.loadAllSkills(Unknown Source)
at l2.gameserver.tables.SkillTable.load(Unknown Source)
at l2.gameserver.data.xml.Parsers.parseAll(Unknown Source)
at l2.gameserver.GameServer.<init>(Unknown Source)
at l2.gameserver.GameServer.main(Unknown Source)
 
Last edited:
Это на каком обновлении работает? на январском такого нет
всмысле нет? Ты можешь поставить абсолюнто любое значение туда
2 одинаковых значения = работает только одно

Этому уже миллион лет
 
всмысле нет? Ты можешь поставить абсолюнто любое значение туда
2 одинаковых значения = работает только одно

Этому уже миллион лет
В эффектах да, но тут речь ведь идёт о пассивных навыках,
<set name="operateType" val="OP_PASSIVE"/>
<table name="#stackOrder">1 2 3 4 5 6 7 8 9 10</table>
<set name="stackOrder" val="#stackOrder"/>
<set name="stackType" val="RUNE_L2ASTRA"/>
В такой комбинации не работает и не нашел что бы применялось где либо в сборке
 
В эффектах да, но тут речь ведь идёт о пассивных навыках,
<set name="operateType" val="OP_PASSIVE"/>
<table name="#stackOrder">1 2 3 4 5 6 7 8 9 10</table>
<set name="stackOrder" val="#stackOrder"/>
<set name="stackType" val="RUNE_L2ASTRA"/>
В такой комбинации не работает и не нашел что бы применялось где либо в сборке
Так сережки это и есть пассивные навыки, эм?
 
не ошибаюсь ли я
но этот параметр для активных или пассивно-тригерных скилов?
stackOrder
 
В эффектах да, но тут речь ведь идёт о пассивных навыках,
<set name="operateType" val="OP_PASSIVE"/>
<table name="#stackOrder">1 2 3 4 5 6 7 8 9 10</table>
<set name="stackOrder" val="#stackOrder"/>
<set name="stackType" val="RUNE_L2ASTRA"/>
В такой комбинации не работает и не нашел что бы применялось где либо в сборке
ну а в чем проблема сделать к примеру 10 лв этого скила , прописать им один тупик - и сборка автоматом будет заменять итем с высшем лв скила , к примеру у вас 2 руны с 1 и 2 лв - работать и отображаться будет только 2 руна с 2 лв скила

Лови пример для наглядности

<etcitem id="9999" name="Амулет Силы [1 Lv]">
<!-- [adena] -->
<set name="class" value="OTHER"/>
<set name="crystal_type" value="NONE"/>
<set name="dropable" value="false"/>
<set name="sellable" value="false"/>
<set name="storeable" value="false"/>
<set name="icon" value="symbol.icon1769"/>
<set name="tradeable" value="false"/>
<set name="type" value="RUNE"/>
<set name="weight" value="30"/>
<skills>
<skill id="14300" level="6"/>
<skill id="14301" level="6"/>
<skill id="14302" level="6"/>
<skill id="14303" level="6"/>
<skill id="14304" level="6"/>
<skill id="14305" level="6"/>
</skills>
</etcitem>

<etcitem id="99999" name="Амулет Силы [2 Lv]">
<!-- [adena] -->
<set name="class" value="OTHER"/>
<set name="crystal_type" value="NONE"/>
<set name="dropable" value="false"/>
<set name="sellable" value="false"/>
<set name="storeable" value="false"/>
<set name="icon" value="symbol.icon1769"/>
<set name="tradeable" value="false"/>
<set name="type" value="RUNE"/>
<set name="weight" value="30"/>
<skills>
<skill id="14300" level="10"/>
<skill id="14301" level="10"/>
<skill id="14302" level="10"/>
<skill id="14303" level="10"/>
<skill id="14304" level="10"/>
<skill id="14305" level="10"/>
</skills>
</etcitem>
 
ну а в чем проблема сделать к примеру 10 лв этого скила , прописать им один тупик - и сборка автоматом будет заменять итем с высшем лв скила , к примеру у вас 2 руны с 1 и 2 лв - работать и отображаться будет только 2 руна с 2 лв скила

Лови пример для наглядности

<etcitem id="9999" name="Амулет Силы [1 Lv]">
<!-- [adena] -->
<set name="class" value="OTHER"/>
<set name="crystal_type" value="NONE"/>
<set name="dropable" value="false"/>
<set name="sellable" value="false"/>
<set name="storeable" value="false"/>
<set name="icon" value="symbol.icon1769"/>
<set name="tradeable" value="false"/>
<set name="type" value="RUNE"/>
<set name="weight" value="30"/>
<skills>
<skill id="14300" level="6"/>
<skill id="14301" level="6"/>
<skill id="14302" level="6"/>
<skill id="14303" level="6"/>
<skill id="14304" level="6"/>
<skill id="14305" level="6"/>
</skills>
</etcitem>

<etcitem id="99999" name="Амулет Силы [2 Lv]">
<!-- [adena] -->
<set name="class" value="OTHER"/>
<set name="crystal_type" value="NONE"/>
<set name="dropable" value="false"/>
<set name="sellable" value="false"/>
<set name="storeable" value="false"/>
<set name="icon" value="symbol.icon1769"/>
<set name="tradeable" value="false"/>
<set name="type" value="RUNE"/>
<set name="weight" value="30"/>
<skills>
<skill id="14300" level="10"/>
<skill id="14301" level="10"/>
<skill id="14302" level="10"/>
<skill id="14303" level="10"/>
<skill id="14304" level="10"/>
<skill id="14305" level="10"/>
</skills>
</etcitem>
Когда используешь 1 и тот же скил то проблем нет, выдаётся максимально доступный уровень скила в соотвествии с итемом, но задача стояла в другом, что бы 3 разных пассивных скила нельзя было использовать вместе
Делаю уже костыль что бы в 1 скиле было сразу 3)
 
Back
Top