Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон. _" y' ?, k ], W5 j( d
8 I5 w1 Q+ P' t0 ?9 FЧасть 1. Введение" y2 S1 B* v0 Y
- n7 l z0 ?, I( N: V- b6 t- V6 T
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.: f+ a( Q* \! l6 P
Первая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.3 }+ z9 t4 }1 {
' M9 |1 S- j* O* ?( v6 ^+ Q
Спецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.
, {; V6 ^, L9 Z% r6 W: J" hТак но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:: H! k* j! i; t/ W6 M
: @0 `% W+ l8 ?<!-- Текст -->/ [+ A8 _' d' K7 `3 }
$ X' q& O9 [" v$ WНо я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.+ d" \* V5 @3 ^0 g+ {8 G' H
7 I# m& x/ z, M l
Часть 2.Изменение статов вещей.
/ p& f6 @- u. R3 R& a) Y/ r4 b; g6 \$ k5 k; k0 } m
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
! G: ]* N1 {, p/ ]- C! d5 F. U6 s( D$ j9 C4 ~
Для измения ее статов тогда нам нужна лишь одна строчка:
2 z2 u F: `0 z) Q3 p: O, N/ m6 b* V2 m( C& Y+ ?
Что это безвыездно значит:
$ i$ R8 x4 c+ | E/ Q
6 ]4 |0 |4 L+ k6 }0 P/ TТег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?5 c S& P2 Q. d' k2 l; y" a
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
* `1 k0 c3 z* Y% c' F* d& B
% m2 D, W; R" _$ a<add val='100' order="0x10" stat='pDef'/>* O5 S Q+ w: @9 O8 O2 c
2 p* Y& B2 z) z c" Y6 a2 P# lДанный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).* S- w0 y/ r' L3 V
1 J' m+ T. k- k f( Q, I2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.) l4 s4 _/ j6 |! w% z9 s& M; d
3 Y- M9 l) J& k) k3 H9 d
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).$ c. }. Q9 V+ L1 o
5 |6 C: b# R2 G6 E$ F- p9 n
8 e6 L6 @% w- P; x2 A( b0 J1 u& o
3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
) g# P$ g' v, J" b* b! t; A
' a2 p7 m, z9 W( J( T Z' PДанный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def)." j8 u2 s% |# v9 D/ E p. _
6 e5 ]* J) n7 S
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.
! I7 K& S k$ I c1 A& `# h: g( c$ E2 [+ B
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).
3 n; z) }3 d& s7 a% D1 D( x$ w |; ]9 |' G# Y
5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.' I4 d( P- i' @9 Y# Q1 a
m$ r2 j0 [2 i; @8 J F( @
Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.7 h# i0 a( g+ |/ s* B
Ниже приведена список значений "order":! G2 z8 _9 b: E7 l, k1 K! n( l
5 R& j! ]5 h6 l% [1 X" s h
0x08 - set
2 e9 M% T; I5 i9 ~ U0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)* J& Z" f2 m8 k
0x20 - отнюдь не нужно9 s" k* U( a- l, g: O% E
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)" \2 D9 O5 u* j6 j9 N$ p) J
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))6 e( Z* i* |$ k1 P
0x50,0x60 - никак не нужно5 j' t. M9 ^% w- q
0x0C - enchant& `3 ]4 t7 c+ v0 E7 Y# ? P
7 S' i+ g m0 ]5 U$ A
Часть 3. перемена скилов# M6 @) k- Y7 Y2 g% b9 F0 {
1 i9 G0 x: K# N8 }
Самая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.' q1 o% e1 {: t
. N# L% k4 `0 H2 }: {Изменение максимального количества HP - maxHp) f3 M9 z5 e& ^9 J( x7 N
Изменение максимального количества CP - maxCp! ?/ I( ]9 n! s0 p
Изменение максимального количества MP - maxMp6 f l+ l; W- Z) h. F
Регенерация НР - regHp
) L# \8 s6 e, J# u- ^4 bРегенерация СР - regCp4 p3 w! K; F7 F0 K
Регенерация МР - regMp, h+ h& L; |& M. q& |
Эффективность хила - gainHp
: k0 W/ c: F7 s" I5 ?, _1 P+ m' ^Умение хила - giveHp
. l! U* w( [) V9 w) x! k3 TБонус хила - bonusHp
+ T+ t. G! x& x4 p0 I% DФизическая опора - pDef
2 s. k t8 J' nМагическая столп - mDef" J; Z. h6 e: g2 d4 g0 L) s) t
Физическая набег - pAtk9 N7 b, }) G# B6 w* z
Магическая набег - mAtk( e. s2 b: j; o. l: x8 W6 F: |) s
Скорость физической атаки - pAtkSpd, I8 {( c8 c( }& j& y H
Скорость магической атаки - mAtkSpd
) i: o: M) Q+ x: n7 @; ?Скорость отката - mReuse
! g3 j. Q Y9 [6 ?0 X6 ?9 y+ ~Защита щитом- sDef
% r/ H1 S8 U' \! qУгол защиты щитом - shieldDefAngle* a5 _; z" V8 A& x: @
Критический пощечина - cAtk
4 D. r1 ^; {- t0 {: a* @Прибавка для критическому удару - cAtkAdd) H. _3 _' K7 K- e/ y
Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg, E9 c4 F8 H$ ]- n# |' B- C
Маг. урон - pvpMagicalDmg
8 P9 l U1 j; ` uУрон скилом - pvpPhysSkillsDmg( k0 @8 }7 u6 T0 ^2 M/ k8 \ V, Y
Уворот - rEvas" L7 n8 D' }. o' Q1 a8 f
Уворот через скилов- pSkillEvas4 x: Y. F/ U2 x, U6 ^
Шанс блокировки щитом - rShld$ L$ N: N1 | `6 N6 r' c$ ?
Шанс крита - rCrit
4 I$ ]% B3 e' e2 u; @Шанс Blow - blowRate
* u* {$ g' Z! c5 E- i6 ZШанс Lethal - lethalRate0 c5 P3 l- p& z' z
Маг. крит. надежда - mCritRate (mCrit doesn't work!!)
' c& F* M5 T8 B" a, @EXP,SP надежда - rExp
. f% n! \6 [* A; s4 YCancel - cancel
/ Z. b/ s: r% U' b& `; bТочность - accCombat
4 f5 ?2 L' ?+ x' [ BЗона покрытия физ. атаки - pAtkRange (for fighters)7 ]% Q( F3 G" x& s
Зона покрытия маг. атаки- mAtkRange (for mages)+ Y3 X6 U& Q9 D' m' ?' F; y
Угол атаки (только с целью воинов) - pAtkAngle+ d& G" E" k; _3 K/ F. @% F
Количество атакуемых - atkCountMax2 M y5 K4 k4 K* N; O5 O( f) K/ N' [ ?
Откат физ. скилов - atkReuse" r5 ~( C4 y+ u5 o2 \$ s, y# c
Скорость бега - runSpd) W9 J, T8 B- S. s4 R& n
Скорость ходьбы - walkSpd4 |) S" N" u, ^, F5 W ~
STR - STR0 N) \3 m0 Q9 x
DEX - DEX( F6 V, P, B) k0 Q+ U& `: S4 [
WIT - WIT: X* Z3 q! u3 e$ v+ `* i
INT - INT3 S; ]+ ^$ W9 t
MEN - MEN. }# a, H# n* M: e/ e/ m+ J
5 _7 n- U$ ^6 v' T! t6 ]Уязвимости1 p$ ~& b% {- N( o5 M% N; H5 [
% l! z% t" ?) ~5 a* R# c& J0 d7 w
Агрессия - aggressionVuln
5 X5 p6 @( n% x" P, lКровотечение - bleedVuln
* j0 l6 c- g; o- kЯд - poisonVuln% B0 `2 M1 ^% Y5 U! h( `
Стан - stunVuln& q$ }: {& y2 f+ v6 K6 A: L
Парализация - paralyzeVuln/ A) x& M/ w7 |& J
Удерживающие заклинания - rootVuln' A- U: L$ h9 ^
Сон - sleepVuln# @" y% D6 D2 F9 j5 G
"Перекидывание" таргета -confusionVuln
Y; s. r3 `5 ^& H8 i+ JДвижение - movementVuln
+ E* I- P4 @8 k/ G1 o, h0 TОгонь - fireVuln+ J2 j" \1 Z8 O/ M4 h* K! W4 C1 y* H
Ветер - windVuln
# }) C+ ?$ T: n9 ~Вода - waterVuln" ^7 f( ^6 P6 |, Q+ s! F# d9 X
Земля - earthVuln
8 Z. R% ?) S" Q% Z1 kСвятые атаки - holyVuln6 Z; b2 R* y8 v9 K2 ]$ ^/ K4 x
Темные атаки - darkVuln: X$ r1 L* S6 T5 X# A
Резист для cancel - cancelVuln
! k" S4 K6 r" q: ^- M: Z nДебаффы - debuffVuln
, l/ P0 [+ F) H2 G/ DРезист для криту - critVuln. W, d9 h1 s7 I2 Z
; L: l# b3 m- z9 w4 e3 C
Резисты простив оружия (тут думаю изображение никак не нужно)
* K. X8 `5 Y7 K; _$ a! Z. k7 q) i1 t2 [. y: G( O
noneWpnVuln" U! }" M2 k# {. j, Z' r3 m% N
swordWpnVuln
* t: t1 k( y; _( C0 RbluntWpnVuln
, K, I8 f3 O- i5 u$ X X' FdaggerWpnVuln
1 C0 z$ u. H" a$ g7 i' c+ rbowWpnVuln3 z. m- g# l) D; Z. z
crossbowWpnVuln/ q* m, L7 a# o
poleWpnVuln
# I+ ]" C5 j; `, O9 Z, setcWpnVuln
) {0 U$ q: }% L+ G' MfistWpnVuln1 [# u% F% m5 f: {
dualWpnVuln) I1 m) b! e; ]! L
dualFistWpnVuln
; s @$ ~ U4 U/ c9 R, TbigSwordWpnVuln
/ x0 K! m2 h- E" c2 `8 Y1 I+ `) j4 ~" j
Отражение
. _" Z- g" X0 J% h8 K
) [* {+ ^7 o! h* i \: pПроцент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)) |+ }0 f% @2 G
Процент рассеиваемого урона - absorbDam
6 r$ t9 r2 z2 i2 PПроцент переносимого урона- transDam5 x' N; _: a; w1 O
Отражение маг. скилов - reflectSkillMagic1 w3 l; i8 L8 _2 S( C5 u. x- y- u
Отражение физ. скилов - reflectSkillPhysic
0 f& [4 Y7 T6 R1 y J; k3 C1 R1 _) b. g8 q! q
Другое (для примера):5 F, W6 {7 Y4 ]% s
5 n5 f% Z$ r: k+ }) A0 x- aАтака для гигантов - pAtk-giants9 u* O: ?8 r0 _
Защита для ласкать - pDef-undead. o8 [& O6 w0 q" G s8 d6 \8 L ^8 a
Атака в животных - pAtk-animals! `) e$ ?+ q% |9 L* F
Защита для монстрах - pDef-monsters
/ C2 I; {$ y( q8 E$ VЛимит инвентаря - inventoryLimit: t+ D' s; z/ O/ F
Лимит ВХ - whLimit! S* h" x$ H/ D2 `7 I
Freight лимит - FreightLimit% R H0 @8 z5 \' u
Лимит продажи. - PrivateSellLimit- |. U# h# W- h' h
Лимит покупки - PrivateBuyLimit
5 l& ]! O! d7 p2 R+ ~% zЛимит гномьего крафта - DwarfRecipeLimit) y% L* C8 @; z! F2 g9 W6 a
Лимит common крафта - CommonRecipeLimit
% x+ R) s7 s4 B8 r7 z/ W: NПотребление МР физ. скилами - PhysicalMpConsumeRate
9 s V$ M9 A3 {) l- J# G. TПотребление МР маг. скилами - MagicalMpConsumeRate
( o6 E4 c3 {: ~0 u) L6 ^2 B; vПотребление МР дансами - DanceMpConsumeRate
1 m2 F5 H( X9 [Потребление НР - HpConsumeRate
7 r2 u: P% S* S L: b4 r- qПотребление МР - MpConsume
$ @. V1 k" Q$ U; Q) a" ZПотребление соулшотов - soulShotCount$ r3 C( B4 ^9 S1 ]2 |
Skill Мastery - skillMastery
& f# p8 i. b) | ^9 QВремя пребывания около водой - breath
) }8 b1 ^6 G8 P! Q% S5 \
4 L0 a# x, X# f# b7 BВроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще - @7 _5 S$ \8 D: A f
$ d) l, |5 B- d% x
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:( q/ o& A8 x1 H% W$ Z
) e9 X$ }2 Y; D/ \6 r* VTARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)' V$ T7 `2 Z2 Y; Q
TARGET_NONE - мишень неопределена
. K7 L4 J4 a1 U7 D: Y5 {: i6 \TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.
6 z& \2 [& C; K' ^TARGET_AREA - обозначает, который скилл довольно массовым
+ p7 G4 F+ d, P- CTARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует8 M5 o w5 f' T b, a9 c) |, T
6 h6 X' y/ W1 {2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)
, \! n/ a4 w$ g* i* L, X) BПринимает следующие значения:
4 ]: d$ U; O( m3 P% I! e1 N5 TBUFF - бафф (оказывает положительное воздействие)
% I) c1 }! _6 J+ a# a% uDEBUFF - дебафф (оказывает негативное воздействие)0 L7 Y: p+ U p8 J9 M# I
0 t3 ^: _1 O+ @9 f- M- z# ]
3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)
9 a) ~2 ?6 L! Q7 H% S& `OP_ACTIVE - активный скилл, может являться использован игроком R" `' h* j3 ]
OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)) c3 ^/ D7 y. h( ]8 j
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:# K1 H6 P h7 B4 e* V; N, X
-power - значение скилла
9 _5 ]' V$ h* l7 i7 E$ C) i, F" [-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки
" W5 e, P# v8 w) Q-reuseDelay - откат скилла" L2 b0 s6 D4 k: _
-hpconsume , mpconsume - потребление МР, НР
' ?. I* A7 \% J9 G3 Q( t9 X8 x-castRange - это дальность использования того иначе иного скилла (дистанция)4 M8 f# H3 ]8 ~; c5 r
-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом), d. W1 R, k9 e6 Y; E$ l# V
-effectRange - радиус действия (для массовых скиллов)
! o! [9 Z) l+ `, l9 E) ~-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.0 L p# I; K' s7 {
Это основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.3 V5 D5 N# {4 f! l% ?& [: ~& A
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .
1 o" P+ h \, wПриведем первообраз использования тега равным образом тега :
% D& G: v, K' c$ u. y5 C+ n8 {! s$ x+ M' `0 Z- _. F
4 U- F0 _9 w/ j$ Z
! |, a" L& p! A8 v9 x- LЧто сие значит:% [4 {: U' `( {% z, J! a6 q
) Z$ ]; @+ k# E
name - Это характер эффекта
& P+ D, F! T: S5 Q- @/ Mval - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.& [% U5 p9 K) A; S4 ?. @
time - век действия эффекта
! u% @! s6 ?! QStackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.
8 w! W$ c0 N8 n E: O8 o
U3 G O# A/ j) d. j/ b# WДумаю со скиллами я разобрались, нынче перейдем для зонам.
' E. Q3 h; h& @* ]& G
9 |. u9 {# r; ?& l, S3 kЧасть 4. чтобы начала описания зон используется тег .+ \% T V* [# m6 G: z" o% L6 ]4 }' }
1 l' c+ T+ o* F8 p5 j) J# W* _$ o; i, j# [ W
<!--Комментарий-->
8 q6 M. Z4 v; K+ [0 A9 f5 ~ M; [3 b, R) P- C3 ~1 m
Пройдемся за значениям:
3 b' q8 n& G* s5 N h1 j. V$ v& A# \
id - идентификатор зоны.3 J1 F6 j/ E: r9 v
type - образец зоны (town, arena, jailzone). Например:+ s0 u: Y& k, p% T- u, ?& H
Town - мирная зона (город)2 M, x* r+ d l1 o" Q4 H, A' ~
Arena - боевая зона (PVP): G5 ~9 |5 E9 `- W
JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.0 q! y2 c; V0 M6 _) G: r
shape - это платье разве подобие зоны. Может водиться двух типов :
1 G: ~/ d) x5 ^" S5 q. m6 C' g1 u-nPoly3 i* u6 w d" _5 p+ x
-Cupoid.
$ q. w2 M( s& Y! m( qminZ - это минимально допустимая координата гора (z) на данной зоне ." q+ O: [7 o% w& [* [" j# h8 d/ P1 P* W2 M' ^
maxZ - это максимально допустимая координата гора (z) на зоне./ m' Z9 \) \* l" O* q( g5 c& h
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.
8 ^' P( {5 n1 V, n" K |