Показать сообщение отдельно
Непрочитано 30.11.2010, 19:27   #1
Новичок

Автор темы (Топик Стартер) [L2Phoenix]Скилл Mortal Strike

Использую сборку L2Phoenix 19748. Собственно, скилл Mortal strike(id 410) неверно работает, так как дает вместо параметра rCrit параметр blowRate. Как только не пробовал исправить методом правки 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, кроме этого стата никакие другие он добавлять не будет. Я растерялся, не знаю, что еще делать. Очень прошу знающих людей помочь в решении проблемы.
CrazyGenius вне форума Ответить с цитированием