Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон
1 V! h6 M% g# U0 Q: A6 f0 o. e5 `% r8 d
Часть 1. Введение$ ^# r, s- t3 a* ]; P
. Y% u: ?6 F" ?' |/ |* h+ A
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.
! w: G# \: E* p8 U. ]6 k" PПервая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
9 i* M" T+ U; s% N d$ {' F! r* Y" g3 H; l |
Спецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.4 K- S' O* O4 R+ U9 A; M+ ?* b
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:
4 e h. s; _! X. X- k4 k8 |
% k; M6 ]6 f1 i3 Y; |9 V<!-- Текст -->* C9 \, Z( v" C* M* [1 s2 v
( U+ e$ t3 Q, Z0 |) J1 c+ Z' H* q
Но я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.
. [) }4 Q. w) J$ ?& r
% c( Q' d8 T: L" v) tЧасть 2.Изменение статов вещей.
6 f' R( r" S; i
( A/ y& H" t; V$ {Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
8 C/ C' Z1 t: p% l! e5 C( ]$ c, L" B9 [/ Q' P
Для измения ее статов тогда нам нужна лишь одна строчка:
]5 G! a# I" B6 P' C
) B4 J; q% f2 s# j/ K. tЧто это безвыездно значит:
$ A8 o: j) w( Y8 C# [& i- V: l1 X1 \8 u
Тег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?; D: ]! J& A. D6 \8 j" M' X
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.6 q" x/ W8 Z$ s% ?: ^9 c# m, o
) g0 p8 _3 ?# \4 I
<add val='100' order="0x10" stat='pDef'/>! ?9 ?' |6 ]- H O
9 X( v8 N; y* u4 |6 q
Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).0 ^# z1 ]0 I# J( V; `
2 d* k: T( }: Q/ d0 w2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.; }# Z- X2 w) b& A& ?( P8 f( j
: @' z! J H }* Y$ QДанный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).4 O. Q3 X9 V( q
" A& ?9 Y. \. S( L$ o6 |! N# }$ W6 n' ^2 m
3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
1 d% W$ F/ V$ o) Z5 _" `; \) u; O9 m2 |: O/ W, i
Данный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).. W& Z5 [" T. H. j9 c0 ]$ T
+ a( _7 T* V, }( j7 I3 \$ z4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.
5 M9 w% L g# r7 ~6 v5 b, o2 m4 I) A6 w! \$ K$ {. a
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).4 v; v4 B2 k( K l/ _& Z4 ^ c
7 N6 A) W& G4 \8 J2 s7 F. N
5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.; l5 ~1 Z* A# K* F/ i. ^ u
5 f8 p% L2 g5 [4 ?; C+ m" F
Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.
( v9 V; W" T+ B7 D" _# N& Q/ c* QНиже приведена список значений "order":
( D4 \% O; Y/ o! M. g* l( C5 d D7 }9 {9 T0 M: N
0x08 - set, a ]" ~0 B1 \/ B% V& ]
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)' P- r9 z R1 \6 n5 c% H: P6 U
0x20 - отнюдь не нужно
: M* I: { a0 _( ]5 T n0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)8 w1 U# n* [3 N' _
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))
3 L o7 g( d% g5 d( d8 w0x50,0x60 - никак не нужно
7 k+ W$ F, ^. V O% |0x0C - enchant
, u3 b2 [0 X# i& i6 K% C, D \
( Q9 j1 V, v* M% r. l8 \/ G' _Часть 3. перемена скилов; {4 @" B2 _& n y
+ S5 d$ b2 b7 m N) L: ?5 |1 y I
Самая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.
- d; s5 `& N8 S5 C+ r
$ F6 Q! |0 Q6 XИзменение максимального количества HP - maxHp7 w6 `& J+ | O; Q: _3 c
Изменение максимального количества CP - maxCp/ x: v, b1 B6 W9 \. a% n
Изменение максимального количества MP - maxMp
# B! [! S1 N' _/ IРегенерация НР - regHp" G+ L- O: C# J. S" U3 m
Регенерация СР - regCp
% B) C# y# Q0 y# @& R' a/ @Регенерация МР - regMp' i9 ?2 A/ S- Z4 s
Эффективность хила - gainHp) y9 c, k- I( S$ m0 y. [
Умение хила - giveHp
& V9 A4 J. w7 O1 K3 uБонус хила - bonusHp
3 J$ e2 O2 F% r/ e) dФизическая опора - pDef+ ?% e# ?& Q9 L+ e+ O% q* a
Магическая столп - mDef
& v+ X: s3 N. z; s% w8 Q1 k$ m7 AФизическая набег - pAtk
" m% _0 t' N7 l4 O6 ~2 g/ hМагическая набег - mAtk
* [8 _0 N3 ?5 X" E, |Скорость физической атаки - pAtkSpd
$ M0 X( C* b4 q, X2 VСкорость магической атаки - mAtkSpd2 ~, w1 n2 Y# L& t1 b0 j6 |
Скорость отката - mReuse
2 H7 b9 l# W# l1 v8 RЗащита щитом- sDef+ E4 z1 k0 v! ^% N# i
Угол защиты щитом - shieldDefAngle
E! L+ \! w* w/ E8 EКритический пощечина - cAtk
! N& G- N/ V- y+ ~3 bПрибавка для критическому удару - cAtkAdd
( l1 P2 ]) s% z6 MФиз. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg
+ H' |. u. i; G& V) oМаг. урон - pvpMagicalDmg
$ s1 g8 l4 X6 X3 a1 V9 X3 rУрон скилом - pvpPhysSkillsDmg/ q# \& G9 w9 F6 E
Уворот - rEvas. B6 p( s U; [5 N
Уворот через скилов- pSkillEvas
* M4 l$ j! s, x5 [, }Шанс блокировки щитом - rShld6 ?- j4 a7 v/ ]* \& E0 X) m$ z% w
Шанс крита - rCrit
3 t* k0 C y5 R" o5 E: h: mШанс Blow - blowRate
1 G. }7 s* z% Z# R8 dШанс Lethal - lethalRate
. `2 o7 |( `8 i% G1 gМаг. крит. надежда - mCritRate (mCrit doesn't work!!)
- ?/ U" o x+ h; u1 UEXP,SP надежда - rExp
4 k! v9 Z# Z4 k0 E+ f2 pCancel - cancel
6 H/ B; v7 G3 zТочность - accCombat
" {( U, t& |! T; O+ RЗона покрытия физ. атаки - pAtkRange (for fighters)9 ], ?" P, T( ]
Зона покрытия маг. атаки- mAtkRange (for mages)
! M( t0 x8 `( x' C- a5 TУгол атаки (только с целью воинов) - pAtkAngle/ \9 X: o5 M$ {
Количество атакуемых - atkCountMax
) O& K* s9 W4 ~& g+ Q$ SОткат физ. скилов - atkReuse
. b, a0 Z; t+ {+ L" ]9 OСкорость бега - runSpd5 W3 I/ r' \0 W0 _
Скорость ходьбы - walkSpd# R! R+ o. w" x6 `
STR - STR
: d- P' h/ R# C9 [$ `9 VDEX - DEX
# N6 m! z3 Q' Y( I3 ]WIT - WIT, [) h% t$ e/ U) ~; P
INT - INT
# S" j2 h% T8 Q5 ? y: WMEN - MEN0 E$ ` \* K. T: B0 F+ A
% d+ z7 r2 X q5 G+ h& u* LУязвимости; P( ]- k) I; ^! B( H
6 F: x! D: s$ ~# w" |2 n7 {& UАгрессия - aggressionVuln
( V6 c) G, B7 |$ a; wКровотечение - bleedVuln) T. z3 S9 C+ }" k& d/ N
Яд - poisonVuln# y6 V, K( }: t$ i5 [7 }
Стан - stunVuln
2 t" d* A8 z1 e& x6 T) A( ZПарализация - paralyzeVuln
6 x5 Y5 Z0 v0 H) K \! V5 y" dУдерживающие заклинания - rootVuln8 i O2 w/ f' ~! l4 j8 n
Сон - sleepVuln+ d$ \( G3 ^7 h9 V9 E* ^" I5 q
"Перекидывание" таргета -confusionVuln
/ g3 w; k2 _! Q4 f; n: ^Движение - movementVuln
2 W* ~* u8 u n; L) a5 x1 oОгонь - fireVuln; b2 p* D% |: j. M1 R% d
Ветер - windVuln
( Z2 H$ _/ @- ^$ E4 m6 o% hВода - waterVuln
6 k' B3 w( B$ r; I7 p( \ ZЗемля - earthVuln
, h% a' R" L* K4 tСвятые атаки - holyVuln
|! [. U1 c; Z+ t3 k% Z3 ]+ |Темные атаки - darkVuln
* i" ^) V6 y, OРезист для cancel - cancelVuln
0 V6 N& ?7 c; DДебаффы - debuffVuln
/ z: m1 Q0 @. Z; }4 Z, ?Резист для криту - critVuln' M; x" D/ P6 ^2 r/ d: D5 v0 j
9 M* O; j: E4 z/ Z7 A( f0 [5 y! E1 J. BРезисты простив оружия (тут думаю изображение никак не нужно)
" P# W1 S" E. h" H B1 m: M0 F
1 ^% _2 f; l: y. J4 A% jnoneWpnVuln8 g% j% Y( J- I9 V
swordWpnVuln
9 j+ p- w+ S& \) D5 m1 L% ~2 ~bluntWpnVuln6 |1 v" F' m: R5 K: V
daggerWpnVuln
6 m; M* Q; a( B4 \' W4 Z5 JbowWpnVuln, c1 T2 q2 N# ?1 l( ~5 ~% x* A
crossbowWpnVuln
* `9 [5 ]" q9 p3 U- rpoleWpnVuln
& l, V5 Q j6 [- z8 WetcWpnVuln9 d- P- p/ T$ ]+ V' V
fistWpnVuln* O/ c4 d! F( J3 j# I0 g3 S
dualWpnVuln
' w. V: F+ A: y. a1 sdualFistWpnVuln, }3 @$ B7 W5 |5 J# ?. P
bigSwordWpnVuln4 Q0 |, ~3 T" a" Q
; C8 N- Z) t5 d, o" SОтражение
I. F6 f$ C: C- y" j/ q* J: A; ?2 T* Z/ t0 f$ [2 V
Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)
( F3 }: F: e7 t" vПроцент рассеиваемого урона - absorbDam
% Z" E5 b. b/ \7 yПроцент переносимого урона- transDam
* x( u! _. X$ K; @3 r+ H/ iОтражение маг. скилов - reflectSkillMagic2 l) L* H9 {- K
Отражение физ. скилов - reflectSkillPhysic
1 w3 x9 X* H8 `: G+ d6 Y: p1 H3 b4 W" X. [' K$ N3 v; k7 d
Другое (для примера):+ c$ C/ K; g( @8 ?
" T2 B0 X# t3 l+ \, m* l. dАтака для гигантов - pAtk-giants
2 X! _6 S% @+ R% g, _Защита для ласкать - pDef-undead
+ G2 M+ ]9 `1 L; k3 ^Атака в животных - pAtk-animals4 x) x' c2 c5 e* E* ^6 s
Защита для монстрах - pDef-monsters
6 p& H6 t7 A4 ?, zЛимит инвентаря - inventoryLimit
. } f* z0 }, @' WЛимит ВХ - whLimit" O k+ \$ u0 W7 J% g' f! C1 s
Freight лимит - FreightLimit
* T% E% w ~, y" W+ @% @( }Лимит продажи. - PrivateSellLimit
# E" F& z7 z0 D! w, ~; C# JЛимит покупки - PrivateBuyLimit: O5 S) F3 f, h/ G
Лимит гномьего крафта - DwarfRecipeLimit
1 M: u" Y% S9 W" y3 DЛимит common крафта - CommonRecipeLimit
3 s5 V2 g- k7 ZПотребление МР физ. скилами - PhysicalMpConsumeRate _, Z i: A2 D1 R
Потребление МР маг. скилами - MagicalMpConsumeRate
( g0 b+ k6 L6 a. `Потребление МР дансами - DanceMpConsumeRate; ?0 s' z( _* @( J8 m% ^
Потребление НР - HpConsumeRate1 R2 z$ }2 d, S0 Z, u
Потребление МР - MpConsume! l( H+ t$ w; s! g; E; r5 o( I
Потребление соулшотов - soulShotCount
$ H2 V0 l7 K% r7 ^; a9 m: ?, JSkill Мastery - skillMastery+ Q$ }8 j5 c k" _: E
Время пребывания около водой - breath
8 z, X; Q/ O" [" z7 }! {; k5 t @2 f, |3 w& B8 f0 n! z k
Вроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
k$ o: r: T1 g* w% b; n% c' s1 h$ N0 a) n! ]7 Z* F% q$ L
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:. c4 [2 [% F1 e5 v8 m# [: m: Z
& G& E& n3 X2 O( S$ ~
TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)1 p e" J4 P. v) {6 p
TARGET_NONE - мишень неопределена; k9 p6 F* L+ W2 U! {
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете. z* R9 T; ^9 [" \6 {* v! V
TARGET_AREA - обозначает, который скилл довольно массовым7 F& H T$ G+ _" m+ P
TARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
% ~8 l- f) J+ i* Y6 U; `4 ?: b( [$ P! p% [/ @* X
2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)' O! X9 H4 x* J! H: ]4 J+ _
Принимает следующие значения:
. q& N5 A2 G. ~( p3 zBUFF - бафф (оказывает положительное воздействие)
+ v! b3 F& N7 u ADEBUFF - дебафф (оказывает негативное воздействие)
2 M& w$ g: N4 E9 _, `7 z
; _; Q: c" k& ? X7 C" ]3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)
1 Q4 y; Q, p) K& _/ @& k$ j" G4 KOP_ACTIVE - активный скилл, может являться использован игроком
. X4 g: W5 m2 x6 GOP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)
) ]: |. Y0 |8 Y$ LЭто были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:0 e1 T+ ~( \ X: t, f6 d/ k+ E
-power - значение скилла9 d; ~, g) H1 r: j- \
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки4 l/ U: N% g Q/ p
-reuseDelay - откат скилла
6 p) Y, c/ a- f) c( i-hpconsume , mpconsume - потребление МР, НР
& u$ k! c z! F# Z8 _-castRange - это дальность использования того иначе иного скилла (дистанция)
' f7 H6 U: w1 p1 L9 R. K* k- \-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)* ^0 x Y) P0 d& B6 ^
-effectRange - радиус действия (для массовых скиллов) S: z; H( U' i X7 w' T4 @
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.: ~$ g" U( j- f3 g6 g1 f/ C( Y
Это основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.0 f6 R; E- d' b( V: h7 u: H
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .% O! k- _& A- ^
Приведем первообраз использования тега равным образом тега :, B& o: t4 @, f" |' @8 N
w6 y0 }6 ]$ Q# e$ Y$ C7 m: X
" v4 o. Q6 m, ] t3 g! N( b
4 j3 ], Y; U" C. V z- w1 P0 zЧто сие значит:
: z2 R8 T2 l- A/ G- L9 L l% C9 {1 M7 \# `3 e
name - Это характер эффекта
. C0 H) c* F) Q0 Oval - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.
) d- I; X4 {9 ]% e7 l$ etime - век действия эффекта
% V* ?. ?5 t! Z/ _5 o5 X' ^5 EStackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.* ^- S9 p6 w) h+ y6 s6 S
3 r. T' h/ n) _8 Q5 H6 i
Думаю со скиллами я разобрались, нынче перейдем для зонам.5 n# r' c! B" J
) {( l+ |# I; u4 f6 Q1 R8 a/ t5 E
Часть 4. чтобы начала описания зон используется тег .
" v! \- }: k6 ?. I d& W' ?' h
# O" }' Y$ N) @# B; W+ e( q9 \. Q+ P# X5 N& Q, ]& a
<!--Комментарий-->
( e& w* E" p$ h. s' |- x; v- v% {: I) [% R# x% v' { u" e
Пройдемся за значениям:
! W/ o4 k5 c, q) ]! H6 m( V% D) o6 D0 L0 m+ h. s$ w
id - идентификатор зоны.' J) q. q5 {+ j7 S* f. r+ A
type - образец зоны (town, arena, jailzone). Например:
% H! ?& F/ b6 ATown - мирная зона (город)
1 u3 u9 A' E/ ?: w- v! I& aArena - боевая зона (PVP)
, c6 @( I# l5 _: XJailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.4 y, z+ E0 Q8 J( b' p+ E/ U9 x* T
shape - это платье разве подобие зоны. Может водиться двух типов :7 y3 B9 q3 r' d4 X$ H
-nPoly
4 n$ o5 M! N, G' l-Cupoid.
+ `5 d% R* \# b; t Y! aminZ - это минимально допустимая координата гора (z) на данной зоне .% J% [. ~2 a) n. g; }
maxZ - это максимально допустимая координата гора (z) на зоне.5 B A: I5 C' p$ R
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д. k) c0 v0 N6 P" K
|