11-30-2010, 07:27 PM
Использую сборку L2Phoenix 19748. Собственно, скилл Mortal strike(id 410) неверно работает, так как дает вместо параметра rCrit параметр blowRate. Как только не пробовал исправить методом правки xml - ничего не помогает. Собственно, изначально в моей сборке скилл был описан так:
В сборках же, в которых этот скилл правильно реализован, например, L2open, он описан следующим образом:
Сначала я подумал, что #blowRate - это обычная переменная, имя которой неважно(если я не прав, поправьте меня) и изменил лишь ее значения в строчке
на
, а в строках
Я лишь изменил в описании эффекта прибавляемый стат на stat="rCrit". Но после релоада скиллов бафф стал просто вешаться, но ничего не давать. В логе сервера же написало ошибку:
Уже создалось такое впечатление, что этот скилл вообще не поправить в xml, так как в ядре именно для него прописана возможность добавления лишь блоурейта, так чт окак ни тужься в xml, кроме этого стата никакие другие он добавлять не будет. Я растерялся, не знаю, что еще делать. Очень прошу знающих людей помочь в решении проблемы.
Код:
<skill id="410" levels="3" name="Mortal Strike">
<!--
Done by Diamond (Edited by Drin)
Enchant #1: +Chance
Enchant #2: +Time
-->
<table name="#blowRate">1.1 1.15 1.2</table>
<table name="#abnormal_time">120</table>
<set name="target" val="TARGET_SELF" />
<set name="skillType" val="BUFF" />
<set name="operateType" val="OP_ACTIVE" />
<cond msg="A dagger needs to be equipped to use this skill">
<using kind="Dagger,Dual Dagger" />
</cond>
<enchant1 levels="30" name="Chance">
<table name="#blowRate">1.2 1.2 1.21 1.21 1.21 1.22 1.22 1.22 1.23 1.23 1.23 1.24 1.24 1.24 1.25 1.25 1.25 1.26 1.26 1.26 1.27 1.27 1.27 1.28 1.28 1.28 1.29 1.29 1.29 1.3</table>
</enchant1>
<enchant2 levels="30" name="Time">
<table name="#abnormal_time">124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 184 188 192 196 200 204 208 212 216 220 224 228 232 236 240</table>
<table name="#blowRate">1.21 1.21 1.21 1.21 1.21 1.21 1.22 1.22 1.22 1.22 1.22 1.22 1.23 1.23 1.23 1.23 1.23 1.23 1.24 1.24 1.24 1.24 1.24 1.24 1.25 1.25 1.25 1.25 1.25 1.25</table>
</enchant2>
<for>
<effect count="1" name="Buff" time="#abnormal_time" val="0">
<mul order="0x30" stat="blowRate" val="#blowRate" />
</effect>
</for>
</skill>
В сборках же, в которых этот скилл правильно реализован, например, L2open, он описан следующим образом:
Код:
<skill id="410" levels="3" name="Mortal Strike" enchantGroup1="2" enchantGroup2="2">
<table name="#enchantMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 82 83 83 83 84 84 85 85 85 </table>
<table name="#ench1rCrit"> 0.2 0.2 0.21 0.21 0.21 0.22 0.22 0.22 0.23 0.23 0.23 0.24 0.24 0.24 0.25 0.25 0.25 0.26 0.26 0.26 0.27 0.27 0.27 0.28 0.28 0.28 0.29 0.29 0.29 0.3 </table>
<table name="#ench2rCrit"> 0.21 0.21 0.21 0.21 0.21 0.21 0.22 0.22 0.22 0.22 0.22 0.22 0.23 0.23 0.23 0.23 0.23 0.23 0.24 0.24 0.24 0.24 0.24 0.24 0.25 0.25 0.25 0.25 0.25 0.25 </table>
<table name="#ench2time"> 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 184 188 192 196 200 204 208 212 216 220 224 228 232 236 240 </table>
<table name="#mpConsume"> 27 31 34 </table>
<table name="#rCrit"> 0.1 0.15 0.2 </table>
<set name="mpConsume" val="#mpConsume" />
<set name="weaponsAllowed" val="262160" /> <!-- Dagger/Dual Daggers -->
<set name="reuseDelay" val="150000" />
<set name="hitTime" val="2000" />
<set name="target" val="TARGET_SELF" />
<set name="skillType" val="BUFF" />
<set name="operateType" val="OP_ACTIVE" />
<enchant1 name="magicLvl" val="#enchantMagicLvl" />
<enchant2 name="magicLvl" val="#enchantMagicLvl" />
<for>
<effect name="Buff" time="120" val="0">
<basemul order="0x30" stat="rCrit" val="#rCrit" />
</effect>
</for>
<enchant1for>
<effect name="Buff" time="120" val="0">
<basemul order="0x30" stat="rCrit" val="#ench1rCrit" />
</effect>
</enchant1for>
<enchant2for>
<effect name="Buff" time="#ench2time" val="0">
<basemul order="0x30" stat="rCrit" val="#ench2rCrit" />
</effect>
</enchant2for>
</skill>
Сначала я подумал, что #blowRate - это обычная переменная, имя которой неважно(если я не прав, поправьте меня) и изменил лишь ее значения в строчке
Код:
<table name="#blowRate">1.1 1.15 1.2</table>
на
Код:
<table name="#blowRate">0.1 0.15 0.2</table>
, а в строках
Код:
<for>
<effect name="Buff" time="120" val="0">
<basemul order="0x30" stat="blowRate" val="#rCrit" />
</effect>
</for>
<enchant1for>
<effect name="Buff" time="120" val="0">
<basemul order="0x30" stat="blowRate" val="#ench1rCrit" />
</effect>
</enchant1for>
<enchant2for>
<effect name="Buff" time="#ench2time" val="0">
<basemul order="0x30" stat="blowRate" val="#ench2rCrit" />
</effect>
</enchant2for>
Я лишь изменил в описании эффекта прибавляемый стат на stat="rCrit". Но после релоада скиллов бафф стал просто вешаться, но ничего не давать. В логе сервера же написало ошибку:
Цитата:WARNING: Unused table "blowRate for skill 410. Тогда я попробовал изменить еще и название переменной на #rCrit, чтобы ее имя соответствовало изменяемому стату, но ошибка осталась та же. Финальный код скилла выглядит у меня так:
Код:
<skill id="410" levels="3" name="Mortal Strike">
<!--
Done by CrazyGenius (Edited by Drin)
Enchant #1: +Chance
Enchant #2: +Time
-->
<table name="#rCrit">0.1 0.15 0.2</table>
<table name="#abnormal_time">120</table>
<set name="target" val="TARGET_SELF" />
<set name="skillType" val="BUFF" />
<set name="operateType" val="OP_ACTIVE" />
<cond msg="A dagger needs to be equipped to use this skill">
<using kind="Dagger,Dual Dagger" />
</cond>
<enchant1 levels="30" name="Chance">
<table name="#rCrit">0.2 0.2 0.21 0.21 0.21 0.22 0.22 0.22 0.23 0.23 0.23 0.24 0.24 0.24 0.25 0.25 0.25 0.26 0.26 0.26 0.27 0.27 0.27 0.28 0.28 0.28 0.29 0.29 0.29 0.3</table>
</enchant1>
<enchant2 levels="30" name="Time">
<table name="#abnormal_time">124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 184 188 192 196 200 204 208 212 216 220 224 228 232 236 240</table>
<table name="#rCrit">0.21 0.21 0.21 0.21 0.21 0.21 0.22 0.22 0.22 0.22 0.22 0.22 0.23 0.23 0.23 0.23 0.23 0.23 0.24 0.24 0.24 0.24 0.24 0.24 0.25 0.25 0.25 0.25 0.25 0.25</table>
</enchant2>
<for>
<effect count="1" name="Buff" time="#abnormal_time" val="0">
<basemul order="0x30" stat="rCrit" val="#rCrit" />
</effect>
</for>
</skill>
Уже создалось такое впечатление, что этот скилл вообще не поправить в xml, так как в ядре именно для него прописана возможность добавления лишь блоурейта, так чт окак ни тужься в xml, кроме этого стата никакие другие он добавлять не будет. Я растерялся, не знаю, что еще делать. Очень прошу знающих людей помочь в решении проблемы.