Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон
) v$ @( p# d# L+ j. J# W, q
% b5 w$ m2 d8 Q7 E; }Часть 1. Введение
: p0 x3 u- l$ q0 b2 B9 l' f ~7 N5 P1 q* `: _% H2 h
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.
) s* E5 I1 J/ V- CПервая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.8 n% u* I: ?2 }1 y) N$ c
& r, x7 }% o: k0 ~: jСпецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.9 Q" W6 m9 e2 {& e
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:
4 k. i; W/ r Z( _2 D% v$ ?4 U9 E' A* B
<!-- Текст -->8 G3 |7 ]+ A( Z' h% |' x
+ C' n; h) H# i. q1 y( jНо я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.
. T/ a" ^6 n4 P9 x9 K6 N4 B) z- `& k3 \; O4 \
Часть 2.Изменение статов вещей.' J9 e3 q7 d$ \+ Y( w% e( B
K# B" l% G7 x/ X1 U: x6 S
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
3 |# d! h* D9 v' R7 ?) M. V8 m$ `
0 G8 m7 q+ K5 ^/ f% \Для измения ее статов тогда нам нужна лишь одна строчка:4 o+ \; Y: [4 i2 {( n' y0 \
1 |3 O/ K+ b# X& o
Что это безвыездно значит:$ o, W h7 e' Z& x5 }* x( k
7 L' x( K! ^. L* W; r8 `$ LТег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?
, L; |- H& c6 }6 C! X9 z0 O1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
) `7 Z2 \; D) {0 F# f
( D5 v4 c' y7 p7 s/ [# d<add val='100' order="0x10" stat='pDef'/>
. X& J4 |$ D, d% j' {9 I6 x( Z p/ Z5 }0 W
Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).( Z' q4 M: X5 C0 J
+ D8 V; V- N; u
2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.6 y4 x/ w6 B( F/ n% j
) Z# U: i9 ?+ F: ?* X& r
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).( w' c* Y4 Q8 i6 k
- c" `- S' m/ p5 q' X! ?, L* l
" {1 _% E7 f% | q* B' `6 z g* m3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.! e; P- _, N2 A6 ~
* o5 q% A- A' j3 Q+ z5 ~! ?4 u3 m1 yДанный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).( C) T# \% w0 k @0 K6 j
1 o: R, s; o4 S0 B7 _! ~( m/ S4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.
4 ?) Q7 v* }0 |% }
" E- H7 }. r V4 S& J* N7 m4 ^Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).2 i( A2 U# {& v" L6 k
5 ]9 F+ w+ n) D% Q/ b
5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.
' C* K' d) _# K* s2 z' D1 L" O
' @& ~+ d( u4 ?9 t: o! M! JДанный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.+ B8 X# F" ?! f% z* V/ H
Ниже приведена список значений "order":
2 a; h5 ]0 d8 P+ [' G
8 @3 K7 C, ~8 R" c, ~6 I* l0x08 - set
p b0 s6 `( @6 M- _0 l0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)
: T- @' B% j* ?% C0x20 - отнюдь не нужно
% z/ U/ h: z9 b; L0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
" P& F$ l: q$ l& m. e: L0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))( j6 ^' I2 F" b( q
0x50,0x60 - никак не нужно
& Y% H, w7 k5 {# Q0 j0x0C - enchant a" G' g% j+ S
* x! }. o! u$ n& J4 MЧасть 3. перемена скилов3 H6 `' Y+ N" J0 k% b5 f( P4 ?+ `
, w% ~4 N1 Z- I* C3 o- F3 s
Самая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.
2 i2 }. W# i: r' k
+ u- F1 b- n/ c& |& I- U9 f# f1 wИзменение максимального количества HP - maxHp4 B1 ]( X; ?% {4 L0 l
Изменение максимального количества CP - maxCp
2 S. z. f$ A2 h6 J' E9 _Изменение максимального количества MP - maxMp
! j: M, k+ ?+ R3 o2 W" nРегенерация НР - regHp
/ W# M2 \" R L, a% g% A$ Q$ j( VРегенерация СР - regCp
$ G7 V- O+ u( ?3 s! S0 S9 FРегенерация МР - regMp
5 t H' v3 f2 h( u0 x/ A$ wЭффективность хила - gainHp
: [( z* e5 m& l: Q: i, UУмение хила - giveHp
$ g) P2 ^+ D$ R" M E9 z/ XБонус хила - bonusHp- x- Q) R c# R2 N8 F( G
Физическая опора - pDef& w1 P3 |& N# K7 \5 H
Магическая столп - mDef
# q9 ?7 G v5 _! O S3 jФизическая набег - pAtk2 L Q$ ?# V4 t* C( T
Магическая набег - mAtk
) a1 Y6 z4 e6 P: {# ]. FСкорость физической атаки - pAtkSpd
7 ?# T- C1 {/ F. cСкорость магической атаки - mAtkSpd
0 d$ m2 @& |. @+ H7 o( q- KСкорость отката - mReuse
/ d! T2 a7 p! P, BЗащита щитом- sDef. N# j/ a2 a; |4 ^) P# v
Угол защиты щитом - shieldDefAngle
, W" z# X# Q, f4 z, ^Критический пощечина - cAtk
9 G9 ? d1 @$ w8 a' [Прибавка для критическому удару - cAtkAdd
% z; H5 @. v) L0 B0 ^Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg
% Y1 B; |3 s0 |Маг. урон - pvpMagicalDmg
) G/ z N# y/ n; k* K' R& ]# ZУрон скилом - pvpPhysSkillsDmg% w8 d& V3 x: _# U
Уворот - rEvas* L9 L) F9 e: Z$ d/ o, c$ ]; W1 @
Уворот через скилов- pSkillEvas4 S* ]: \ ]) |: j
Шанс блокировки щитом - rShld
0 D' A* q; Z! EШанс крита - rCrit" |0 B1 a- Z. {1 y- R
Шанс Blow - blowRate
$ [# T" S* t9 W1 y. H/ wШанс Lethal - lethalRate/ [) h" r8 R2 D2 ^9 W
Маг. крит. надежда - mCritRate (mCrit doesn't work!!)
1 e) H1 ?) s( s' n- eEXP,SP надежда - rExp( R% V+ p$ f$ s3 {# X: j
Cancel - cancel# B3 ?/ p( ^+ j9 j) y2 d
Точность - accCombat
) P3 P/ j. b# K% ]6 @Зона покрытия физ. атаки - pAtkRange (for fighters)8 D3 T# e. C! m& i; l
Зона покрытия маг. атаки- mAtkRange (for mages)
1 Q$ P$ K, y* iУгол атаки (только с целью воинов) - pAtkAngle/ r! Y0 R3 y5 O) G
Количество атакуемых - atkCountMax
- `3 [. }- c$ U, ^( H/ sОткат физ. скилов - atkReuse
& b6 w2 K. h5 v7 B+ I- J# D* A1 G: dСкорость бега - runSpd
$ G w, _! c4 j" ~3 s/ EСкорость ходьбы - walkSpd
" Z6 V5 [* H) ?0 v. |STR - STR
6 |2 C/ E9 a1 [) i) h& ?9 rDEX - DEX! U, _1 E9 I5 f/ [/ V. [
WIT - WIT/ Q& L% _: _ y1 ^4 ]
INT - INT
; S# C G i2 y; x/ J; \" e* OMEN - MEN8 O) M- v2 F4 U+ v2 y9 S: I2 ]
) ?: {, V& z q7 t! a0 A' iУязвимости
/ r, X( f' {% K( u. G& ^
7 _+ ?# b, r" |1 m% |Агрессия - aggressionVuln
5 ? E; n P+ w2 NКровотечение - bleedVuln. j0 x- J6 m# C* C: C
Яд - poisonVuln
- ]! f+ U+ v& x6 s8 @Стан - stunVuln
* [* ]3 O& V$ ]) xПарализация - paralyzeVuln$ J$ M9 A. l1 ~6 X( n m9 @
Удерживающие заклинания - rootVuln$ T% W- r4 a* V( u- D' v
Сон - sleepVuln
2 d7 o5 v! w% o+ O1 ?"Перекидывание" таргета -confusionVuln
; h, M0 A/ c1 H9 lДвижение - movementVuln: S T& J) E* S3 o
Огонь - fireVuln
c3 i& U% I% r+ Z0 d' ^Ветер - windVuln
( c X h$ N- a9 N' Q# P' x* n6 mВода - waterVuln/ ~7 p; }# ~( Y& E* {; L3 ^! Q
Земля - earthVuln
; |7 X2 z/ K; n% vСвятые атаки - holyVuln7 W5 k1 T2 y( L% p2 t z
Темные атаки - darkVuln
/ U' H( J" B% ` Z$ c y$ ?' uРезист для cancel - cancelVuln
3 p' a) O4 o) j1 ]2 k/ b) j) Y2 EДебаффы - debuffVuln* g3 _' v7 g! G
Резист для криту - critVuln" v7 L. L7 d4 I& T# j
! S7 ]$ c: F4 q* x7 o; L
Резисты простив оружия (тут думаю изображение никак не нужно)
?; r/ c+ D [. P3 A6 b: Z* b( `, R- i$ _+ `& e* R/ {2 r
noneWpnVuln- q7 M y: h+ D& |, s% L
swordWpnVuln) }7 [# J( z5 z/ Q
bluntWpnVuln& \# h' z& N& U1 Q
daggerWpnVuln
' b& Y1 I- g* t9 F: ]8 M9 RbowWpnVuln) P6 a$ B. M' S
crossbowWpnVuln
3 y$ F5 k; j, R4 t# I2 E' V9 e' fpoleWpnVuln5 t* z9 Y4 f8 |% V
etcWpnVuln
7 j. z% Y& y* e+ F1 f$ GfistWpnVuln, V2 W% |( {2 y, |; g4 u! a3 \
dualWpnVuln8 X& L. m. R, E! V
dualFistWpnVuln
k w; d: b: NbigSwordWpnVuln! @8 E+ U8 o7 ~8 t- K
3 ~ l9 n& t& S( \
Отражение
' I A" m, V) N% c7 F* a- e. C; I9 O; F+ w" E+ Z2 O
Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)
/ C8 g5 R4 p7 N6 r7 K" i* VПроцент рассеиваемого урона - absorbDam( d4 y3 [& { v& r
Процент переносимого урона- transDam
z6 {( Y* W- ?% Z8 m. R4 l% i+ wОтражение маг. скилов - reflectSkillMagic
% |' _ ?0 p. T7 X9 J' ^' a& XОтражение физ. скилов - reflectSkillPhysic" z5 l; y% j' L% t; C W
3 C( k N! s4 E% }2 m: Q+ R+ ^Другое (для примера):
' f- \9 J- C% T' I+ W) u. { C
& H* D* t9 |' R3 YАтака для гигантов - pAtk-giants
3 ]" |1 ?% H( [% ZЗащита для ласкать - pDef-undead
8 W3 n5 s7 G) a! bАтака в животных - pAtk-animals u1 c% L$ j" W
Защита для монстрах - pDef-monsters( @: [3 u: [+ y: q; S1 e D
Лимит инвентаря - inventoryLimit7 S/ O7 O2 f5 s1 o% M
Лимит ВХ - whLimit* n( U, @; ^# g1 e6 z0 N( f
Freight лимит - FreightLimit
8 C. s- G+ s; ]; v$ FЛимит продажи. - PrivateSellLimit- X' V" J. I d
Лимит покупки - PrivateBuyLimit8 W8 w! g0 p! s' O4 @* Z# K" i6 d
Лимит гномьего крафта - DwarfRecipeLimit
; u) a) |2 }- l* XЛимит common крафта - CommonRecipeLimit
6 K& v7 ?% e: n ~Потребление МР физ. скилами - PhysicalMpConsumeRate
; k0 o) g4 q+ f) gПотребление МР маг. скилами - MagicalMpConsumeRate
9 P! O9 A9 N3 BПотребление МР дансами - DanceMpConsumeRate3 b; V3 f& m# Q4 `2 y0 f, X
Потребление НР - HpConsumeRate6 B0 _" w# u$ f: N
Потребление МР - MpConsume
7 m3 T! l9 l8 X" \3 @" F7 OПотребление соулшотов - soulShotCount
( ?. E0 q4 K0 nSkill Мastery - skillMastery/ @2 M# ~9 l' p6 Q& O
Время пребывания около водой - breath0 I: s" {8 [& l6 a
+ C% I ^$ x/ S, @9 V+ I: DВроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще 8 l5 `$ Z! b8 o) {
4 k- X- c" G l; H! Y; w8 Y; `
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:
. n6 V% G: y0 x5 |3 m M0 T$ s' G8 K. @
TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)
" Y3 E5 X4 k! ]4 DTARGET_NONE - мишень неопределена- B% g' O. a# A6 X# e8 f
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.
. D! ]6 x. r, }+ M5 f: q* v$ nTARGET_AREA - обозначает, который скилл довольно массовым
, y- t8 i1 l( b5 BTARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
+ L; z% a8 Z4 `5 Q6 x3 A9 d9 d" K( O3 {* q+ _
2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)
0 q7 W. s8 L% B0 Q8 c, d7 _* \Принимает следующие значения:" z* y3 q- G* K
BUFF - бафф (оказывает положительное воздействие)
) E; a( c$ ?* M8 m9 n2 o* NDEBUFF - дебафф (оказывает негативное воздействие)5 M d8 g: o8 z" H7 ]% e
0 {3 u) |2 z& p3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)4 s$ H' k) `9 b. c
OP_ACTIVE - активный скилл, может являться использован игроком
7 Q+ V+ }) b9 R' _& g" z" eOP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)
- j' _1 {% Z5 \1 k) O' NЭто были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:6 b( p. w3 y1 r
-power - значение скилла9 S# i; \* M( w7 i% E
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки
0 v8 t: l! } X1 C" `-reuseDelay - откат скилла
+ C& ^) `- S' c% l5 ?-hpconsume , mpconsume - потребление МР, НР
6 P! Q2 K" ~. D5 a-castRange - это дальность использования того иначе иного скилла (дистанция)
4 o2 S! c) }, O( `5 b& ~% p( r6 v-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)6 c/ o( h6 Q/ N/ F" Y
-effectRange - радиус действия (для массовых скиллов)
+ N9 p0 [ }" ?! M& f$ {5 K-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.8 d4 s& ?6 f% Y, H
Это основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.
, b% w8 w! C! C ~6 @& J: P; @+ JТег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .
1 |9 s% ~* x1 m, E3 lПриведем первообраз использования тега равным образом тега :2 _! N/ s; y k
4 Y0 [+ A. W- R: o! ^& s% D+ c2 }1 m) T
0 S6 t3 m$ L3 y* \
Что сие значит:' z2 d0 D9 }9 |; d2 E5 y/ @
3 s9 J# r8 G7 s Iname - Это характер эффекта
_5 e3 p. d( V) g5 H/ R6 x/ q! vval - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.1 \; t6 ^* F3 O* Z" H/ E) C
time - век действия эффекта
6 P' q4 e* h) e1 q" kStackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.
, V3 M- s! \0 a9 d6 J; Q2 X1 ?3 [2 T7 B8 M* b' \
Думаю со скиллами я разобрались, нынче перейдем для зонам.+ R* p, C3 |5 |1 m0 [
( j4 d# L A3 jЧасть 4. чтобы начала описания зон используется тег .
# I6 N% y: c5 q- ]
3 J: N% Q, o) p2 ~8 b% e* I
?8 h+ C ~7 z3 y: }<!--Комментарий-->- Q$ U5 @7 j$ n( z
) t* w1 d) @5 J$ C# b/ O- yПройдемся за значениям:; v p, `7 G6 \# [1 a! }9 C9 M
/ y1 `. e" N" C1 _* ^id - идентификатор зоны.- W7 N* G$ u8 t: f
type - образец зоны (town, arena, jailzone). Например:
% P8 i2 F0 e$ M% ]( WTown - мирная зона (город)5 c t0 t" v: J5 v
Arena - боевая зона (PVP)
! ~& B6 t, c& N/ A% CJailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.4 x \ r1 x R
shape - это платье разве подобие зоны. Может водиться двух типов :
# l- p! K0 o0 v8 _4 |, S-nPoly
: R5 h2 X1 m: k% g' `-Cupoid.
* Q# q1 X& S6 JminZ - это минимально допустимая координата гора (z) на данной зоне .
2 p5 O+ `/ x- N" k7 X6 x" ^6 v _maxZ - это максимально допустимая координата гора (z) на зоне., i$ L3 I( t0 ?9 f
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.9 m) c o- w k' v8 P; d
|