Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон
( P U. S' Q4 _& A' ]* S& I/ ~4 T/ o+ E/ r
Часть 1. Введение' b T; p# R, P$ v0 k
* M9 x, y; e- o4 G/ f8 I' K$ x
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями./ ?* O* d( d w* ~# P
Первая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
- f' Z( b) y0 q/ t
' _: J3 u( g& H6 s0 I7 uСпецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.; ^2 ~; N, ^& T
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:
i! t/ b2 w6 S
9 j% b7 n. w/ N9 z% m h$ p<!-- Текст -->
; F4 O. F/ _( r5 Q; M/ ?) l8 `# k7 L i5 S4 K/ H: ?. Y5 o
Но я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.0 E4 N9 _4 t$ d0 c5 D7 V1 t3 T
$ l! K5 q. e7 I, Q d) Q- DЧасть 2.Изменение статов вещей.
* E) \& B I# \7 W$ p6 @+ O6 A- Q# x/ X
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
, i1 Z7 u& ]! m2 \2 k6 N; w" R3 |$ z2 o0 P' B7 ]
Для измения ее статов тогда нам нужна лишь одна строчка:$ U3 j* [0 y! I5 q" L. _0 w
+ C5 d1 Q% c( h( g7 Q' G% PЧто это безвыездно значит:
$ j1 p6 O8 s0 l j; T2 P, y
3 D* q- M1 Q5 p8 x) dТег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?
+ O$ v* K. k$ n3 g7 T2 n" m1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
. Q$ W! M/ u# O
+ P; m5 m# a: i8 M+ T) B3 [<add val='100' order="0x10" stat='pDef'/>
7 \ K" J& O9 p
2 i- m" O, A& \" dДанный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).$ u% X9 a5 V& }, Z4 g5 x, z
2 P2 m6 y8 a! `2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.
) ?9 O% z1 ]. @2 F- l) @4 s/ W9 t$ P/ T2 _: h* ]
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).5 ?9 X2 M7 p' O# x9 a
$ h7 }7 `3 h+ `5 c: w" t+ J' q; g% V z6 P( k$ p1 N
3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08. @! ~ n* u, l4 N3 |
- ?4 t8 j/ e, X+ }: G
Данный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
3 k2 b8 q+ k1 I* R1 ?6 m; d% [ l! C5 ~, H5 F2 Q( E* ~% s& S
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.
# h7 P# [* @8 g) S# ?' G2 V# w# V. R2 X8 r
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).
3 P2 H/ {$ }/ W1 ?% W
4 b& \1 r R$ Q& M! O5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.- _( Q4 U; J: u) q0 X4 [/ b: Y
% N' o8 p, p; s7 M. ^Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.
0 K# W; B' r7 BНиже приведена список значений "order":
& u+ H; C, I. h. O% b. V, c! K4 F8 \* {
0x08 - set( w# x$ Z. s7 {" E3 o
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)
( A; D) ^* Q# q8 k1 z! `0x20 - отнюдь не нужно
8 b# V6 Z4 [; b0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
+ q3 b' K2 { P0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))7 E% X/ }" ?5 v, Y# R
0x50,0x60 - никак не нужно
% ]( j0 }$ e& b# L/ D. D0x0C - enchant
3 c) i8 f. H- \/ U& x
9 \+ T* R9 M# z0 tЧасть 3. перемена скилов
: k: F# n* q' V6 ?, ]
- O/ }1 F4 L" S7 eСамая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.
' \; @6 U4 o' \1 M1 H9 ^6 n( j, c/ [
Изменение максимального количества HP - maxHp0 M* e, J. P4 H' c' l" {$ G
Изменение максимального количества CP - maxCp# H4 P5 Q& S* B. f
Изменение максимального количества MP - maxMp
1 l9 M" T) Z; u8 K, rРегенерация НР - regHp
7 S+ G) ~5 Y$ }" i. dРегенерация СР - regCp
: [/ S/ F9 l$ SРегенерация МР - regMp* p5 r, b: J. x9 T2 [9 X( n
Эффективность хила - gainHp
% {1 [& r; V$ p0 _' ~3 ^, rУмение хила - giveHp
5 I; I3 s2 W7 x, R1 t0 e, }5 cБонус хила - bonusHp( n) W# g o/ p. C; K- U
Физическая опора - pDef
9 Q' l8 o& j9 E' cМагическая столп - mDef
$ x. m( s# {8 F: _Физическая набег - pAtk
" m, X' J3 _" i0 }3 ^- n1 RМагическая набег - mAtk# s# C! q3 _; k1 V+ C* ^4 f* h n
Скорость физической атаки - pAtkSpd
. B" }& q! v2 p2 C6 \0 K3 qСкорость магической атаки - mAtkSpd
) Z+ R1 K3 Z- \: V5 NСкорость отката - mReuse% J: w$ \! N/ }1 R! ?# c
Защита щитом- sDef% y7 [# H8 \% }! I0 |
Угол защиты щитом - shieldDefAngle: E1 |7 A# ]' u5 j# Q6 I# S
Критический пощечина - cAtk
) F7 d5 s2 v% l: H& sПрибавка для критическому удару - cAtkAdd& j9 R9 l4 |4 ~+ L+ V+ V: @
Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg4 _; p4 s5 v# t
Маг. урон - pvpMagicalDmg. \. H' T7 r/ ~5 x0 t* N9 }' J6 h
Урон скилом - pvpPhysSkillsDmg
9 Z1 U/ n0 b1 NУворот - rEvas
/ j! X$ H) Q0 n: _: P U. [Уворот через скилов- pSkillEvas& ` |1 A3 s- S. T
Шанс блокировки щитом - rShld
% }* y9 l! w6 W' R0 r+ v3 LШанс крита - rCrit6 k: J. t+ I. ?2 y. O2 S- ^
Шанс Blow - blowRate
% F' c2 J4 ~9 {" z. r7 R: iШанс Lethal - lethalRate" X! [* q l1 f( ?% V) F
Маг. крит. надежда - mCritRate (mCrit doesn't work!!)2 e! m& C* G& G. J3 c
EXP,SP надежда - rExp
6 F8 E% |# a5 F( J, J' S1 A) D/ S( eCancel - cancel5 ~" x% V4 m9 K0 P$ U" O
Точность - accCombat: `4 Z& Y8 g7 u
Зона покрытия физ. атаки - pAtkRange (for fighters); h9 s6 ^: G5 z l' q4 n
Зона покрытия маг. атаки- mAtkRange (for mages)
$ y6 e' X8 ~" J; @Угол атаки (только с целью воинов) - pAtkAngle
9 h; J4 K( }" J! k9 _Количество атакуемых - atkCountMax; u! x& I: m3 V0 J1 {2 ^) | n
Откат физ. скилов - atkReuse
' h% I* m1 x$ ]- d! l# f' kСкорость бега - runSpd
$ @% ^2 K; Y0 d& m& p! q& P9 JСкорость ходьбы - walkSpd# r, x7 f4 P; L: f+ [1 [% ]
STR - STR
( P# \4 x1 e4 S1 }! p$ K* e3 v* D& ODEX - DEX t# E$ d* P! \5 m- i5 \9 A
WIT - WIT7 D( Z2 [9 {# F5 R+ }9 v. q: ?) m) p' N
INT - INT
) I9 k1 `. a$ C! SMEN - MEN
" ~: R7 m5 |/ j" w% N+ X5 k0 V# A1 K
5 J/ Q0 r5 b! [/ W$ EУязвимости1 u' t' d3 g- R6 G; M
3 Z" X! M. V* `
Агрессия - aggressionVuln8 {; T7 J$ ]+ K/ ]
Кровотечение - bleedVuln
: k P6 k% Q$ oЯд - poisonVuln
1 ~, ]$ Y- X: W' H2 Q# FСтан - stunVuln
) k# x: F! O7 o1 K/ Q' JПарализация - paralyzeVuln
* B, K5 g5 m: @" t$ TУдерживающие заклинания - rootVuln/ A: b0 R4 } r' s, y2 n
Сон - sleepVuln4 M& Q7 N ]# ]% ~, {( \+ u: t
"Перекидывание" таргета -confusionVuln. w' d |& i9 c9 W* i
Движение - movementVuln& }2 J9 ~ A; l9 t" e j
Огонь - fireVuln# W9 }" u9 L9 ] N% C% Q
Ветер - windVuln# J, j* U! u' W; |) d' ]
Вода - waterVuln
1 `: r9 H0 Z* j t! I2 H' ~& jЗемля - earthVuln7 ^) U( l- Q( B5 j, d
Святые атаки - holyVuln
/ r0 |3 Q \+ F8 M% W) ?' T/ _Темные атаки - darkVuln2 {6 o7 n- Y+ r( @; s
Резист для cancel - cancelVuln
* f* k% d; D$ k7 T0 QДебаффы - debuffVuln1 o, z% x8 u4 S
Резист для криту - critVuln
3 s+ E. ?. o& f/ f0 ^& q: z1 E% t. E4 E
Резисты простив оружия (тут думаю изображение никак не нужно)' p, w# Z$ A$ u* _' ~8 f1 q( p
6 j/ |" `- a" _" C e9 C8 D% U: M
noneWpnVuln
- {: w' G9 A0 ~$ n7 [/ yswordWpnVuln; z$ X# W1 h, G; H
bluntWpnVuln# W/ E ~5 ^( ^ C; r8 X- \
daggerWpnVuln* g5 U4 q( d# F# F( F3 H7 N
bowWpnVuln
; L! f3 e9 y1 T2 l9 D7 O% FcrossbowWpnVuln
9 Q* Z8 t& \4 c' J8 c% A; ~poleWpnVuln& [5 _9 f3 F- Z, r* O9 n' Q
etcWpnVuln
# X8 l4 X" [" }4 cfistWpnVuln+ C) R9 x% ^8 f/ h7 y) B
dualWpnVuln, X+ H/ l3 S( g: z
dualFistWpnVuln. k! A! v% d# ~$ Z* f* \
bigSwordWpnVuln
7 ?( F: i! E1 Q0 R9 l& F2 p5 M* |# |8 A9 C3 ^. \- R* T# s
Отражение( M `# S( ^2 B& H9 l! i) j1 A. ^
' V# e5 }5 R" z, xПроцент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)& q; u5 i1 ]- [( |/ |7 J4 r
Процент рассеиваемого урона - absorbDam
' J1 l2 v+ N* Y6 |6 QПроцент переносимого урона- transDam
' `, e( M$ y) ~% H1 h- GОтражение маг. скилов - reflectSkillMagic+ l6 D& n. {! x& t
Отражение физ. скилов - reflectSkillPhysic
' h7 Y0 I1 M7 B, m+ g, j8 G7 ?- K# f! U$ |# z6 F9 G
Другое (для примера):% v" P [+ u' E7 T9 j* P% A6 [# {1 j
3 B) [4 M) B4 e# w, r0 K2 UАтака для гигантов - pAtk-giants
' x, {! P5 z# L' QЗащита для ласкать - pDef-undead. D: V% W9 `, j" C' }! c
Атака в животных - pAtk-animals
. K9 c, E/ x4 y& y6 I8 M* o8 I5 zЗащита для монстрах - pDef-monsters
/ d# ?% \% z2 W( h6 Y: k) [# ^Лимит инвентаря - inventoryLimit4 x5 S# W$ k; N n6 l
Лимит ВХ - whLimit
: W# @* d5 o- p" W+ ?% V( e2 qFreight лимит - FreightLimit
2 Y+ u, c' o8 _) ^Лимит продажи. - PrivateSellLimit& t$ v1 s5 ]# x, G4 u. ^
Лимит покупки - PrivateBuyLimit
( }. k8 ]2 r. j' B" F; v. n) YЛимит гномьего крафта - DwarfRecipeLimit
& Q* i* e; y) ?5 T- X* lЛимит common крафта - CommonRecipeLimit
% b0 Y5 y& ?/ t2 jПотребление МР физ. скилами - PhysicalMpConsumeRate) C, v' ?: G/ O! f& L* e- ]
Потребление МР маг. скилами - MagicalMpConsumeRate
5 i5 g3 \$ f0 K! }Потребление МР дансами - DanceMpConsumeRate4 H7 C# K+ j9 g( j/ L; k
Потребление НР - HpConsumeRate
" h* q4 X' V S' R' sПотребление МР - MpConsume
- t/ m( |' s; x) \/ OПотребление соулшотов - soulShotCount
" d: D6 Q. V8 I& aSkill Мastery - skillMastery' Z: U1 T" j/ A( `
Время пребывания около водой - breath
: p+ E. [ m- u6 r: B" z
" h6 u$ D1 ^% e3 M3 YВроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
& E% _& Y" g8 M6 Y i$ s' A0 ~8 Q# x7 J+ S% W9 z+ Y+ e% ]
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:
: p, I- t+ d% M' b5 B5 V6 K2 i1 n) U
& Q c+ \" u/ b L8 ?: o& LTARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)) F# I8 C7 [# p6 @( g
TARGET_NONE - мишень неопределена
( L( g4 D' o5 \0 F, ?( W8 N5 oTARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.
! j3 ?( B8 K% Z5 }" p: [2 u2 ~4 \TARGET_AREA - обозначает, который скилл довольно массовым1 V7 V4 S, ?: ]4 d) m/ j3 ^8 e
TARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует; C. J4 A/ B6 b
2 m9 O ^ J {
2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)
$ K+ L0 U( F$ U) R; vПринимает следующие значения:1 G/ K4 K- f( _; w8 y# ~
BUFF - бафф (оказывает положительное воздействие)( z: o2 k+ Y+ p' S
DEBUFF - дебафф (оказывает негативное воздействие)# u3 A% h8 b! I
% g; q! B3 b- y
3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)- V9 w( d5 E+ F( N8 Y
OP_ACTIVE - активный скилл, может являться использован игроком0 Z) n; w) r `* U! U W
OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)7 D U. e4 F4 C4 e
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:
3 O j: j' M9 C2 u-power - значение скилла# K( S" g$ |3 D9 k! H% G
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки; X5 J7 ~/ ^8 d! I$ C3 P3 e
-reuseDelay - откат скилла
; i* B/ X) a$ Y2 ~- o5 K-hpconsume , mpconsume - потребление МР, НР
) s$ k1 T6 O" { o! w) W' \-castRange - это дальность использования того иначе иного скилла (дистанция)' J6 J6 _% l* P( U/ w1 n0 o f4 X
-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)
( E1 `+ U0 j3 w-effectRange - радиус действия (для массовых скиллов)! e" Z, s1 X; ]- n. l/ J$ o. _
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.4 V; w2 E/ [6 k9 W
Это основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.2 S8 G5 h& F% n7 G6 H( C0 a
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .
/ u* V" {4 D% z4 L! i9 c1 JПриведем первообраз использования тега равным образом тега :
/ v. V- t j% d& q* Q. G6 }) @& Y9 L" `* X) k7 ~
. W$ w y) M0 U( Z
. r* u6 l# H; b; J& L! j# g: fЧто сие значит:
* @7 C- [1 v. l. f5 _ O9 z8 b# U! D6 R. g
name - Это характер эффекта
1 K4 n1 y1 i3 w \) tval - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.5 L I& B# _8 p' S: r$ K9 [
time - век действия эффекта6 f+ Z' a4 M1 y
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.- ?3 a/ t& Y# H
1 T7 n" f# Q+ n2 j8 J' MДумаю со скиллами я разобрались, нынче перейдем для зонам.7 c' b# L7 {8 S* h1 [$ A
3 ~* O- K+ D4 f7 jЧасть 4. чтобы начала описания зон используется тег .
9 P7 i% E6 x5 \% e# [- m! }) S$ e6 s; h( v" k
6 ^1 r4 j0 D( K7 x) K- s
<!--Комментарий-->
" q0 d, e# B2 t
' x% m5 i R- N, J4 ]) AПройдемся за значениям:
0 d1 H! {$ U* ]( L/ P h/ e, }8 [
0 L/ O) E# p% w% `id - идентификатор зоны.5 v( r3 |0 I' L& a& M1 ?% [
type - образец зоны (town, arena, jailzone). Например:$ g8 T# B1 q& e: J
Town - мирная зона (город)7 `$ E% l6 l1 n$ G
Arena - боевая зона (PVP)- Z9 ^& n$ b- H( J6 v
JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
/ E8 p, {% p. N* }- o8 l: o) Ashape - это платье разве подобие зоны. Может водиться двух типов :
3 {5 j# r/ X' J* `( L-nPoly* Q1 e' T; o6 @2 d- |# r
-Cupoid.
2 o$ ?( K# C" F4 o) g% qminZ - это минимально допустимая координата гора (z) на данной зоне .4 a/ [6 u( w; l( u
maxZ - это максимально допустимая координата гора (z) на зоне.4 h9 M# T/ B! H% S; ^ ]
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.0 n& f; D# K8 a W, W" c7 V! w
|