Jump to content

[Guide] XML In Lineage2


Recommended Posts

Part 1. Introduction:

 

Let's begin with what such XML? It is the text format intended for storage of the structured data, for information interchange between programs, and also for creation on its basis of more specialised languages of a marking (for example, XHTML), sometimes named dictionaries.

The first line of the XML-document is called as announcement XML is the unessential line specifying the version of standard XML (usually it is 1.0 => the Example:), also the coding of symbols and external dependences here can be specified. An example: UTF-8 "standalone ="yes"?>

The specification demands, that processors XML necessarily supported Junikod-codings UTF-8 and UTF-16. Admit admissible, are supported and other codings are widely used also.

As in XML there is a possibility of addition of the comment. The comment can be placed in any place of a tree. XML comments take places in pair tags. Two signs a hyphen (-) the Example: <! Is a comment-> cannot be applied in any part in the comment.

 

But we will not go deep into all features XML, us the part which concerns Lineage 2 XML in server Lineage 2 interests only it is applied to the description the stats of weapon, the reservation, skills etc. For the weapon for example parametres phys. And the magician. Attacks, for the reservation - protection, for skills - duration of action, force, effect etc. And for example "servername.xml" are stored in a file names of servers by default. These names can be easily changed. But besides changes on a server part changes from outside the client are necessary also (from outside the client it is necessary to change a file "servername-e.dat". Change *.dat files of the client can by means of special programs - L2Dat_EncDec and L2 FileEdit. In the following part I will learn you to change stat of items.

 

Part 2. Change Items stats.

All XML files with stats, skills are , in serverpacks of Lineage 2, here: \gameserver\data\stats

 

For a bright example we take Item  Shirt (Is on such way: gameserver\data\stats\armor\0000-0099.xml). It is imperceptible NG a item of world Lineage 2. On its example I will explain that, where and when it is necessary to change. Here fragment XML of a code:

<item id = ' 21 ' name = "shirt">

 

<for>

<cond><player race="Human"/></cond>

<add stat='pDef' order='0x10' val='36'>

<target kind="skeleton">

</add>

</for>

</item>

 

The first line is necessary only for language XML, pass it.

 

The second line specifies ID things and its name (they should coincide with same in a DB).

 

Then there are some conditions (condition) for acceptance by a thing of changes for stats (when the weapon is dressed or removed).

Such conditions there can be from a zero, one, two, or more. The condition is concluded in a tag <for>.

 

The condition tag consists of the condition which it is necessary to check up on the player and effect on stats of the player. In  an example a condition effect addition is race Human (if not Human - the effect does not join). The condition is concluded in a tag <cond>, and it is not obligatory. If conditions are not specified - all players (which dress this reservation \weapon) will gain effect from it.

 

The effect is an addition or multiplication stats of the player on the set quantity. In an example stat ' pDef ' (power defence) and its value 36. It means that to power defence the player value 36 will be added. I will describe ' order ' more low.

 

In the end, even if function it is connected to the player, it is necessary that there was a condition when it will work. In our example the condition is that: pDef it will be increased only when the purpose of the player - attack skeleton.

 

And again: there can be a set of conditions <for>, they can have a condition attached to the player <cond>, and each of them can influence on one or the several stat of the player (<add>, <sub>, <mul>, <div>), and every stat will be added only in that case when the condition will be executed.

 

Certainly, all it is not obligatory. For the majority of subjects of the reservation and the weapon you will have something idle time similar to it:

Code:

 

<item id = ' 21 ' name = "shirt">

<for>

<add stat ='pDef ' order = ' 0x10 ' val = ' 36 '/>

</for>

</item>

That only adds 36 points to power defence for each player which will dress her, without any conditions.

 

Tag <add/> means addition and is a variable. On its place can as to be, for example, <sub/>, <set/>, <mul/>, <enchant/>

 

And so. What mean these values?

 

[color=black]<add/>[/color] – addition stats. That is if you dress a thing, your stats will increase. Value order will be 0×10. <add val = ' 100 ′ order = »0×10 ″ stat ='pDef '/>

 

The given code means that at clothing of a item your stat will increase 100 (in this case  will increase p. Def).

 

2. [color=black]<sub/>[/color] – subtraction  of stats. That is if you dress a thing, your stat will decrease. order as – 0×10. <sub val = ' 100 ′ order = »0×10 ″ stat ='mDef '/>. 

The given code means that at clothing of a item 100 units will be taken away from your stat (in this case M. Def).

 

3. [color=black]<set/>[/color] – appoints to you strict value of stat. That is if you dress a thing with value 20 that stat but which this value influences will be equal 20. Order 0×08. <set val = ' 100 ′ order = »0×08 ″ stat ='pDef '/>.

The given code means that at clothing of a thing you have 100 units of stat (in this case P. Def)

 

4. <mul/> - multiplication of stats. That is if you dress a thing, your stat will be increased. Order 0x30.

 

<mul val = ' 100 ' order = "0x10" stat ='mDef '/>

 

The given code means that at clothing of a thing value of stat will be increased on 100 (in this case M. Def).

 

5. <enchant/> - shows, on how many will increase stat at enchant for +1. Order 0x0C.

 

<enchant val = ' 100 ' order = "0x0C" stat ='pDef '/>

 

The given code means that at thing sharpening on 1 your stat(in this case P. Def) will increase on 100.

 

The table of values "order" is more low resulted:

 

0x08 - set

0x10 - add/sub (the weapon, the reservation, costume jewellery) and (STR, CON, DEX, INT, WIT, MEN)

0x20 - it is not necessary

0x30 - mul/div (masteries, buffs, debuffs, SA (special possibilities of the weapon), reservation bonuses)

0x40 - add/sub (masteries, buffs, debuffs, SA (special possibilities of the weapon))

0x50,0x60 - it is not necessary

0x0C - enchant

 

0x08 - set

 

0x10 - add/sub (the weapon, the reservation, costume jewellery) and (STR, CON, DEX, INT, WIT, MEN)

 

0x20 - it is not necessary

 

0x30 - mul/div (masteries, buffs, debuffs, SA (special possibilities of the weapon), reservation bonuses)

 

0x40 - add/sub (masteries, buffs, debuffs, SA (special possibilities of the weapon))

 

0x50,0x60 - it is not necessary

 

0x0C - enchant

 

Part 3. Change skills:

 

The biggest part of my article :) I Will begin with values for you should know that change.

 

Change of maximum quantity HP - maxHp

Change of maximum quantity CP - maxCp

Change of maximum quantity MP - maxMp

Regeneration НР - regHp

Regeneration СР - regCp

Regeneration МР - regMp

Efficiency is sickly - gainHp

Ability it is sickly - giveHp

Bonus it is sickly - bonusHp

Physical protection - pDef

Magic protection - mDef

Physical attack - pAtk

Magic attack - mAtk

Speed of physical attack - pAtkSpd

Speed of magic attack - mAtkSpd

Speed of recoil - mReuse

Protection by a board - sDef

Corner of protection by a board - shieldDefAngle

Critical blow - cAtk

Increase to critical blow - cAtkAdd

Phys.loss in pvp (for example for Duel Might) - pvpPhysDmg

The magician. oss - pvpMagicalDmg

Loss with skill - pvpPhysSkillsDmg

Chance of blocking by a board - rShld

Chance crit - rCrit

Chance Blow - blowRate

Chance Lethal - lethalRate

The magician.crit. Chance - mCritRate (mCrit does not work!!)

EXP, SP chance - rExp

Cancel - cancel

Accuracy - accCombat

Cover zone Phys. Attacks - pAtkRange (for fighters)

Cover zone the magician. Attacks - mAtkRange (for mages)

Angle of attack (only for soldiers) - pAtkAngle

Quantity attacked - atkCountMax

Recoil Phys.skill - atkReuse

Speed of run - runSpd

Speed of walking - walkSpd

 

STR - STR

DEX - DEX

WIT - WIT

INT - INT

MEN - MEN

 

Vulnerability

 

Aggression - aggressionVuln

Bleeding - bleedVuln

Poison - poisonVuln

Stun - stunVuln

Paralyze - paralyzeVuln

Keeping spells - rootVuln

Dream - sleepVuln

Movement - movementVuln

Fire - fireVuln

Wind - windVuln

Water - waterVuln

The Earth - earthVuln

Sacred attacks - holyVuln

Dark attacks - darkVuln

Resist to cancel - cancelVuln

Debuff - debuffVuln

resist to crit - critVuln

 

Ressists against the weapon (here I think the description it is not necessary)

 

noneWpnVuln

swordWpnVuln

bluntWpnVuln

daggerWpnVuln

bowWpnVuln

crossbowWpnVuln

poleWpnVuln

etcWpnVuln

fistWpnVuln

dualWpnVuln

dualFistWpnVuln

bigSwordWpnVuln

 

Reflection

 

Percent of a reflected loss - reflectDam (pay attention! not reflectDmg!! reflectDam)

Percent of a disseminated loss - absorbDam

Percent of a transferable loss - transDam

Reflexion the magician. skills - reflectSkillMagic

Reflexion Phys. skills - reflectSkillPhysic

 

Another (for an example):

 

Attack to giants - pAtk-giants

Protection on to indulge - pDef-undead

Attack to animals - pAtk-animals

Protection on monsters - pDef-monsters

Stock limit - inventoryLimit

Limit ВХ - whLimit

Freight a limit - FreightLimit

Sale limit. - PrivateSellLimit

Consumption МР Phys. skills - PhysicalMpConsumeRate

Consumption МР the magician. skills - MagicalMpConsumeRate

Consumption МР Dance - DanceMpConsumeRate

Consumption НР - HpConsumeRate

Consumption МР - MpConsume

Consumption soulshots - soulShotCount

Skill Мastery - skillMastery

Stay time under water - breath

 

1. target - Tag which shows on whom will undertake target that is visible from the name. Accepts following values:

 

TARGET_SELF - Designates that skill use it will be exclusive on its owner (self buff  type Battle Roar or War Cry)

TARGET_NONE - The purpose not visible

TARGET_ONE - Designates that the purpose of your skills - that who is in target

TARGET_AREA - Designates that skill will be mass

TARGET_AGGREMENT - Designates that the purpose will be the one who attacks you

 

2. skilltype - Tag, specifying in type skill (Buff, Debuff)

Accepts following values:

BUFF -  (has positive influence)

DEBUFF -  (has negative influence)

 

3. operatetype - this Tag serves for type definition of skill (active or passive)

OP_ACTIVE - Active skill, can be used the player

OP_PASSIVE - Passive skill, skill with such operateType cannot be used (operates always)

 

It were the obligatory variables used in skills. Now we will pass to the rests:

 

power - skill force

-hitTime - speed. For buff it is speed of reading of a spell, for Phys. skill - speed of attack

-reuseDelay - recoil of skill

-hpconsume, mpconsume - consumption МР, НР

-castRange is a range of this or that use skill (distance)

-isMagic,

isDebuff, isBuff are directing tags, can matter "true" and"false". For example, isBuff = true (it means that skill is buff type)

-effectRange - action radius (for mass skill)

Now I will tell to you about value tag in skills.

 

Tag

In skills  Lineage 2 meets very often. Usually given tag

It is used for "addition of difficult actions" to skill. If skill

Has a difficult variant of realisation that usually in Tag add some

Separate values which are realised in a  java server Lineage.

The most important tag for use here is.

Let's give an example uses tag:

<for>

<effect name="Type" val="value" time="Time of action" stackOrder="variable" stackType="variable">

</effect>

</for>

</skill>

 

That this means:

 

name is a type of effect

val - Value of effect. For debuff - chance of passage, for fighting skills - force.

time - time of action of effect

StackOrder and stackType are values already explaned in given skill. order both type or values.

 

I think with skills we have understood, now we will pass to zones.

 

Part 4. Zones

 

<zone id = "ID zones" type = "type" shape = "kind" minZ = "minimum Z co-ordinate" maxZ = "maximum Z co-ordinate">

 

<! - the comment->

 

</zone>

 

Let's pass on values:

 

id - the zone identifier.

type - zone type (town, arena, jailzone). For example:

Town - a peace zone (city)

Arena - a fighting zone (PVP)

JailZone - a zone. Simply zone (excuse for allegory:)). On another - prison. In it conversation and a teleport are forbidden.

shape is a form or a zone kind. Can be two types:

-nPoly

-Cupoid.

minZ is is minimum admissible co-ordinate of height (z) in the given zone.

maxZ is as much as possible admissible co-ordinate of height (z) in a zone.

minZ and maxZ are used for passage avoidance through structures, failures under them etc.

The zone can set a name:

 

As inside tags the description of points "respawn" of character  in them is used.

Let's give an example: Look a file zone.xml in the serverpack, for an example.

 

<stat name = "spawnX" val = "X co-ordinate"/>

<stat name = "spawnY" val = "Y co-ordinate"/>

<stat name = "spawnZ" val = "Z co-ordinate"/>

 

These co-ordinates show where there will be respawnd a player being in a zone.

 

I Hope I have helped U A little with It And Sorry For My English...

 

Credits: worldonline

Link to comment
Share on other sites

  • Vision locked this topic
Guest
This topic is now closed to further replies.


×
×
  • Create New...