Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон
' S. l2 j0 G$ e. O, g3 H# D3 v* w2 a4 |6 G2 N" T2 w5 ?0 F4 I( k
Часть 1. Введение* z, ^* f! Z7 n' P9 i3 \
R* C% O$ o- r: Y0 ~# j* jНачну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.9 A3 f5 G* k. Y1 m' q2 e
Первая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.6 _# v9 H' Q1 z0 l! r' H# G! i N
- M4 i& S5 F, Q& U4 |3 y ]Спецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.
, b7 a1 w% i. P! K1 wТак но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:1 Z$ d3 W8 [* h J3 c. u
) J6 A7 T) B! f" a0 l<!-- Текст -->
/ k! L2 {/ ~- j$ d, h3 W1 e0 [0 y8 s; P$ h8 m# H$ b
Но я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.# l% i+ y1 M3 k, C( O
, u2 S Q' o* e! z$ I
Часть 2.Изменение статов вещей.
4 H% M6 O( |5 t* r, G+ f0 D u% z, B! }: L7 S6 O
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода1 G2 G+ q; L8 l$ u; h
. a/ o+ H1 X. T- q% W8 X. ~( @
Для измения ее статов тогда нам нужна лишь одна строчка:
8 ?2 p( G9 r, q/ t$ m0 g$ h1 U, v" c8 D
Что это безвыездно значит:4 ^+ n# l) C( F" p
7 G% M1 v; z. l3 FТег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?2 e6 P, B _* I% @( z
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.. G% k3 z6 |& t" x: I
+ J2 E5 c$ |( m, A. n, L9 D' `<add val='100' order="0x10" stat='pDef'/>1 z' |. g9 R6 b. U) ?6 U3 J% Z4 B4 @/ |
" R5 @1 c) g H0 UДанный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).
* u0 Z* K" C1 |! {- Q7 X, V9 j2 v/ }; b3 R0 F
2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.
5 ?2 q- M- h7 u, L- Q# ~# v# d
7 _# v# z! T( J$ t8 a3 y. A; zДанный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def). `9 b' O9 P% k k) P* T
1 [5 X: ?4 l+ _& @& d/ V# q( g4 i6 [
7 f( K" V9 U8 l3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.1 [' M- I4 f3 i! | F' o. x
1 L, E" }+ u" k5 |5 L3 L8 s2 r
Данный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
+ e, R. `3 H$ M- w3 m, K1 }$ t1 t+ l4 f$ w0 q
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.& Z0 c1 s* T) ` G' o* Q8 c/ |) Q
& B" v" \2 E& `5 b; Q( C( C
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).6 d' R3 K) ~+ g- T* p O: m+ Z
( n# \5 y' b; N6 H+ k3 k C
5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C." S' U) J% \( ?# |
4 w0 }, _( h8 M# P. ]; fДанный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.+ p: R8 S* L! g0 X( [6 L9 @
Ниже приведена список значений "order":
9 E8 m0 b! b3 Q% Q! x/ l' h
' d' C2 z7 ^7 _0 r/ {" q$ z4 S0x08 - set' y4 q& n& p% o1 w
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)4 G$ u; M6 U2 X
0x20 - отнюдь не нужно
. X' q& e8 E }& p4 u1 `: h8 L0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
- E' c: f9 H' Q: S; V( Z) q0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))
5 W8 d0 D# I" x0x50,0x60 - никак не нужно! V% i: r, \6 O( g7 B+ B" ]/ W0 P! u# I
0x0C - enchant4 U- b/ _2 f$ X8 w* v6 Z" Y
% U1 u3 z7 ^ p0 l2 B
Часть 3. перемена скилов
4 W G6 K" r: }5 c) s# G, S" M% r7 I+ {- C/ u
Самая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.' O& Y2 k3 S' C9 b* S9 P8 w( h
& O3 e T7 W: j7 X% k* c- B! y8 SИзменение максимального количества HP - maxHp5 {3 Y0 K5 D" @
Изменение максимального количества CP - maxCp0 d5 M% h3 z+ b! Q
Изменение максимального количества MP - maxMp
: r6 _+ O2 }; Y* A) YРегенерация НР - regHp1 [6 [8 A! }6 d9 U4 \* H; n
Регенерация СР - regCp, c V9 l6 w2 c* U0 w
Регенерация МР - regMp( N3 D6 a, U4 p: E
Эффективность хила - gainHp
V, ~8 J( R$ i, O* F/ KУмение хила - giveHp
, o+ U1 s5 E0 J. m3 aБонус хила - bonusHp! r# g" C# s1 T
Физическая опора - pDef
6 X( q7 k" c6 P2 _. ^* bМагическая столп - mDef
& c5 p% e( _" I a! y& O4 |Физическая набег - pAtk6 B J8 `6 {- ~& M" S9 k
Магическая набег - mAtk7 Z2 t$ P: E, d) z) @7 f
Скорость физической атаки - pAtkSpd4 c6 M: A- ~9 I0 o9 q# X. F0 |! U
Скорость магической атаки - mAtkSpd2 U+ p1 r* R* \* [& x* o2 }$ j
Скорость отката - mReuse
, \5 R0 [, F: z X; T5 t2 ]" {Защита щитом- sDef
$ L/ O% J9 @ V9 n; j, k% U1 r, {Угол защиты щитом - shieldDefAngle o: ?, _5 b) P8 Y+ j; l" Y
Критический пощечина - cAtk
; N' g' J, ~: X) JПрибавка для критическому удару - cAtkAdd; j' F2 ]) k3 m7 g# v5 l8 s
Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg$ j7 ^) P2 b9 |; @1 r% i
Маг. урон - pvpMagicalDmg/ Y, t# g/ Z& Y3 ?3 `
Урон скилом - pvpPhysSkillsDmg! K) i( v8 U6 R' v5 J4 k
Уворот - rEvas& x7 a* X) o; X% ]
Уворот через скилов- pSkillEvas/ S s: A/ w2 i% u5 q
Шанс блокировки щитом - rShld2 ^- z% O. _1 M# ` s- z
Шанс крита - rCrit
3 v0 L$ m1 \7 `/ o' e4 O8 [: JШанс Blow - blowRate
5 S A8 \# n" E* oШанс Lethal - lethalRate7 E8 D$ ]& C; f$ e" s' _$ l
Маг. крит. надежда - mCritRate (mCrit doesn't work!!)
0 v7 V+ ~) d+ o1 q( MEXP,SP надежда - rExp
9 z( K2 m, a/ lCancel - cancel
- p1 t5 S1 ~) B. T2 |. Z$ ]2 QТочность - accCombat) W. X$ U0 h3 I0 k
Зона покрытия физ. атаки - pAtkRange (for fighters); ]4 R/ ~# \+ Z7 ]" E" K' B; P
Зона покрытия маг. атаки- mAtkRange (for mages)
: I1 w* @1 C' P8 c) G8 _4 K4 qУгол атаки (только с целью воинов) - pAtkAngle2 Q8 ]3 I( x' F! K4 ]" f
Количество атакуемых - atkCountMax
8 q# z% P. ]! x+ m+ B: PОткат физ. скилов - atkReuse4 n; D5 J R! T4 \- C* ?
Скорость бега - runSpd9 n h% @! e" o4 @' V; F
Скорость ходьбы - walkSpd
, P v% @9 m& N7 f1 aSTR - STR( z- S* D$ ~4 q$ ^8 C
DEX - DEX
2 I2 Q! ^2 |& N e+ GWIT - WIT
7 G6 h- D: s9 m5 m* oINT - INT
m) U0 a) q' X, ~ y; _; `& BMEN - MEN& g* V% V. x& h5 l% e, J
$ s/ C# ~* x- h5 o. _Уязвимости% y" g& \ Q# y3 X/ {- s
p6 m( Q# J! [/ |
Агрессия - aggressionVuln. {- w; _' d8 H; B
Кровотечение - bleedVuln
4 Q0 [( g7 g- R9 B' q5 a5 PЯд - poisonVuln2 ]* a9 k2 @0 K' s% F$ q' d9 Y( N7 e
Стан - stunVuln
% t o) i. i- ]9 t9 @Парализация - paralyzeVuln7 F: Z4 J6 Z) \: m6 L
Удерживающие заклинания - rootVuln7 k& b) ?* D' s" L9 K' |
Сон - sleepVuln1 `0 p" ^, s( n" I" F
"Перекидывание" таргета -confusionVuln
. f; b4 R' p; d- ~' d2 d4 _" M2 ^4 d& JДвижение - movementVuln
4 r9 z* q- c( ~ S j, IОгонь - fireVuln
$ B/ t0 u; M- k2 s% t' }4 Y" UВетер - windVuln
5 e: | G# c( N" ~% g6 FВода - waterVuln
: o5 R" g; w1 t1 P8 {Земля - earthVuln
+ d9 c: ]9 z8 ]/ W2 wСвятые атаки - holyVuln2 b4 m4 B( L/ g, y; U% p
Темные атаки - darkVuln0 i0 V/ ]: b) \ D3 ~' _* O& w
Резист для cancel - cancelVuln
( X$ Q/ I$ r P/ O0 O p$ a2 f6 U4 @Дебаффы - debuffVuln# f) H& {: h0 Y/ V9 W8 C
Резист для криту - critVuln
1 X+ O8 w/ v! g) _
% y" l$ Q2 C: Q- s- x9 TРезисты простив оружия (тут думаю изображение никак не нужно)
% g4 u ~ t+ U% V h
- X9 Q6 {, c" P$ B5 U; cnoneWpnVuln
/ A) l6 i! C2 p9 \+ |swordWpnVuln p. ~( W9 H3 Q. U( m0 Y" m; S7 u
bluntWpnVuln
9 h1 H" p, {3 Y3 s' R: adaggerWpnVuln5 u: ]" n! ?8 z3 K- c
bowWpnVuln
0 ^3 u( t8 v9 k. ], xcrossbowWpnVuln
8 N2 o0 \6 [; npoleWpnVuln3 i6 g: b9 @# ?
etcWpnVuln
4 w) M! h2 t {- o2 dfistWpnVuln
% G- w& i+ _, K4 W( R3 Q) adualWpnVuln: K- V( I' i$ _3 l4 g4 U8 W$ u
dualFistWpnVuln- h" }4 q. Z3 I0 Z
bigSwordWpnVuln/ i8 ^" g& _* k7 `4 }
+ b* z5 K7 c: z! y& NОтражение7 Q- |6 B% v* o$ R, f2 }
8 v! ?; k! L! h) H3 VПроцент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)
# z8 N6 K6 s% [2 V) w5 i# L9 \Процент рассеиваемого урона - absorbDam
" q9 O* Z5 k1 vПроцент переносимого урона- transDam
/ c+ d" O+ y. }, |+ lОтражение маг. скилов - reflectSkillMagic- \ Z/ P6 e* b( T* e1 ~" x
Отражение физ. скилов - reflectSkillPhysic$ Z- d+ }% w1 J+ c, \6 g8 t* c4 [
3 f+ F( |. T# y* t+ k
Другое (для примера):
0 k! Q! G" a0 r) X9 g$ j9 h# r1 s$ ^& y$ F0 T* l
Атака для гигантов - pAtk-giants
6 p( D# q- @# y2 UЗащита для ласкать - pDef-undead3 o& u0 p2 Z4 ]0 [, K9 { E6 V
Атака в животных - pAtk-animals; ^" c. W: x# m/ Q9 o* |
Защита для монстрах - pDef-monsters2 r" A) h/ L# {" D6 c; L
Лимит инвентаря - inventoryLimit" N* Q$ k) W! B. K0 }' @
Лимит ВХ - whLimit
C( ?2 r) k5 C# Q' SFreight лимит - FreightLimit
' K8 T* }0 X7 b0 D+ J/ Y: tЛимит продажи. - PrivateSellLimit2 b8 q0 |4 ~# N# z7 f
Лимит покупки - PrivateBuyLimit
0 L9 j( R* [' x9 o6 F g+ v1 w) ]Лимит гномьего крафта - DwarfRecipeLimit
- ^! @, a* b8 d6 x2 nЛимит common крафта - CommonRecipeLimit
* \0 R) d7 Z5 A- l8 XПотребление МР физ. скилами - PhysicalMpConsumeRate6 Q( k" Z9 S6 H, e) s
Потребление МР маг. скилами - MagicalMpConsumeRate
- ]% y1 H6 B! b8 o; GПотребление МР дансами - DanceMpConsumeRate
3 ~3 I$ M1 H/ }; H& hПотребление НР - HpConsumeRate1 ~" ?, s8 G/ n' K
Потребление МР - MpConsume
" ], m5 M3 q! {8 S4 fПотребление соулшотов - soulShotCount( o9 D; r! D6 X# F6 c3 Y
Skill Мastery - skillMastery7 B9 ^' K9 [0 i3 s& q0 {' `
Время пребывания около водой - breath
& j! B4 l. ]1 r8 D. u9 |
. T# R# M; _) v' l9 X8 rВроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
# B' @% B+ @9 i1 k
6 p F. D& H. }0 O' H7 j# \1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:
- k. s& N0 i* A) m0 { u2 t: J2 Y3 b# {
TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry); }. i; |- S9 x1 q5 O" P% A
TARGET_NONE - мишень неопределена t! @1 \+ L: I* E
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.: C6 r$ W, Z7 h2 h
TARGET_AREA - обозначает, который скилл довольно массовым/ A% Q/ q- Q4 V( G7 I' N
TARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
* c" w1 y3 ]! @: U1 b- K* y& t7 W: T' R, H4 j% {) K* ^
2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)
$ @0 e% w& J6 mПринимает следующие значения:4 p4 {, O _% }5 ^9 }5 c
BUFF - бафф (оказывает положительное воздействие)( U* c9 f( M# @& z" ]$ ^
DEBUFF - дебафф (оказывает негативное воздействие)
0 i1 L* ~9 c- E* e! y+ ~" [8 \9 _" p/ ~& d
3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)+ j9 {) r) J: [$ Q3 e: h
OP_ACTIVE - активный скилл, может являться использован игроком! _0 Z' m( n2 u9 ~6 E- g
OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)8 f6 m( R/ i) j* m( J: X0 e h
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:
% _) `) O% s/ o& v. _1 D9 @ q) G-power - значение скилла) H% T8 A/ P; S" ?, N
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки/ f5 K/ _; i# O. s6 Y* L
-reuseDelay - откат скилла2 z9 U4 S ~) n. d' z) S; |7 A
-hpconsume , mpconsume - потребление МР, НР; J& b2 k. m, j' v
-castRange - это дальность использования того иначе иного скилла (дистанция)
+ O; F O {1 Y! V4 W% w-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)
1 N7 h- X3 d" J8 ?-effectRange - радиус действия (для массовых скиллов) d8 Z% G9 F* _
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.( A. p0 z8 y6 z6 ^) M6 P
Это основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.) f3 I2 u; M w# p, a; b% p$ W( Y0 |' t
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .
# t( k' t! ^. |" @: qПриведем первообраз использования тега равным образом тега :% c8 I& L+ T: ~5 M) W. a
9 p1 ^& ?" _ J) R
$ U$ H3 B/ I! r8 N; f
& u! C. `/ K+ ~0 t
Что сие значит:9 c: B* U. Y& w& ?, F; h& U& k
. c% h& @# j R) n: o* ~! ~1 Iname - Это характер эффекта
8 x! f: W' F% t6 o! d: L" cval - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.
$ E3 e8 W* a, xtime - век действия эффекта
; e. Z! D: p3 Z- PStackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.4 O! G8 p! J( j( p( v8 F$ w
" |* E+ L6 W1 k- W& ^. u4 i$ B, ?Думаю со скиллами я разобрались, нынче перейдем для зонам.
' K8 P) j' t" ?4 i4 O( E% R& W! N9 ^2 j( e" e/ ^/ w
Часть 4. чтобы начала описания зон используется тег .( E1 m& a# ^5 o8 |- m
# J+ S$ ^5 o& M6 j- F% i& ~7 x
L9 ]; b: {( H6 @+ N8 t# T) |
<!--Комментарий-->. {. g, W( t( T$ d
& Y) `* `# ?( i* U/ S
Пройдемся за значениям:) J3 i8 s9 J& s4 A
. E, d& x3 o0 F _4 X
id - идентификатор зоны.
1 n3 ^( u: }/ Ltype - образец зоны (town, arena, jailzone). Например:3 Z1 }1 z% y$ }/ T6 L9 f! D" I/ h/ n R
Town - мирная зона (город)6 F! t2 z% V2 x' ^
Arena - боевая зона (PVP)
4 l& I' k) L% @: T8 }4 ]JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт., j, t) H0 T' B4 T, i& k
shape - это платье разве подобие зоны. Может водиться двух типов :' F$ e7 t8 ]& ?' q9 z" w' N9 n
-nPoly
0 `/ @% v) \9 w% Y- E-Cupoid.' J4 C! D" ^, g. o" f
minZ - это минимально допустимая координата гора (z) на данной зоне .
$ T' v+ n& g5 {% N; N3 TmaxZ - это максимально допустимая координата гора (z) на зоне.
" f5 @- Q* g2 x8 G q) nminZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.
7 P* {1 D3 a: }. q: i$ C( P |