Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон) {% x$ k# K' Q0 e4 h0 L* e
' E- x8 k h* y R* F" \Часть 1. Введение8 U9 C3 {# b7 `4 O
7 i0 ~1 a h: E
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.
' M' j4 Y3 y; X# {) C1 D ]4 B/ aПервая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
8 U- s% h' l# d" W8 ?1 _$ d8 K
/ P8 f' g; G$ f2 _1 B9 f, H" eСпецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.( g7 {# H, [1 }' l
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:0 V: H* R: p3 n. l$ [# z
( i' x1 f E! L
<!-- Текст -->
8 }* V8 G0 F; x( O
# u8 d- F! W9 X4 sНо я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.$ N/ M: z) E- L$ `) x
4 v' P) m; t+ b/ [% ~$ G
Часть 2.Изменение статов вещей.1 a2 m3 U& E9 w
& ]* P; B' x t3 X6 ], W% P
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода) n5 \, ` j$ M& ]
4 u7 I- b5 g1 [- A( y
Для измения ее статов тогда нам нужна лишь одна строчка:
) h4 \, V4 S4 X$ n* c. `& n1 f* X
! y" }6 y. u& w/ dЧто это безвыездно значит:
3 s+ E* i5 _: n" O! P! n# B
) V) ~) i6 m, ]" p9 H; p5 XТег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?+ G( M$ j' J { m6 g. S
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
4 V% Z- W" z, Z* E0 U
% W `3 X' X: d' E2 A6 y<add val='100' order="0x10" stat='pDef'/>; t& F0 F! h/ O" n. o7 r
& w( O6 _9 V0 Y
Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).% a; K& r0 K1 Y2 D0 g9 q* P( ]
' _" w1 ]! z( P# R$ f
2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.( `. I; Z" C, h$ m6 ]. I+ b4 o5 w
& e) b q- p1 E% _$ `- [9 c
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).' D( N# H9 y3 [; a) L
; o/ b: A; n' Q2 L3 `
% `4 c/ D& z' s! N* H+ m
3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08." G* V( A2 O- r
6 ^: y6 s' a; U
Данный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
# h* ^. [& G9 D1 ~1 a- U
: x7 \+ O o4 h+ @4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.$ u; _1 n! g- y, f1 [+ i5 b
8 J6 d! H. D9 l) [' B0 B% Z- dДанный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).) M+ l F Z$ e5 `# m; z4 r; Y
8 k" w' k. I1 n3 F9 l% p2 J5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.( W" h6 S" y1 n) L# G' G u+ g
6 f/ N$ m% o& Y; Y1 L$ H- [Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.
6 {3 ^, I. \- O U: OНиже приведена список значений "order":. b4 I& T8 ]; X: r- ^
" O% m' C( a' O* w- [' W
0x08 - set8 _, W, c5 k5 J( K" s
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)# v. T- w0 X4 I, r, K. D( L
0x20 - отнюдь не нужно" {( N. G* G! @! D4 s1 T% M
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
2 }7 M/ R$ E# j" u2 `. t: H5 w0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия)): t' F+ ~2 X. s: A/ Y& t
0x50,0x60 - никак не нужно
. t* I! X S. K! Q5 Z2 t) R0x0C - enchant
% g) a+ R( e h$ b2 X/ d
: N+ F9 I) |3 |! T; D8 e4 b7 zЧасть 3. перемена скилов, ?+ j. R; |4 s/ |
$ z* I! M2 y5 S9 d& T
Самая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.6 w; k. W$ c. |. }2 H; J2 `5 S
$ o' a- I+ E$ r. n& ~' _
Изменение максимального количества HP - maxHp
$ p- }- h( Q# A4 i- p+ I# z. nИзменение максимального количества CP - maxCp
) f+ c/ u) D: _4 m( x8 ^Изменение максимального количества MP - maxMp
$ {8 K2 q m( | D& s. rРегенерация НР - regHp2 b1 C( G3 p$ L/ Z+ j
Регенерация СР - regCp
$ L& P; s& f) {3 NРегенерация МР - regMp1 V$ S# [1 k, H% T' `7 a
Эффективность хила - gainHp
9 X# \- }& q6 y% ?5 r$ yУмение хила - giveHp
" e0 g& j! E: V Q5 kБонус хила - bonusHp+ K' k2 Q2 u/ _4 g8 Z# t' T
Физическая опора - pDef
+ K: @. q, Y$ Y- Y$ HМагическая столп - mDef1 y% o* M5 |7 [% e: s
Физическая набег - pAtk
; x: R% A4 h" c- ^8 ?5 v' p- SМагическая набег - mAtk
# C( U% F0 T9 Z- D8 \Скорость физической атаки - pAtkSpd
7 p1 U. e H; x S9 aСкорость магической атаки - mAtkSpd
- K1 n8 [* B) NСкорость отката - mReuse; I* J3 Q( e/ g* A& p2 ?7 Y
Защита щитом- sDef
9 ]* @- v4 M' T) i) M+ Y: HУгол защиты щитом - shieldDefAngle
. a+ G, z0 ?* Z9 e5 P7 k( ~Критический пощечина - cAtk$ X% w" g% H6 {. n% q% o5 {
Прибавка для критическому удару - cAtkAdd0 y7 c$ b2 s4 e
Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg! V- q8 p1 [9 D/ o
Маг. урон - pvpMagicalDmg
% a5 Z* `! M" }' s# h, @ tУрон скилом - pvpPhysSkillsDmg
2 h0 M2 a& p; h$ a. |' EУворот - rEvas
* C/ B$ n, d. j" H, rУворот через скилов- pSkillEvas
" U$ ~. O+ n" `Шанс блокировки щитом - rShld
4 s0 s0 v4 s* Y7 J2 }$ B4 vШанс крита - rCrit9 v6 n h7 Q# N: q+ R8 n
Шанс Blow - blowRate0 S, V* e* Q, d+ i7 w0 P/ d& H
Шанс Lethal - lethalRate
* Q6 Y' M' n& Q+ O3 w7 h" sМаг. крит. надежда - mCritRate (mCrit doesn't work!!)
+ l8 P- R' t* O. K# hEXP,SP надежда - rExp ]) ^( C, k' C) f; W* C8 C
Cancel - cancel! D& \4 y, e7 w) c8 r( L0 g4 g
Точность - accCombat/ Q5 Q) [' j% a' X) [! ?2 s
Зона покрытия физ. атаки - pAtkRange (for fighters)
; C6 b0 @7 W. F! hЗона покрытия маг. атаки- mAtkRange (for mages)
. w, P" J! z+ M7 l: \Угол атаки (только с целью воинов) - pAtkAngle
* T3 h# d, n/ o+ I; f2 WКоличество атакуемых - atkCountMax
C% d) T4 x% i2 |' T( GОткат физ. скилов - atkReuse/ J% Z; M$ s+ o4 J$ M$ K" S
Скорость бега - runSpd, x; X4 Q% U b5 O2 d2 t) x$ Y! O
Скорость ходьбы - walkSpd5 v% P. O6 g4 q3 B: v/ U8 R
STR - STR5 f5 |; c; \6 ^: F: S/ F z
DEX - DEX
( ]1 ], r3 X5 n! @# @WIT - WIT" F5 D% D% s. c+ Z
INT - INT
8 I8 h6 r% _$ q p% SMEN - MEN
% @1 \# U5 v6 Y; t W6 x4 \ y* L0 P! N
Уязвимости
) ?* l' o" n0 M2 |8 G* P! U
4 n6 s# {9 M) m9 k$ h7 h8 \8 Z) [Агрессия - aggressionVuln
: V1 E& `3 E( X2 {+ qКровотечение - bleedVuln
; |) h+ ^* y, X# l" g- T' ?Яд - poisonVuln% j; p& [& A* C3 p; W) }
Стан - stunVuln6 h' B/ @% {3 c4 _+ h
Парализация - paralyzeVuln. p! n% v6 ]9 E$ i. i
Удерживающие заклинания - rootVuln! D5 J# S0 u" A4 C" W2 E
Сон - sleepVuln
9 x& R: W5 i8 _9 n5 h0 T"Перекидывание" таргета -confusionVuln1 I# F! G/ s5 ~; {- b2 J
Движение - movementVuln
/ i/ R0 ]# Y! f' I$ y! Y0 {* A* |Огонь - fireVuln* `' R0 v6 p- T0 _. ?: S
Ветер - windVuln- H0 Z" R; X8 l4 ?
Вода - waterVuln
1 p8 q5 c$ r% Q! @) L. aЗемля - earthVuln& T; o3 s0 _" `4 z! w/ o9 s6 E3 j
Святые атаки - holyVuln8 b8 @# i% V9 g7 \9 u
Темные атаки - darkVuln
. G, K9 o7 g& ]- } CРезист для cancel - cancelVuln
; J1 u/ O* I& `+ y( L- Q0 x, sДебаффы - debuffVuln) s7 y# F4 J5 ?' I( e
Резист для криту - critVuln
$ A# ^* r8 g; E- H4 i/ L' ^9 H G( O0 J/ h
Резисты простив оружия (тут думаю изображение никак не нужно)! h* p8 ~% \/ N9 M
5 C6 b! H) V! m$ q1 Y" p
noneWpnVuln, b& Q. I6 m2 V6 |5 o
swordWpnVuln
$ _. g1 m; W9 }0 J, ^4 Z2 IbluntWpnVuln
8 L4 @+ |4 f9 ]7 o7 U4 odaggerWpnVuln
! }6 J5 b$ @, f* M" R$ TbowWpnVuln
+ J1 N' G! \1 L. Z, c+ K5 Y2 |crossbowWpnVuln
6 v& ?. @1 w1 F6 Q- v8 L( rpoleWpnVuln
; N" U7 Q* W4 t1 v" ?! LetcWpnVuln
5 u" r! d& B! x- ~" e0 afistWpnVuln
% m( p3 ^1 k* R2 b* hdualWpnVuln
4 R2 d2 |" E* ?6 d6 D7 UdualFistWpnVuln
1 Y$ {; f# G) z" d! _4 y" ibigSwordWpnVuln
3 j2 v1 c( B' [ \; u
9 V. H: M. I; g4 I' d( d3 z: gОтражение! g* [6 p2 U. ^" I" N; e
* X- S' X: @2 B4 G$ z0 CПроцент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)
) }6 [* `1 b1 M% t2 ?9 X% UПроцент рассеиваемого урона - absorbDam
& L: o3 L: [8 z: Y; \" tПроцент переносимого урона- transDam, }9 Z1 @ o% P# q
Отражение маг. скилов - reflectSkillMagic
/ c& [4 r; N% P* hОтражение физ. скилов - reflectSkillPhysic2 |5 J" J& F- N$ Q1 l( K7 _ w
! G$ K! X. d) ?* B- z: C4 B. Z
Другое (для примера):% u6 A) V) f* L3 O
4 t! I% s q" k$ v' { A7 fАтака для гигантов - pAtk-giants
4 N$ C5 ^- a* A4 j9 E3 tЗащита для ласкать - pDef-undead
* p( K! h% c4 w3 F; i' g1 t0 D! CАтака в животных - pAtk-animals0 t! y4 `, z1 u( \
Защита для монстрах - pDef-monsters6 b+ z" f) i* H+ A& b K4 h6 W
Лимит инвентаря - inventoryLimit
/ R" m+ X9 ^+ D) f6 u7 nЛимит ВХ - whLimit
& z7 K7 H( s, T# X- ^: f& }/ s, aFreight лимит - FreightLimit' p4 Y* M% N1 ^% d! I7 \ M
Лимит продажи. - PrivateSellLimit9 o" X; B( ^/ K2 K" P6 J
Лимит покупки - PrivateBuyLimit/ ~- }7 X" o% q8 q. _0 D9 I
Лимит гномьего крафта - DwarfRecipeLimit5 e0 R+ P# r4 `$ F' x
Лимит common крафта - CommonRecipeLimit8 N; F1 q! h* L6 p: L
Потребление МР физ. скилами - PhysicalMpConsumeRate
$ S3 c/ h7 i$ a. vПотребление МР маг. скилами - MagicalMpConsumeRate1 Q4 W! K( c( [, P( m* ~
Потребление МР дансами - DanceMpConsumeRate0 G1 ~( e# x+ t7 Z& c- g/ e# ~
Потребление НР - HpConsumeRate9 J' ]) i$ f' I; ^% ^1 T" f1 ?
Потребление МР - MpConsume
& C5 ] I& u0 D" f) `% t" e' Z2 SПотребление соулшотов - soulShotCount
% ^2 C- V7 K% cSkill Мastery - skillMastery
- V$ s+ N# d8 E. z ]% A" CВремя пребывания около водой - breath9 |# x1 E8 p' d- s& n4 k
$ N% u, _6 o- j: M7 G, ^+ J1 tВроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
" N0 D! t; V" X
$ l U/ h* m0 K% f1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:# w" H5 y% n% H5 Q
6 d1 r7 `4 I i8 ? U( ^: D0 KTARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)/ u% v% _- I* \6 H9 X
TARGET_NONE - мишень неопределена
! w4 U* I3 d. a/ LTARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.
( `: C6 H* ]1 m4 r6 z$ lTARGET_AREA - обозначает, который скилл довольно массовым
0 @0 Q* h4 {6 STARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
! v" R( m4 y; _- u: d( F5 S+ u" e2 Y2 y3 U4 ~6 R
2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)& z; O/ Q2 x; | N
Принимает следующие значения:/ X5 P) Y) p! X9 N& o" u
BUFF - бафф (оказывает положительное воздействие)5 p* P) f, J/ Y3 N# L% D' B
DEBUFF - дебафф (оказывает негативное воздействие)
# e5 r/ {3 X8 G9 b5 f) r! b
0 C0 o( e/ a/ I, g3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)+ E7 ^( i: C: W
OP_ACTIVE - активный скилл, может являться использован игроком
" G# \, C3 y8 JOP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)/ T' ^) Y" g& w( x. n6 T
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:
m) n& Y( h9 ?- v1 i1 [# @-power - значение скилла8 ~7 z+ F% z7 ]& o) ]+ z
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки- c# K C* z. q) k+ _$ T# z
-reuseDelay - откат скилла
/ g- y& I# Q1 ~2 D- d" C! z" _) @-hpconsume , mpconsume - потребление МР, НР
& Y; r$ u8 _/ J-castRange - это дальность использования того иначе иного скилла (дистанция)
- i2 u/ L2 A5 |) l S& f, Y( |-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом). \2 i! G1 P- f$ P8 t* Y7 A7 P$ L
-effectRange - радиус действия (для массовых скиллов)0 ?5 u W) g2 i; @% |# }, f+ O$ S
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.
" Y) j5 {, k8 N" }/ W* MЭто основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах., j; ^: c) Y- }. ~# S2 N: T0 }
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .
j' }& q. G3 O5 pПриведем первообраз использования тега равным образом тега :
8 b6 R& R; _& r1 F6 E+ W H3 _$ n$ p# ]
h# U1 S: T* z8 k: ~& _& q- h; |5 z
Что сие значит:/ [! ?) g* c9 d3 S
! E, a6 i. T( K! K6 V' b' b
name - Это характер эффекта! d2 @7 G* L' h
val - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.
$ O- M7 E3 J( j5 C4 Dtime - век действия эффекта8 g# \- L0 U, Y9 w: I
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.
9 c8 @! j: [& D2 e' U6 c1 X j' c) `" h6 s4 m9 Z
Думаю со скиллами я разобрались, нынче перейдем для зонам.* A% ]0 m& T2 ]3 Y# J
+ ?) k; L0 h+ Z; B& r" h2 {Часть 4. чтобы начала описания зон используется тег .
9 b* K) a2 y$ y' p3 ?+ k: F, ?2 i; Q/ q$ o( {; a% _5 u C) J; ~
7 s3 l; C) [6 A0 @' [& j# B<!--Комментарий-->1 }9 m* ?; Y$ N0 e* H
* S$ }# g! Q/ l g+ l4 B
Пройдемся за значениям: w) M# q5 l4 Q- `! }
, y' x0 K# k2 s0 g6 K7 G6 Y
id - идентификатор зоны.
) Q5 n3 e! h5 C2 }+ x9 Vtype - образец зоны (town, arena, jailzone). Например:
; i0 E8 M7 }$ T( N# bTown - мирная зона (город)8 b- f" Q0 A6 g& ?
Arena - боевая зона (PVP)4 w! ?0 r; B1 s# Z+ H1 F. \
JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
) M4 I% w# Q3 Z9 j, ]+ J. N7 hshape - это платье разве подобие зоны. Может водиться двух типов :
p( D5 j9 p3 f1 ~-nPoly
8 i" L0 h: r& ]) W5 u3 L-Cupoid.
$ E/ t% k; C0 f B" U( aminZ - это минимально допустимая координата гора (z) на данной зоне .2 M4 Y9 _$ J5 S8 m+ E% x1 v
maxZ - это максимально допустимая координата гора (z) на зоне.0 R; P) A8 J4 H A$ W9 z9 l
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.6 u% Q& x: c8 R5 r8 _
|