Справка по скиллам

Справка по скиллам:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Все теги должны открываться и закрываться.
Теги, которые можно уместить в одну строку могут закрываться внутри себя.

Пример:
<add .....> ..... </add>
<add ...../>

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
формат xml-файлов:
путь: gameserver\data\stats\skills

<?xml version='1.0' encoding='utf-8'?>
<list>
<skill id="1312" levels="1" name="Fishing">
<set name="weaponsAllowed" val="8192"/>
<set name="mpConsume" val="1"/>
<set name="reuseDelay" val="1000"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="FISHING"/>
<set name="operateType" val="OP_ACTIVE"/>
<for>
</for>
</skill>
<skill id="1313" levels="27" name="Pumping">
<table name="#power"> 19 28 38 50 55 60 65 70 86 92 97 103 109 115 136 143 149 156 187 195 202 245 253 262 271 312 321 </table>
<set name="weaponsAllowed" val="8192"/>
<set name="mpConsume" val="2"/>
<set name="power" val="#power"/>
<set name="reuseDelay" val="2000"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="PUMPING"/>
<set name="operateType" val="OP_ACTIVE"/>
<for>
</for>
</skill>
</list>
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

1. <?xml version='1.0' encoding='utf-8'?>
Начало файла, заголовок
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

2. <list>
Начало списка скиллов, в конце файла нужно закрыть тегом </list>

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
3. <skill id="1312" levels="1" name="Fishing">
Начало описания скилла. После всех тегов должно завершаться </skill>
skill id - уникальный id для всех скиллов (и для мобов и для чаров)
levels - максимальное количество уровней у этого скилла
name - его название

Описание скиллов:
A) <table name="#power"> 19 28 38 50 </table>
Таблица. При ссылке на параметр #power, будет браться значение, соответствующее текущему левелу скилла.
Таблиц может быть несколько. Значения могут быть целыми и дробными, и должны отделяться пробелами.
Значений должно быть столько, сколько левелов у этого скилла.

B) <set name="COMMAND" val="VALUE"/>

Обязательные параметры для каждого скилла:
mpConsume - сколько маны требует
reuseDelay - время перезарядки
target - кто может быть целью
skillType - тип скилла
operateType - активный, пассивный, переключаемый (toggle)

Список параметров:
COMMAND: canLearn - (value = "" - Этот скилл нельзя будет выучить. default - не прописывать)
castRange - Радиус действия каста
activateRate - VALUE
absorbAbs - VALUE
absorbPart - VALUE
advancedFlag - true/false
advancedMultiplier - VALUE
behind - true/false
cancelable - true/false
cancelTarget - true/false
charge_skill_id - skill_id для charge
corpse - true/false
critical - true/false
crush - true/false
deathlink - true/false
displayId - VALUE
element - VALUE
expPenalty - пенальти на эксп ("0.9")
hitTime - VALUE
hpConsume - VALUE
isCubic - true/false
isDwarven - true/false
isMagic - true/false
itemConsumeCount - VALUE
itemConsumeCountInTime - VALUE
itemConsumeDelay - VALUE
itemConsumeId - item_id предмета, который будет использован "1458"
itemConsumeIdInTime - item_id предмета, который будет использован регулярно "1458"
itemConsumePeriods - период за который будет идти регулярный расход предмета
lethal - true/false
levelModifier - VALUE
magicLevel - VALUE
minPledgeClass - VALUE
mpConsume - VALUE
negateDebuffs - true/false
negateEffects - "SLEEP"
negateEffects - "STUN SLEEP MUTE POISON BLEED BUFF DEBUFF PARALYZE"
negatePower - VALUE
negateStats - "mAtk mAtkSpd"
npcId - VALUE
num_charges - VALUE
onCrit - true/false
operateType - OP_ACTIVE/OP_PASSIVE/OP_TOGGLE
overHit - true/false
power - VALUE
reuseDelay - VALUE
save - VALUE
seed_any - true/false
seed1 - VALUE
seed2 - VALUE
seedCount - VALUE
seedcount1 - VALUE
skillInterrupt - true/false
skillRadius - VALUE
skillTime - VALUE
skillType - AGGRESSION/AIEFFECTS/BALANCE/BLEED/BUFF/CANCEL/CHARGE/CHARGEDAM/COMBATPOINTHEAL/
CONFUSION/CONT/CRAFT/DANCE/DEBUFF/DOT/DRAIN/DRAIN_SOUL/ENCHANT_ARMOR/ENCHANT_WEAPON/FATALBLOW/FEED_PET/FISHING/HEAL
HEAL_PERCENT/HOT/INTERRUPT_DISARM/LETHAL_SHOT/LUCK/MANADAM/MANAHEAL/MDAM/MDAM_ELEMENTAL/MDOT/MUTE
NEGATE_EFFECTS/NEGATE_STATS/NOTDONE/PARALYZE/PASSIVE/PDAM/PDAM/POISON/PUMPING/RECALL/REELING/RESURRECT
ROOT/SEED/SIEGEFLAG/SLEEP/SONG/SOULSHOT/SPIRITSHOT/SPOIL/STUN/SUMMON/SUMMON/SUMMON_ITEM/SWEEP/TAKECASTLE
TELEPORT_NPC/TURNER/UNLOCK
SummonItemId - VALUE
SummonMinCount - VALUE
target - TARGET_ALLY/TARGET_AREA/TARGET_AREA_AIM_CORPSE/TARGET_AURA/TARGET_CORPSE/
TARGET_CORPSE_PLAYER/TARGET_HOLY/TARGET_ITEM/TARGET_MULTIFACE/TARGET_NONE/TARGET_ONE/TARGET_PARTY/
TARGET_PET/TARGET_SELF/TARGET_UNLOCKABLE
unaggroing - true/false
undeadOnly - true/false
weaponsAllowed - VALUE

C) <cond>...</cond>
условия для активации скилла. Не используется в пассивках. Если скилл уже активирован, а условие
не соответствует, он НЕ отключается. условия проверяются только для активации.

Примеры использования:
<cond msg="Too much hit points."><player percentHP="25"/></cond> (будет выдаваться сообщение)

без сообщения:
<cond><player percentHP="25"/></cond> (25% hp)
или
<cond><player minHP="25"/></cond> (>25 hp)


D) <for>...</for>
список эффектов, которые применяются при активном скилле или пассивных.
Пример:
<!-- добавить к параметру MEN значение 2. -->
<for>
<add order="0x10" stat="MEN" val="2"/>
</for>

<!-- умножить значение maxHP на значение взятое из таблицы Tab-maxHP и высветить иконку баффа -->
<for>
<effect count="1" name="Buff" time="1200" val="0" stackOrder="#stack" stackType="hp_up">
<mul order="0x50" stat="maxHp" val="#Tab-maxHp"/>
</effect>
</for>

эффекты добавляются словами:
<add - добавить
<mul - умножить
<set - установить
<sub - отнять
<div - разделить

order означает порядок вычисления. (order 0x08, 0x10, 0x30, 0x40, 0x50, 0x60)
0x08 используется для базовой установки параметра
0x10 используется для базовой модификации параметра
0x30 для множителей параметров
0x40 для прибавления статических бонусов к параметру
0x50 используется для множителей базовых бонусов к параметру
0x60 для прибавления статических бонусов ПОСЛЕ множителей

Список изменяемых параметров:

статы: CON
DEX
INT
MEN
STR
WIT
параметры: accCombat
cAtk
cAtkStatic
hpEff
mAtk
mAtkSpd
maxCp
maxHp
maxLoad
maxMp
mDef
mpConsum
mpConsumePhysical
mpEff
mReuse
pAtk
pAtkRange
pAtkSpd
pDef
pReuse
rCrit
rCritPercent
regCp
regHp
regMp
sDef
остальное: absorbDam
breath
concentration
element
SpMultiplier
ExpMultiplier
RaidExpMultiplier
RaidSpMultiplier
ItemDropMultiplier
AdenaDropMultiplier
SpoilDropMultiplier
EnchantBonusMultiplier
poleAngle
rEvas
rShld
runSpd
shldAngle
transferDam
bighead
рефлекты: reflectDam
reflectMagicSkill
reflectPhysicSkill
разное: CommonRecipeLimit
DwarvenRecipeLimit
inventoryLimit
storageLimit
tradeLimit
рейты: activateRate
blowRate
mCritRate
резисты: bleedRcpt
bluntWpnRcpt
bowWpnRcpt
cancelRcpt
daggerWpnRcpt
debuffRcpt
earthRcpt
fearRcpt
fireRcpt
paralyzeRcpt
poisonRcpt
poleWpnRcpt
rootRcpt
sacredRcpt
sleepRcpt
stunRcpt
swordWpnRcpt
unholyRcpt
waterRcpt
windRcpt

E) условия:
<COMMAND VARIABLE="VALUE">
могут быть заключены в теги <and> <or> <not>

пример:
<sub order="0x10" stat="STR" val="1">
<game night="true"/>
</sub>

<and>
<player riding="strider"/>
<target castledoor="true"/>
</and>

список команд (COMMAND):
<player VARIABLE="PARAM">
VARIABLE: race (Undead/MagicCreatures/Beasts/Animals/Plants/Humanoids/Spirits/Angels/Demons/Dragons/Giants/Bugs/Fairies/Humans/Elves/DarkElves/Orcs/Dwarves/Others/NonLivingBeings/SiegeWeapons/DefendingArmy/Mercenaries/UnknownCreature)
level
resting (true/false)
moving (true/false)
running (true/false)
riding (strider/wyvern/none)
hp

<target VARIABLE="PARAM">
VARIABLE: aggro (true/false)
undead (true/false)
pvp (true/false)
mob (true/false)
race (Undead/MagicCreatures/Beasts/Animals/Plants/Humanoids/Spirits/Angels/Demons/Dragons/Giants/Bugs/Fairies/Humans/Elves/DarkElves/Orcs/Dwarves/Others/NonLivingBeings/SiegeWeapons/DefendingArmy/Mercenaries/UnknownCreature)
castledoor (true/false)
direction (behind/front/side)

<using VARIABLE="PARAM">
VARIABLE: kind (Shield/Sword/Blunt/Dagger/Bow/Pole/Etc/Fist/Dual Sword/Dual Fist/Big Sword/Pet/Rod)
armor (None/Light/Heavy/Magic/Pet)
skill (skill_id)
slotitem

<game VARIABLE="PARAM">
VARIABLE: night (true/false)

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
F) Эффекты:

<effect count="1" name="Buff" time="1200" val="0" stackOrder="#stack" stackType="hp_up">

count = кол-во тиков, которые длится эффект
time = длина тика в секундах для этого эффекта (В примере у нас имеется один тик длинной 1200сек=20мин)
name = что это за эффект. У эффектов могут быть аффекты на старт, стоп и на время действия.
val = значение для "name"
stackOrder = используется для замены одного эффекта другим эффектом, у которого stackOrder выше. эффект с более низким stackORder не может заменить эффект с более высоким stackOrder
stackType = "Тип эффекта", чтобы не накладывались схожие баффы

пример: добавляется скорость атаки на 25%, но при этом отнимается mana каждые 2 тика 35 HP
длительность эффекта не ограничена (это у нас toggle)
<for>
<effect count="0x7fffffff" name="HealOverTime" time="2" val="-35">
<mul order="0x50" stat="pAtkSpd" val="1.25"/>
</effect>
</for>
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
Last edited:
а в чем твоя проблема сделать стат mAtk и обернуть его в cond isMob ?
Вы правы, не с того начал. Хочу сделать pvp броню и бижу, которая будет уменьшать ПВП дамаг. Какие параметры отвечают за ПВПфизДеф и ПВПмагДеф, если Они есть в ветке интерлюд
 
можно полный список вариантов cond? или может есть где посмотреть
и еще интересует triggers
 
Доброго времени. Сборка интерлюд.
Хочу реализовать скил shadow step. Почти все сделал, но ТПшит не за спину, как исправить подскажите.
 
можно полный список вариантов cond? или может есть где посмотреть
и еще интересует triggers
у тригера я так понял, можно применять любой дебафф/бафф эффект
просто указывается шанс срабатывания, и цель
 
Доброго времени.
Испробовал много вариантов, но никак не могу понять: как сделать 2 условия (надо что бы можно было использовать на мобах и игроках, но не на нпс)
<target pvp="true"/>
<target mob="true"/>
Пробовал вставлять теги <and>...</and> по разному. Пробовал также <or>...</or>
 
Список параметров:
COMMAND: canLearn - (value = "" - Этот скилл нельзя будет выучить. default - не прописывать)
Доброго времени!
Сборка Интерлюд. Хочу реализовать скилл, который учится некоторыми профами с помощью книги (а точнее при дабл-клике). Я правильно понял - добавляю параметр в скилл (где val="{указываю ид профы через ";"}", привязываю его к юзабельному предмету, и после этого скилл учится только при использовании этого предмета.
<set name="canLearn" val="88;89;90;91;92;93;94...118"/>
Если нет, подскажите как правильно.
 
Подскажите что у меня тут прописано не правильно? Не работает откат в 2 секунды

<skill id="90001" levels="1" name="Mana potion">
<set name="icon" val=""/>
<set name="reuseDelay" val="2000"/>
<set name="displayId" val="2005"/>
<set name="itemConsumeId" val="728"/>
<set name="itemConsumeCount" val="1"/>
<set name="isHandler" val="true"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="MANAHEAL"/>
<set name="power" val="500"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="altUse" val="true"/>
</skill>
 
Подскажите что у меня тут прописано не правильно? Не работает откат в 2 секунды

<skill id="90001" levels="1" name="Mana potion">
<set name="icon" val=""/>
<set name="reuseDelay" val="2000"/>
<set name="displayId" val="2005"/>
<set name="itemConsumeId" val="728"/>
<set name="itemConsumeCount" val="1"/>
<set name="isHandler" val="true"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="MANAHEAL"/>
<set name="power" val="500"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="altUse" val="true"/>
</skill>
Кулдаун нужно выставить предмету.
 
ткните, что я делаю не так
есть скилл 3 уровня
Code:
<table name="#pCrt">30 50 70</table>

<add order="0x40" stat="rCrit" val="#pCrt"/>

по идее должно просто накинуть критикал +70 при 3 лвл умения, но в итоге что мы имеем
при снятом итеме
1637093653989.webp
при одетом итеме
1637093672932.webp
умение в пассивках 3го уровня
1637093710206.webp
 
Кулдаун нужно выставить предмету.
<etcitem id="728" name="Mana Potion">
<!-- [mana_potion] -->
<set name="reuse_delay" value="2000"/>
<set name="class" value="CONSUMABLE"/>
<set name="crystal_type" value="NONE"/>
<set name="icon" value="icon.etc_reagent_blue_i00"/>
<set name="price" value="2000"/>
<set name="stackable" value="true"/>
<set name="type" value="POTION"/>
<set name="weight" value="180"/>
<skills>
<skill id="90001" level="1"/>
</skills>
<cond msgId="1508">
<not>
<player olympiad="true"/>
</not>
</cond>
</etcitem>
Выставил, но отката нет, юзаються без него
 
<etcitem id="728" name="Mana Potion">
<!-- [mana_potion] -->
<set name="reuse_delay" value="2000"/>
<set name="class" value="CONSUMABLE"/>
<set name="crystal_type" value="NONE"/>
<set name="icon" value="icon.etc_reagent_blue_i00"/>
<set name="price" value="2000"/>
<set name="stackable" value="true"/>
<set name="type" value="POTION"/>
<set name="weight" value="180"/>
<skills>
<skill id="90001" level="1"/>
</skills>
<cond msgId="1508">
<not>
<player olympiad="true"/>
</not>
</cond>
</etcitem>
Выставил, но отката нет, юзаються без него
Что , ты скидываешь итем и хочешь откат у скила?? <skill id="90001" level="1"/> смотри тут откат
 
Хочу поставить откат на МП банку, человек написал "Кулдаун нужно выставить предмету."
что нужно сделать так, не правильно?
 
скинь полный код
XML:
<skill id="3560" levels="3" name="Earring of Orfen">
    <table name="#mAtk">1.05 1.07 1.10</table> 
    <table name="#pDef">1.05 1.07 1.10</table>
    <table name="#mCrt">1.03 1.05 1.07</table>
    <table name="#magicLevel">75 75 75</table> 
    <set name="icon" val="icon.accessory_earring_of_orfen_i00"/> 
    <set name="magicLevel" val="#magicLevel"/> 
    <set name="target" val="TARGET_SELF"/> 
    <set name="skillType" val="BUFF"/> 
    <set name="operateType" val="OP_PASSIVE"/> 
    <for>
      <mul order="0x30" stat="mAtk" val="#mAtk"/>
      <mul order="0x30" stat="pDef" val="#pDef"/>
      <mul order="0x30" stat="mCritRate" val="#mCrt"/>
    </for>
  </skill>
 
XML:
<skill id="3560" levels="3" name="Earring of Orfen">
    <table name="#mAtk">1.05 1.07 1.10</table>
    <table name="#pDef">1.05 1.07 1.10</table>
    <table name="#mCrt">1.03 1.05 1.07</table>
    <table name="#magicLevel">75 75 75</table>
    <set name="icon" val="icon.accessory_earring_of_orfen_i00"/>
    <set name="magicLevel" val="#magicLevel"/>
    <set name="target" val="TARGET_SELF"/>
    <set name="skillType" val="BUFF"/>
    <set name="operateType" val="OP_PASSIVE"/>
    <for>
      <mul order="0x30" stat="mAtk" val="#mAtk"/>
      <mul order="0x30" stat="pDef" val="#pDef"/>
      <mul order="0x30" stat="mCritRate" val="#mCrt"/>
    </for>
  </skill>
Может ошибка в коде итема?
 
Хочу поставить откат на МП банку, человек написал "Кулдаун нужно выставить предмету."
что нужно сделать так, не правильно?
XML:
  <etcitem id="728" name="Mana Potion">
    <!-- [mana_potion] -->
    <set name="class" value="CONSUMABLE"/>
    <set name="crystal_type" value="NONE"/>
    <set name="icon" value="icon.etc_reagent_blue_i00"/>
    <set name="price" value="2000"/>
    <set name="stackable" value="true"/>
    <set name="type" value="POTION"/>
    <set name="weight" value="180"/>
    <set name="reuse_delay" value="3000"/>
    <set name="isReuseDelayPermanent" val="true"/>
    <skills>
      <skill id="90001" level="1"/>
    </skills>
    <cond msgId="1508">
      <not>
        <player olympiad="true"/>
      </not>
    </cond>
  </etcitem>
 
<etcitem id="728" name="Mana Potion">
<!-- [mana_potion] -->
<set name="class" value="CONSUMABLE"/>
<set name="crystal_type" value="NONE"/>
<set name="icon" value="icon.etc_reagent_blue_i00"/>
<set name="price" value="2000"/>
<set name="itemConsumeId" val="728"/>
<set name="itemConsumeCount" val="1"/>
<set name="reuse_delay" value="10000"/> <!-- 10 sec. Custom -->
<set name="stackable" value="true"/>
<set name="type" value="POTION"/>
<set name="weight" value="180"/>
<set name="altUse" val="true"/>
<skills>
<skill id="90001" level="1"/>
</skills>
<cond msgId="1508">
<not>
<player olympiad="false"/>
</not>
</cond>
</etcitem>

<skill id="90001" levels="1" name="Mana potion">
<set name="magicType" val="SPECIAL"/>
<set name="icon" val="icon.etc_reagent_blue_i00"/>
<set name="displayId" val="2005"/>
<set name="itemConsumeId" val="728"/>
<set name="itemConsumeCount" val="1"/>
<set name="isHandler" val="true"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="HOT"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="altUse" val="true"/>
<for>
<effect count="5" name="ManaHealOverTime" time="3" val="130" displayId="229">
<def name="ignoreMpEff" val="true" />
</effect>
</for>
</skill>

Установил HOT вместо BUFF, эффект всё равно в баффах)

  1. Подскажите, что значит altUse?
  2. Что такое isHandler?
  3. Что такое magicType = SPECIAL?
  4. Как сделать так, чтобы Mana Drug и Mana Potion нельзя было использовать одновременно?

Мана не сбивает бафф при skillType=HOT, но ведь Greater Healing Potion добавляется в отдельную строку, я хотел также сделать и с маной. Походу без допила патча это не сделать?
 
Last edited:
Back
Top