[manual] Несколько мануалов по редакитрованию статов вещей
Для начала выбираем вещь которую мы сильно усилим, и заранее придумываем что она будет давать(так что бы не переборщить..)
Ладно приступим:
1) я беру для примера Short Sword(НГ меч) (ID=1)
2) заходим в gameserver\data\stats\weapon <--- для брони - armor, для скилов skills
3) вот стандартный short sword:
<item id='1' name="short_sword">
<for>
<set val='8' order='0x08' stat='pAtk'/> <-- П атака(стандартный параметр)
<set val='6' order='0x08' stat='mAtk'/> <-- М атака(стандартный параметр)
<set val='8' order='0x08' stat='rCrit'/> <-- Критичность(стандартный параметр)
<add val='0' order='0x10' stat='accCombat'/> <-- Акуреси(стандартный параметр)
<set val='379' order='0x08' stat='pAtkSpd'/> <-- Атак спид(стандартный параметр)
<enchant val='0' order='0x0C' stat='pAtk'/> <-- лучше не трогать(это при заточке увелечение П атаки)
<enchant val='0' order='0x0C' stat='mAtk'/> <-- лучше не трогать(это при заточке увелечение М атаки)
</for>
</item>
ВСЕ ДОБАВЛЕНИЯ К ВЕЩИ/СКИЛУ ПИШЕМ МЕЖДУ
<for>
ТУТ
</for>
4) Вот что можно делать:
add - добавление
mul - умножение
Вот например я хочу добавить П атаки строчка будет выглядеть так :
<add order="0x30" stat="pAtk" val="x"/> <--- где x это количество П атаки которое хотим добавить
А если я хочу например умножить то будет так:
<mul order="0x30" stat="pAtk" val="x"/> <--- где х нужно писать в процентах(например если хотим добавить 10%, то ставим вместо х 1.1)
А тут я распишу некоторые аббревиатуры которые вам могут понадобится:
stat="pAtk" <---- П атака
stat="pDef" <---- П деф
stat="pAtkSpd" <---- Атак спид
stat="rCrit" <---- Шанс крита
stat="maxHp" <---- Максимальное количество НР
stat="maxMp" <---- Максимальное количество МР
stat="mAtkSpd" <---- Кастинг спид
stat="mDef" <---- М деф
stat="runSpd" <---- Скорость бега
stat="mAtk" <---- М атака
stat="absorbDam" <---- Отражение урона(шипы)
stat="cAtk" <---- Мощность Критического удара
------------------------------------------------------------------------------------------------------------------------
Вот пример офигенно мощного short sword'a :
<item id='1' name="short_sword">
<for>
<set val='8' order='0x08' stat='pAtk'/>
<set val='6' order='0x08' stat='mAtk'/>
<set val='8' order='0x08' stat='rCrit'/>
<add val='0' order='0x10' stat='accCombat'/>
<set val='379' order='0x08' stat='pAtkSpd'/>
<add order="0x30" stat="pAtk" val="99999"/>
<mul order="0x30" stat="pAtkSpd" val="2.0"/>
<enchant val='0' order='0x0C' stat='pAtk'/>
<enchant val='0' order='0x0C' stat='mAtk'/>
</for>
</item>
Теперь у меня он добавляет 99999 П атаки и в ДВА раза увеличивает атак спид)
<----------------------------------------------------------------------------------------------------------------------->
Темку буду дополнять при возможности. Не забываем благодарить (не СООБЩЕНИЯМИ: спасибо тебе большое) , а просто нажав кнопку после моего сообщения "СПАСИБО"...
Зайди в gameserver\config\altsettings.properties
Там: AltGameCancelByHit = cast <--- просто вместо cast напиши all
Этот параметр отвечает за сбивания каста во время удара по персу.
А синяя полоска это скорость перезарядки. Параметр отвечающий за это atkReuse. Задается в %.
Вот пример Перила с SA quick recovery.
<item id='4829' name="bow_of_peril_quick_recovery">
<for>
<set val='400' order='0x08' stat='pAtk'/>
<set val='99' order='0x08' stat='mAtk'/>
<set val='12' order='0x08' stat='rCrit'/>
<add val='-3' order='0x10' stat='accCombat'/>
<set val='293' order='0x08' stat='pAtkSpd'/>
<enchant val='0' order='0x0C' stat='pAtk'/>
<enchant val='0' order='0x0C' stat='mAtk'/>
<!-- SA: Quick Recovery -->
<mul val='0.87' order='0x30' stat='atkReuse'/>
</for>
</item>
Поменяй вместо 0.87, допустим, 0.05, и посмотри что будет. Обязательно отпишись потом, мне тоже интересно :).
Т.е. например оружие будет выглядеть, как лук Перил, но будет в 2 раза мощней и быстрей стрелять, и у него будет другой ID.
Можно ли это сделать без правки ядра сервера и клиента?
Без правки клиента никак, т.к. чтобы видеть видеть новый перил, нужно добавить его ID с текстурами, анимацией, описанием.
В сервере добавить xml файл с его параматрами вот сюда gameserver\data\stats\weapon, а в базу через навикат.
VELO: спасибо за инфо но за что отвечают эти значения order='0x10'
О параметре "order". "Order" это порядок проведения расчетов. Давайте представим что мы имеем base power defence игрока: basePDef
защита одетого доспеха: armourPDef
level modifier of the player: lvl
passive skill of power defence которое надо добавить: skillPDef1
buff of power defence которое надо умножить: skillPDef2
Получаем такую формулу:
((basePDef + armorPDef)*lvl + skillPDef1)*skillPDef2
Знаки умножение\суммы в этой формуле указаны 'order'ом расчета. Получается:
basePDef будеть иметь order 0x10
armorPDef будеть иметь order 0x10
lvl будеть иметь order 0x30
skillPDef1 будеть иметь order 0x40
skillPDef2 будеть иметь order 0x50
Значения с одинаковыми 'order'ами расчета будут рассчитаны в не предсказуемом порядке. По-этому, никогда не указывай одинаковый order параметрам add/substiture и multiplay/divide.
<mul order="0x30" stat="mAtk" val="1.40"/> <!-- M atk +40% -->
<mul order="0x30" stat="pDef" val="1.40"/> <!-- P. Def. +40% -->
<mul order="0x30" stat="mDef" val="1.40"/> <!-- M. Def. +40% -->
<mul order="0x30" stat="mAtkSpd" val="1.40"/> <!-- Casting Spd. +40% -->
<mul order="0x30" stat="mCritRate" val="3.00"/> <!-- Magic Crit. Rate +300% -->
<mul order="0x30" stat="gainHp" val="1.20"/> <!-- Heal +20% -->
<mul order="0x30" stat="rShld" val="1.60"/> <!-- Shield Defense +60% -->
<mul order="0x30" stat="regMp" val="2.00"/> <!-- MP Regeneration +200% -->
<mul order="0x30" stat="regHp" val="2.00"/> <!-- HP Regeneration +200% -->
<mul order="0x30" stat="regCp" val="2.00"/> <!-- CP Regeneration +200% -->
<add order="0x40" stat="runSpd" val="50"/> <!-- Speed +50 -->
<add order="0x40" stat="rEvas" val="10"/> <!-- Evasion +10 -->
<add order="0x40" stat="accCombat" val="10"/> <!-- Accuracy +10 -->
<add order="0x40" stat="reflectDam" val="30"/> <!-- Reflect damage by enemy +30% -->
<add order="0x40" stat="maxMp" val="10000"/> <!-- Max MP +10000 -->
<add order="0x40" stat="maxHp" val="10000"/> <!-- Max HP +10000 -->
<add order="0x40" stat="maxCp" val="10000"/> <!-- Max CP +10000 -->
<add order="0x40" stat="WIT" val="7"/> <!-- WIT +7 -->
<add order="0x40" stat="CON" val="7"/> <!-- CON +7 -->
<add order="0x40" stat="STR" val="7"/> <!-- STR +7 -->
<add order="0x40" stat="MEN" val="7"/> <!-- MEN +7 -->
<add order="0x40" stat="INT" val="7"/> <!-- INT +7 -->
<add order="0x40" stat="DEX" val="7"/> <!-- DEX +7 -->
<add order="0x40" stat="rootRes" val="200"/> <!-- Root Resistance +200% -->
<add order="0x40" stat="earthRes" val="200"/> <!-- Earth Resistance +200% -->
<add order="0x40" stat="derangementRes" val="200"/> <!-- Mental Reistance +200% -->
<add order="0x40" stat="fireRes" val="200"/> <!-- Fire Resistance +200% -->
<add order="0x40" stat="paralyzeRes" val="200"/> <!-- Paralysis Resistance +200% -->
<add order="0x40" stat="sleepRes" val="200"/> <!-- Sleep Resistance +200% -->
<add order="0x40" stat="rootRes" val="200"/> <!-- Hold Resistance +200% -->
<add order="0x40" stat="poisonRes" val="200"/> <!-- Poision Resistance +200% -->
<add order="0x40" stat="stunRes" val="200"/> <!-- Stun Resistance +200% -->
<add order="0x40" stat="bleedRes" val="200"/> <!-- Bleed Resistance +200% -->
<add order="0x40" stat="maxLoad" val="99999"/> <!-- Point at which a weight penalty is applied +99999 -->
<add order="0x40" stat="cancel" val="300"/> <!-- Small decrease in chance of spell interruption - TO CHECK -->
Конечно это не все характеристики , но большинство ) Переводить ничего не буду , кому нужно сам разберёться ) Когда пишите тэг add , order нужно ставить 0х40. Когда mul , order нужно ставить 0х30
— La2Psy.ru [ADM]Wh1tePower...
Решила создать такую тему так как у многих возникают вопросы что где обозначает и т.д.
Здесь я частично привела stats их значения, и к чему они применяются (все ниже перечисленное применяется в статс).. не которые перевела на русский... не которые нет.. увы слаба в английском.. Поэтому если кто то до переводит то что я не смогла, буду рада:)
Тут собраны статс:
1. HP(жизни) & MP (манна)
2. PVP бонус
3. Атака/защита шанс
4. Меткость (точность) & Радиус
5. Бег
6. Статы только для игроков (краски)
7. stats of various abilities (не смогла перевести)
8. степень подвержености различным атакам
9. для брони, степень их крепости / слабости к различным видам оружия
10. Поглощения и отражения ударов
11. лимит веса
12. подверженность атакам различным типам монстров
13. Лимит веса для разных ячеек
14. Обозначение (расчет) процентов в хмл (mul=1.4 (40%)
15. Список к чему применяется order
16. Расы ID's
17. Природные и не очень элементы:)
18. установления бонусов при ношении чего-то определенного
19. таргеты, на кого будет действовать определенный стат
20. Типы скиллов
Stats
HP(жизни) & MP (манна)
MAX_HP --- maxHp (добавляет жизни)
MAX_MP --- maxMp (добавляет манну)
MAX_CP --- maxCp (добавляет ЦП)
REGENERATE_HP_RATE --- regHp (рейт регенерации жизни)
REGENERATE_CP_RATE --- regCp (рейт регенерации ЦП)
REGENERATE_MP_RATE --- regMp (рейт регенерации манны)
RECHARGE_MP_RATE --- gainMp (эффективность восстановления мп при скилле Recharge EE и SE )
HEAL_EFFECTIVNESS --- gainHp (эффективность восстановления жизни при скиллах лечения)
PVP бонус
PVP_PHYSICAL_DMG --- pvpPhysDmg
PVP_MAGICAL_DMG --- pvpMagicalDmg
PVP_PHYS_SKILL_DMG --- pvpPhysSkillsDmg
Атака & Защита
POWER_DEFENCE -- - pDef (физическая защита)
MAGIC_DEFENCE -- - mDef (магическая защита)
POWER_ATTACK -- - pAtk (физическая атака)
MAGIC_ATTACK -- - mAtk (магическая атака)
POWER_ATTACK_SPEED --- pAtkSpd (скорость физ атаки)
MAGIC_ATTACK_SPEED --- mAtkSpd (скорость маг атаки *каст*)
MAGIC_REUSE_RATE --- mReuse (время регенерации скилла)
SHIELD_DEFENCE --- sDef (п деф щита)
CRITICAL_DAMAGE -- - cAtk (сила крита)
Атака/защита шанс
EVASION_RATE --- rEvas (шанс на уворот)
SHIELD_RATE -- - rShld (шанс блока щитом)
CRITICAL_RATE -- - rCrit (шанс физ крита)
MCRITICAL_RATE --- mCritRate (шанс маг крита)
EXPSP_RATE --- rExp (экспа СП )
ATTACK_CANCEL - cancel (шанс канцела)
Меткость (точность) & Радиус
ACCURACY_COMBAT --- accCombat (меткость)
POWER_ATTACK_RANGE --- pAtkRange (дистанция физ атаки)
MAGIC_ATTACK_RANGE --- mAtkRange (дистанция маг атаки)
POWER_ATTACK_ANGLE --- pAtkAngle (угол атаки)
ATTACK_COUNT_MAX --- atkCountMax
Бег
RUN_SPEED --- runSpd (рейт на скорость бега)
Статы только для игроков(краски)
STAT_STR --- STR (влияет на физическую атаку и грузоподъемность)
STAT_CON --- CON (влияет на жизни и грузоподъемность)
STAT_DEX --- DEX (влияет на скорость физ атаки, меткость, крит и увертливость)
STAT_INT --- INT (влияет на скорость магической атаки)
STAT_WIT --- WIT (влияет на магическую атаку)
STAT_MEN --- MEN (влияет на манну и магическую защиту)
Special stats, share one slot in Calculator
stats of various abilities
BREATH --- breath
AGGRESSION aggression
BLEED --- bleed
POISON --- poison
STUN stun --- disable move/ATTACK for a period of time
ROOT root --- disable movement, but not ATTACK
MOVEMENT --- movement slowdown movement, debuff
CONFUSION --- confusion mob changes target, opposite to aggression/hate
SLEEP sleep --- sleep (don't move/ATTACK) until attacked
Это степень подвержености различным атакам
Vulnerabilities [ resistance = 100*(1-vulnerability)]
AGGRESSION_VULN --- aggressionVuln
BLEED_VULN --- bleedVuln
POISON_VULN --- poisonVuln
STUN_VULN --- stunVuln
PARALYZE_VULN --- paralyzeVuln
ROOT_VULN --- rootVuln
SLEEP_VULN -- - sleepVuln
CONFUSION_VULN --- confusionVuln
MUTE_VULN -- - muteVuln
MOVEMENT_VULN --- movementVuln
FIRE_VULN --- fireVuln
WIND_VULN --- windVuln
WATER_VULN --- waterVuln
EARTH_VULN --- earthVuln
HOLY_VULN --- holyVuln
DARK_VULN --- darkVuln
CANCEL_VULN --- cancelVuln Resistance/Weakness for cancel type skills
Это статы для брони, степень их крепости / слабости к различным видам оружия
NONE_WPN_VULN --- WpnVuln
SWORD_WPN_VULN --- swordWpnVuln
BLUNT_WPN_VULN --- bluntWpnVuln
DAGGER_WPN_VULN --- daggerWpnVuln
BOW_WPN_VULN -- - bowWpnVuln
POLE_WPN_VULN --- poleWpnVuln
ETC_WPN_VULN --- etcWpnVuln
FIST_WPN_VULN --- fistWpnVuln
DUAL_WPN_VULN --- dualWpnVuln
DUALFIST_WPN_VULN --- dualFistWpnVuln
Поглощения и отражения ударов
REFLECT_DAMAGE_PERCENT --- reflectDam (отражение физ урона)
REFLECT_SKILL_MAGIC --- reflectSkillMagic (отражение маг урона)
REFLECT_SKILL_PHYSIC --- reflectSkillPhysic (отражает дебаф)
ABSORB_DAMAGE_PERCENT --- absorbDam (поглощает урон)
TRANSFER_DAMAGE_PERCENT --- transDam (отражает урон у суномеров)
Вес
MAX_LOAD --- maxLoad (лимит веса)
Это подверженность атакам различным типам монстров
PATK_PLANTS --- pAtk-plants
PATK_INSECTS --- pAtk-insects
PATK_ANIMALS --- pAtk-animals
PATK_MONSTERS --- pAtk-monsters
PATK_DRAGONS --- pAtk-dragons
PATK_UNDEAD --- pAtk-undead
PDEF_UNDEAD --- pDef-undead (защита от нежити)
Перезарядка скилла по-моему
ATK_REUSE --- atkReuse
Лимит веса для разных ячеек
INV_LIM --- inventoryLimit
WH_LIM --- whLimit
FREIGHT_LIM --- FreightLimit?
P_SELL_LIM --- PrivateSellLimit?
P_BUY_LIM --- PrivateBuyLimit?
REC_D_LIM --- DwarfRecipeLimit?
REC_C_LIM --- CommonRecipeLimit?
C4 Stats
MP_CONSUME_RATE --- MpConsumeRate
HP_CONSUME_RATE --- HpConsumeRate
MP_CONSUME --- MpConsume
SOULSHOT_COUNT --- soulShotCount
Обозначение (расчет) процентов в хмл (mul=1.4 (40%) )
2.0 +100%
1.90 +90%
1.80 +80%
1.70 +70%
1.60 +60%
1.50 +50%
1.40 +40%
1.30 +30%
1.20 +20%
1.10 +10%
1.0 0%
0.90 -10%
0.80 -20%
0.70 -30%
0.60 -40%
0.50 -50%
0.40 -60%
0.30 -70%
0.20 -80%
0.10 -90%
0.0 -100%
Список к чему применяется order
order
0x08 - to set
0x10 - to add/substract
0x20 - to multiply/divide
0x30 - for level bonus, etc.
0x40 - for masteries/buffs that ADD/SUBSTRACT
0x50 - for masteries/buffs that MULTIPLY/DIVIDE
0x60 - for sets, that apply after buffs
Расы ID's
Usage: <target race_id="Value"/> Race Type Value
UNDEAD = 0
MAGICCREATURE = 1
BEAST = 2
ANIMAL = 3
PLANT = 4
HUMANOID = 5
SPIRIT =6
ANGEL = 7
DEMON = 8
DRAGON = 9
GIANT = 10
BUG = 11
FAIRIE = 12
HUMAN = 13
ELVE = 14
DARKELVE = 15
ORC = 16
DWARVE = 17
OTHER = 18
NONLIVING = 19
SIEGEWEAPON = 20
DEFENDINGARMY = 21
MERCENARIE = 22
UNKNOWN = 23
KAMAEL = 24
NONE = 25
Природные и не очень элементы:)
Usage: <set name="element" val="Value"/>
ELEMENT_WIND --- 1 (ветер)
ELEMENT_FIRE --- 2 (огонь)
ELEMENT_WATER --- 3 (вода)
ELEMENT_EARTH --- 4 (земля)
ELEMENT_HOLY --- 5 (благословение, святой)
ELEMENT_DARK --- 6 (тьма)
Это для установления бонусов при ношении чего-то определенного или сета или грейда и тп
Пример <set name="condition" val="256"/> <add val=mdef val=5> даст бонус 5 мдефа тому кто с щитом
COND_RUNNING ---1
COND_WALKING ---2
COND_SIT --- 4
COND_BEHIND --- 8
COND_CRIT --- 16
COND_LOWHP ---32
COND_ROBES --- 64
COND_CHARGES ---128
COND_SHIELD ---256
COND_GRADEA --- 65536
COND_GRADEB --- 131072
COND_GRADEC --- 262144
COND_GRADED --- 524288
COND_GRADES --- 1048576
Это таргеты, на кого будет действовать определенный стат
<set name="target" val="Value"/> Target Values
TARGET_NONE
TARGET_SELF
TARGET_ONE
TARGET_PARTY
TARGET_ALLY
TARGET_CLAN
TARGET_PET
TARGET_AREA
TARGET_FRONT_AREA
TARGET_BEHIND_AREA
TARGET_AURA
TARGET_FRONT_AURA
TARGET_BEHIND_AURA
TARGET_CORPSE
TARGET_UNDEAD
TARGET_AREA_UNDEAD
TARGET_MULTIFACE
TARGET_CORPSE_ALLY
TARGET_CORPSE_CLAN
TARGET_CORPSE_PLAYER
TARGET_CORPSE_PET
TARGET_ITEM
TARGET_AREA_CORPSE_MOB
TARGET_CORPSE_MOB
TARGET_UNLOCKABLE
TARGET_HOLY
TARGET_PARTY_MEMBER
TARGET_ENEMY_SUMMON
TARGET_OWNER_PET
Типы скилла
(from L2Skill.java)
// Damage
PDAM
MDAM
MANADAM
DOT
MDOT
DRAIN_SOUL
DRAIN - (L2SkillDrain.class)
DEATHLINK
// Disablers
BLEED
POISON
STUN
ROOT
CONFUSION
FEAR
SLEEP
CONFUSE_MOB_ONLY
MUTE
PARALYZE
WEAKNESS
// hp, mp, cp
HEAL
HOT
BALANCE_LIFE
HEAL_PERCENT
COMBATPOINTHEAL
CPHOT
MANAHEAL
MANA_BY_LEVEL
MANAHEAL_PERCENT
MANARECHARGE
MPHOT
// Aggro
AGGDAMAGE
AGGREDUCE
AGGREMOVE
AGGREDUCE_CHAR
AGGDEBUFF
// Fishing
FISHING
PUMPING
REELING
// MISC
UNLOCK
ENCHANT_ARMOR
ENCHANT_WEAPON
SOULSHOT
SPIRITSHOT
SIEGEFLAG
TAKECASTLE
WEAPON_SA
// Creation
COMMON_CRAFT
DWARVEN_CRAFT
CREATE_ITEM - (L2SkillCreateItem.class)
SUMMON_TREASURE_KEY
// Summons
SUMMON - (L2SkillSummon.class)
FEED_PET
DEATHLINK_PET
STRSIEGEASSAULT
ERASE
BETRAY
// Cancel
CANCEL
MAGE_BANE
WARRIOR_BANE
NEGATE
BUFF
DEBUFF
PASSIVE
CONT
RESURRECT
CHARGE - (L2SkillCharge.class)
MHOT
CHARGEDAM - (L2SkillChargeDmg.class)
DETECT_WEAKNESS
LUCK
RECALL
SUMMON_FRIEND
REFLECT
SPOIL
SWEEP
FAKE_DEATH
UNBLEED
UNPOISON
UNDEAD_DEFENSE
SEED - (L2SkillSeed.class)
Credit: taken from L2J Core files
Перевод частично: Sefi
ИСТОЧНИК
Для начала все файлы статов лежат в папке “gameserver\data\stats”
Я возьму вещь с ID 7812
Код:
<item id='7812' name="soulfire_dirk_magic_silence"> <for>
<set val='86' order='0x08' stat='pAtk'/>
<set val='91' order='0x08' stat='mAtk'/>
<set val='12' order='0x08' stat='rCrit'/>
<add val='-3' order='0x10' stat='accCombat'/>
<set val='433' order='0x08' stat='pAtkSpd'/>
<enchant val='0' order='0x0C' stat='pAtk'/>
<enchant val='0' order='0x0C' stat='mAtk'/>
<!-- SA: Silence -->
<skill onCast='1' id='1064' lvl='1' chance='10'/>
</for> </item>
Эти параметры лучше не трогать, они отвечают за заточку, можно перемудрить:
Код:
<enchant val='0' order='0x0C' stat='pAtk'/>
<enchant val='0' order='0x0C' stat='mAtk'/>
Этот параметр отвечает за скилл СА при исаользование оружия, то есть когда используешь это оружие автоматом срабатывает скилл с ID 1064
Код:
<!-- SA: Silence -->
<skill onCast='1' id='1064' lvl='1' chance='10'/>
Рассмотрим что здесь что:
Код:
Все параметры оружия (ID, названия, параметры, Параметры СА указываются между тегами <item=….>тут всё вышесказанное</item>)
Сами статы (прибавление, уменьшение находятся между <for>вот тут</for>)
Название оружия.
Код:
soulfire_dirk – это название оружия.
magic_silence – это SA который вставлен в оружие
Мы можем умножать атаку и прибавлять.
Код:
Add – добавляем
Mul – умножаем
Например:
Если хочу добавить +100 к П. атаке то это будет выглядеть так:
Код:
<add order="0x30" stat="pAtk" val="x"/> где х – будет число прибавляемое, то есть в моём случае 100.
Если хотим умножить то добавляем строчку
Код:
<mul order="0x30" stat="pAtk" val="x"/> где х - % тоесть если мы хотим добавить 10% к пАтаке то будет всесто х 1.1
Вот некоторые расшифровки:
Код:
pAtk - П атака
pDef - П деф
pAtkSpd - Атак спид
rCrit - Шанс крита
maxHp - Максимальное количество НР
maxMp - Максимальное количество МР
mAtkSpd - Кастинг спид
mDef - М деф
runSpd - Скорость бега
mAtk - М атака
absorbDam - Отражение урона(шиты)
cAtk - Мощность Критического удара
Вот ещё статы:
Код:
<mul order="0x30" stat="mAtk" val="1.40"/> <!-- M atk +40% -->
<mul order="0x30" stat="pDef" val="1.40"/> <!-- P. Def. +40% -->
<mul order="0x30" stat="mDef" val="1.40"/> <!-- M. Def. +40% -->
<mul order="0x30" stat="mAtkSpd" val="1.40"/> <!-- Casting Spd. +40% -->
<mul order="0x30" stat="mCritRate" val="3.00"/> <!-- Magic Crit. Rate +300% -->
<mul order="0x30" stat="gainHp" val="1.20"/> <!-- Heal +20% -->
<mul order="0x30" stat="rShld" val="1.60"/> <!-- Shield Defense +60% -->
<mul order="0x30" stat="regMp" val="2.00"/> <!-- MP Regeneration +200% -->
<mul order="0x30" stat="regHp" val="2.00"/> <!-- HP Regeneration +200% -->
<mul order="0x30" stat="regCp" val="2.00"/> <!-- CP Regeneration +200% -->
<add order="0x40" stat="runSpd" val="50"/> <!-- Speed +50 -->
<add order="0x40" stat="rEvas" val="10"/> <!-- Evasion +10 -->
<add order="0x40" stat="accCombat" val="10"/> <!-- Accuracy +10 -->
<add order="0x40" stat="reflectDam" val="30"/> <!-- Reflect damage by enemy +30% -->
<add order="0x40" stat="maxMp" val="10000"/> <!-- Max MP +10000 -->
<add order="0x40" stat="maxHp" val="10000"/> <!-- Max HP +10000 -->
<add order="0x40" stat="maxCp" val="10000"/> <!-- Max CP +10000 -->
<add order="0x40" stat="WIT" val="7"/> <!-- WIT +7 -->
<add order="0x40" stat="CON" val="7"/> <!-- CON +7 -->
<add order="0x40" stat="STR" val="7"/> <!-- STR +7 -->
<add order="0x40" stat="MEN" val="7"/> <!-- MEN +7 -->
<add order="0x40" stat="INT" val="7"/> <!-- INT +7 -->
<add order="0x40" stat="DEX" val="7"/> <!-- DEX +7 -->
<add order="0x40" stat="rootRes" val="200"/> <!-- Root Resistance +200% -->
<add order="0x40" stat="earthRes" val="200"/> <!-- Earth Resistance +200% -->
<add order="0x40" stat="derangementRes" val="200"/> <!-- Mental Reistance +200% -->
<add order="0x40" stat="fireRes" val="200"/> <!-- Fire Resistance +200% -->
<add order="0x40" stat="paralyzeRes" val="200"/> <!-- Paralysis Resistance +200% -->
<add order="0x40" stat="sleepRes" val="200"/> <!-- Sleep Resistance +200% -->
<add order="0x40" stat="rootRes" val="200"/> <!-- Hold Resistance +200% -->
<add order="0x40" stat="poisonRes" val="200"/> <!-- Poision Resistance +200% -->
<add order="0x40" stat="stunRes" val="200"/> <!-- Stun Resistance +200% -->
<add order="0x40" stat="bleedRes" val="200"/> <!-- Bleed Resistance +200% -->
<add order="0x40" stat="maxLoad" val="99999"/> <!-- Point at which a weight penalty is applied +99999 -->
<add order="0x40" stat="cancel" val="300"/> <!-- Small decrease in chance of spell interruption - TO CHECK -->
Значит теперь создаём статы сетам брони:
Данный пример писался с нуля:
Скрытый текст требуется (1 сообщение(ий), сейчас у вас 1):
Я возьму за пример Сет династи аромора:
Код:
<skill id="9052" levels="1" name="Dynasty Heavy Set">
<!-- Done by Inferiun -->
<set name="power" val="0.0"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_PASSIVE"/>
<set name="castRange" val="-1"/>
<set name="effectRange" val="-1"/> <for>
<add val='20' order='0x40' stat='darkRes'/> <!-- Dark resistence -->
<add order="0x40" stat="maxHp" val="393"/> <!-- hp +393 -->
<mul order="0x30" stat="pDef" val="1.0524"/> <!-- P. Def. +5.24% -->
<add order="0x40" stat="STR" val="1"/> <!-- STR +1 -->
<sub order="0x40" stat="DEX" val="1"/> <!-- DEX -1 --> </for>
</skill>
Статы сетов добавляем в skills
Статы пишутся по прежнему между
Код:
<for>
и
</for>
Это параметры действия скилла, он прописывается в пасивки, применяется только на себя.
Код:
<set name="power" val="0.0"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_PASSIVE"/>
<set name="castRange" val="-1"/>
<set name="effectRange" val="-1"/>
А это общие статы сета: сила атаки, скорость и т.д.:
Код:
<add val='20' order='0x40' stat='darkRes'/> <!-- Dark resistence -->
<add order="0x40" stat="maxHp" val="393"/> <!-- hp +393 -->
<mul order="0x30" stat="pDef" val="1.0524"/> <!-- P. Def. +5.24% -->
<add order="0x40" stat="STR" val="1"/> <!-- STR +1 -->
<sub order="0x40" stat="DEX" val="1"/> <!-- DEX -1 -->
Чтобы сет работал нам нужно его создать в базе, для этого пишем запрос в бд:
Код:
INSERT INTO armorsets VALUES
(54, 9432, 9437, 9438, 9439, 9440, 9052, 0, 0, 0);
Разберёмся что здесь что!
Код:
54 - ID сета
9432 - ид Тела
9437 - ид Штанов
9438 - ид шлема
9439 - ид Перчей
9440 - Ид Сапог
9052 - ИД скилла со статами.
0 - если в сет входит щит, то это его ид, если нет, то ставим 0
0 - если в сет входит щит, то тут скилл который использует щит
0 - сам не до конца понял, но этот столюик вроде отвечает за скилл после заточки на 6, тоесть если сет заточить на 7 то к нему будт преминятся другие статы.
Начну
с того, что же такое XML? Это текстовый формат, предназначенный для
хранения структурированных данных, для обмена информацией между
программами, а также для создания на его основе более
специализированных языков разметки (например, XHTML), иногда называемых
словарями.
Первая строка XML-документа называется объявлением XML —
это необязательная строка, указывающая версию стандарта XML (обычно это
1.0), также здесь может быть указана кодировка символов и внешние
зависимости.
<?xml version="1.0" encoding="UTF-8"?>
Спецификация
требует, чтобы процессоры XML обязательно поддерживали Юникод-кодировки
UTF-8 и UTF-16. Признаются допустимыми, поддерживаются и широко
используются и другие кодировки.
Так же в XML есть возможность
добавления комментария. Комментарий может быть размещен в любом месте
дерева. XML комментарии размещаются внутри пары тегов <!-- и -->.
Два знака дефис (--) не могут быть применены ни в какой части внутри
комментария. Вот пример комментария:
<!-- Текст -->
Но
мы не будем углубляться во все особенности XML, нас интересует только
часть, которая касается Lineage 2 :) XML в сервере Lineage применяется
для описания статов оружия, брони, скилов и т.д. Для оружия это
например параметры физ. и маг. атаки, для брони - защиты, для скилов -
продолжительность действия, сила, эффект и т.д. А например в файле
"servername.xml" хранятся имена серверов по умолчанию. Эти имена могут
быть легко изменены. Но помимо изменений на серверной части необходимы
и изменения со стороны клиента (со стороны клиента необходимо изменить
файл "servername-e.dat". Изменяться *.dat файлы клиента могут с помощью
специальных программ - L2Dat_EncDec и L2 FileEdit. В следующей части я
научу вас изменять статы вещей.
Часть 2.Изменение статов вещей.
Возьмем итем Shirt. Это неприметная НГ шмотка. На ее примере я поясню что, где и когда. Вот фрагмент XML кода
<item id='21' name="Shirt">
<for>
<add val='36' order='0x10' stat='pDef'/>
</for>
</item>
Для измения ее статов тут нам нужна только одна строчка:
<add val='36' order='0x10' stat='pDef'/>
Что это все значит:
<add val="значение" order="место в формуле" stat="что собственно прибавлять, в нашем случае физ. защиту" />
Тег <add />означает прибавление и является переменной. На его месте могут так же быть, например, <sub />, <set />, <mul />, <enchant /> . И так. Что же означают эти значения?
Code:
1. <add /> - прибавление статов. То есть если вы оденете вещь, ваши статы увеличатся. Значение order будет 0x10.
<add val='100' order="0x10" stat='pDef'/>
Данный код значит что при одевании вещи вам прибавится 100 единиц стата (в данном случае P. Def).
2. <sub /> - вычитание статов. То есть если вы оденете вещь, ваши статы уменьшатся. order так же - 0x10.
<sub val='100' order="0x10" stat='mDef'/>
Данный код значит что при одевании вещи у вас отнимется 100 единиц стата (в данном случае M. Def).
3. <set /> - назначает вам строгое значение стата. То есть если вы оденете вещь со значением 20, то тот стат, но который это значение влияет будет равен 20. Order 0x08.
<set val='100' order="0x08" stat='pDef'/>
Данный код значит что при одевании вещи у вас станет 100 единиц стата (в данном случае P. Def).
4. <mul /> - умножение статов. То есть если вы оденете вещь, ваши статы умножатся. Order 0x30.
<mul val='100' order="0x10" stat='mDef'/>
Данный код значит что при одевании вещи значение стата умножится на 100 (в данном случае M. Def).
5. <enchant /> - показывает, на сколько увеличится стат при заточке еще на +1. Order 0x0C.
<enchant val='100' order="0x0C" stat='pDef'/>
Данный код значит что при заточке вещи еще на 1 ваши статы (в данном случае P. Def) увеличатся на 100.
Ниже приведена таблица значений "order":
0x08 - set
0x10 - add/sub (оружие, броня, бижутерия) и (STR, CON, DEX, INT, WIT ,MEN)
0x20 - не нужно
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))
0x50,0x60 - не нужно
0x0C - enchant
Часть 3. Изменение скилов
Самая большая часть моей статьи :) Начну со значений, ибо вы должны знать что изменяете.
Изменение максимального количества HP - maxHp
Изменение максимального количества CP - maxCp
Изменение максимального количества MP - maxMp
Регенерация НР - regHp
Регенерация СР - regCp
Регенерация МР - regMp
Эффективность хила - gainHp
Умение хила - giveHp
Бонус хила - bonusHp
Физическая защита - pDef
Магическая защита - mDef
Физическая атака - pAtk
Магическая атака - mAtk
Скорость физической атаки - pAtkSpd
Скорость магической атаки - mAtkSpd
Скорость отката - mReuse
Защита щитом- sDef
Угол защиты щитом - shieldDefAngle
Критический удар - cAtk
Прибавка к критическому удару - cAtkAdd
Физ. урон в пвп (например для Duel Might) - pvpPhysDmg
Маг. урон - pvpMagicalDmg
Урон скилом - pvpPhysSkillsDmg
Уворот - rEvas
Уворот от скилов- pSkillEvas
Шанс блокировки щитом - rShld
Шанс крита - rCrit
Шанс Blow - blowRate
Шанс Lethal - lethalRate
Маг. крит. шанс - mCritRate (mCrit doesn't work!!)
EXP,SP шанс - rExp
Cancel - cancel
Точность - accCombat
Зона покрытия физ. атаки - pAtkRange (for fighters)
Зона покрытия маг. атаки- mAtkRange (for mages)
Угол атаки (только для воинов) - pAtkAngle
Количество атакуемых - atkCountMax
Откат физ. скилов - atkReuse
Скорость бега - runSpd
Скорость ходьбы - walkSpd
STR - STR
DEX - DEX
WIT - WIT
INT - INT
MEN - MEN
Уязвимости
Агрессия - aggressionVuln
Кровотечение - bleedVuln
Яд - poisonVuln
Стан - stunVuln
Парализация - paralyzeVuln
Удерживающие заклинания - rootVuln
Сон - sleepVuln
"Перекидывание" таргета -confusionVuln
Движение - movementVuln
Огонь - fireVuln
Ветер - windVuln
Вода - waterVuln
Земля - earthVuln
Святые атаки - holyVuln
Темные атаки - darkVuln
Резист к cancel - cancelVuln
Дебаффы - debuffVuln
Резист к криту - critVuln
Резисты простив оружия (тут думаю описание не нужно)
noneWpnVuln
swordWpnVuln
bluntWpnVuln
daggerWpnVuln
bowWpnVuln
crossbowWpnVuln
poleWpnVuln
etcWpnVuln
fistWpnVuln
dualWpnVuln
dualFistWpnVuln
bigSwordWpnVuln
Отражение
Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)
Процент рассеиваемого урона - absorbDam
Процент переносимого урона- transDam
Отражение маг. скилов - reflectSkillMagic
Отражение физ. скилов - reflectSkillPhysic
Другое (для примера):
Атака на гигантов - pAtk-giants
Защита на нежить - pDef-undead
Атака на животных - pAtk-animals
Защита на монстрах - pDef-monsters
Лимит инвентаря - inventoryLimit
Лимит ВХ - whLimit
Freight лимит - FreightLimit
Лимит продажи. - PrivateSellLimit
Лимит покупки - PrivateBuyLimit
Лимит гномьего крафта - DwarfRecipeLimit
Лимит common крафта - CommonRecipeLimit
Потребление МР физ. скилами - PhysicalMpConsumeRate
Потребление МР маг. скилами - MagicalMpConsumeRate
Потребление МР дансами - DanceMpConsumeRate
Потребление НР - HpConsumeRate
Потребление МР - MpConsume
Потребление соулшотов - soulShotCount
Skill Мastery - skillMastery
Время пребывания под водой - breath
Вроде
все:) Любой скилл начинается с открывающего тега и заканчивается
закрывающим тегом . В скилах есть 3 обязательных тега, без которых он
не будет работать - это target, skilltype и operatetype. Давайте
разберемся что это такое вообще:)
1. target - тег, который показывает на кого будет браться таргет, что видно из названия. Принимает следующие значения:
TARGET_SELF - обозначает, что скилл будет использоватся исключительно на его владельца (селф бафф типа Battle Roar или War Cry)
TARGET_NONE - цель неопределена
TARGET_ONE - обозначает, что цель вашего скилла - тот кто в таргете.
TARGET_AREA - обозначает, что скилл будет массовым
TARGET_AGGREMENT - обозначает, что целью будет тот, кто вас атакует
2. skilltype - тег, указывающий на тип скилла (бафф, дебафф)
Принимает следующие значения:
BUFF - бафф (оказывает положительное воздействие)
DEBUFF - дебафф (оказывает негативное воздействие)
3. operatetype - этот тег служит для определения типа скилла (активный либо пассивный)
OP_ACTIVE - активный скилл, может быть использован игроком
OP_PASSIVE - пассивный скилл, скилл с таким operateType не может быть использован (действует всегда)
Это были обязательные переменные, используемые в скилах. Теперь перейдем к остальным:
-power - сила скилла
-hitTime - скорость. Для баффа это скорость чтения заклинания, для физ. скилла - скорость атаки
-reuseDelay - откат скилла
-hpconsume , mpconsume - потребление МР, НР
-castRange - это дальность использования того или иного скилла (дистанция)
-isMagic,
isDebuff, isBuff - это наводящие теги, могут иметь значение "true" и
"false". К примеру, isBuff = true (это значит что скилл является баффом)
-effectRange - радиус действия (для массовых скиллов)
-agro - что такое агр, и что такое сила агра думаю объяснять не нужно.
Это основное что вам понадобится. Теперь расскажу вам о значении тега в скиллах.
Тег
в скиллах Lineage 2 встречается очень часто. Обычно данный тег
используется для "добавления сложных действий" к скиллу. Если скилл
имеет сложный вариант реализации то обычно в тег добавляют некоторые
отдельные значения, которые реализованы в ядре ява сервера Lineage.
Самый важный тег для использования здесь - это .
Приведем пример использования тега и тега :
<for>
<effect name="тип" val="значение" time="время действия" stackOrder="переменная" stackType="переменная ядра">
</effect>
</for>
</skill>
Что сие значит:
name - Это тип эффекта
val - Значение эффекта. Для дебаффов - шанс прохождения, для боевых скилов - сила.
time - время действия эффекта
StackOrder и stackType - это значения уже описаные в данном скиле. order и тип или же значения и переменные с ядра сервера.
Думаю со скиллами мы разобрались, теперь перейдем к зонам.
Часть 4. Для начала описания зон используется тег .
<zone id="ID зоны" type="тип" shape="вид" minZ="минимальная Z координата" maxZ="максимальная Z координата">
<!--Комментарий-->
</zone>
Пройдемся по значениям:
id - идентификатор зоны.
type - тип зоны (town, arena, jailzone). Например:
Town - мирная зона (город)
Arena - боевая зона (PVP)
JailZone - зона. Просто зона (извините за аллегорию:) ). По другому - тюрьма. В ней запрещены разговор и телепорт.
shape - это форма или вид зоны. Может быть двух типов :
-nPoly
-Cupoid.
minZ - это минимально допустимая координата высоты (z) в данной зоне .
maxZ - это максимально допустимая координата высоты (z) в зоне.
minZ и maxZ используются для избежания прохождения через текстуры, провалов под них и т.д.
Зоне можно задать имя:
Так же внутри тегов используется описание точек "респавна" чара в них.
Приведем пример :
<stat name="spawnX" val="X координата"/>
<stat name="spawnY" val="Y координата"/>
<stat name="spawnZ" val="Z координата"/>
Эти координаты показывают где будет спауниться игрок находящийся в зоне.
КЛАЦАЕМ СПАСИБКИ






