Перейти к содержанию
Авторизация  

Мануал как редактировать скилы.


Описание

Мануал для новичков, что не знают как отредактировать скилы, к примеру при большом дисбалансе на сервере и для других целей.<br />Первое что Вам нужно понять, что фиксить скилы вы сможете только те которым не нужна поддержка ядра. Данный мануал можно применять только к скилам с "power" к примеру death spike, vampiric claw...и другие.

Мануал как редактировать скилы.

 

Мануал для новичков, что не знают как отредактировать скилы, к примеру при большом дисбалансе на сервере и для других целей.

Первое что Вам нужно понять, что фиксить скилы вы сможете только те которым не нужна поддержка ядра. Данный мануал можно применять только к скилам с "power" к примеру death spike, vampiric claw...и другие.

 

Мануал будем разбирать по примеру скила TH "Deadly blow".

Допустим у Вас на сервере есть дисбаланс и у скила deadly blow летальный исход проходит очень часто, или наоборот очень редко...Тогда Вам нужно изменить шанс летального исхода при использовании данного скила. Делается это так:

 

Шаг №1:

 

В сборке своего сервера идем сюда=> folder\gameserver\data\stats там ищем папочку Skills. В данной папке лежат скилы вашего сервера.

Теперь Вам нужно узнать ID скила, который Вы хотите отредактировать. В зависимости от того какой ID у скила зависит где он будет находится (в файле под каким именем). Так как в примере, я буду редактировать скил TH "Deadly blow" , а ID данного скила => 263, то мне нужно открыть файл с именем 0200-0299.xml. И найти там данных скил.

 

Шаг №2:

 

Вот мы открыли 0200-0299.xml и нашли описание нашего скила. Что теперь? А теперь мы будем фиксить наш скил.

Мы видим в свойствах нашего скила такое:

<skill id="263" levels="37" name="Deadly Blow"...

...

</table>

<set name="weaponsAllowed" val="16" />

<set name="mpConsume" val="#mpConsume" />

<set name="magicLvl" val="#magicLvl" />

<set name="power" val="#power" />

<set name="target" val="TARGET_ONE" />

<set name="condition" val="16" />

<set name="reuseDelay" val="11000" />

<set name="hitTime" val="1080" />

<set name="coolTime" val="720" />

<set name="skillType" val="BLOW" />

<set name="lethal1" val="5" /> - вот тут вместо значения 5, ставим, к примеру, 3. Этим мы сделаем шанс леталки у скила Deadly Blow меньше.

<set name="operateType" val="OP_ACTIVE" />

<set name="castRange" val="40" />

<set name="effectRange" val="400" />

<enchant1 name="power" val="#ench1Power" />

<enchant2 name="power" val="#ench2Power" />

<enchant2 name="mpConsume" val="#ench2MpConsume" />

</skill>

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

 

Напомню, что:

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

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

Пример:

<add> ..... </add>

<add />

 

формат xml-файлов:

<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.

Начало файла, заголовок

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, будет браться значение, соответствующее текущему левелу скилла.

Таблиц может быть несколько. Значения могут быть целыми и дробными, и должны отделяться пробелами.

Значений должно быть столько, сколько левелов у этого скилла.

 

<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

pAt kRange

pAtkSpd

pDef

pReuse

rCrit

rCritPercent

regCp

regHp

regMp

sDef

остальное: absorbDam

breath

concentration

element

ExpSpMultiplier

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

poleWpn Rcpt

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 = "Сила эффекта", чтобы сравнивать какой более сильный при обновлении

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>



Рекомендуемые комментарии

Комментариев нет

×
×
  • Создать...