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

[ Статья ] [ Mануал ] Как Делать Фиксы Скилов

Рекомендуемые сообщения

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

 

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

Первое что Вам нужно понять, что фиксить скилы вы сможете только те которым не нужна поддержка ядра. Данный мануал можно применять только к скилам с "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>

  • Upvote 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полезно,стоит прикрепить.

Изменено пользователем •°•°•PsycHoO•°•°•

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если полезно постав, пожалуста,

rep_up.png:)

А я сейчас еще манул напишу.

Ну как бы он тебе поставил ++)

Мануал действительно полезный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

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