Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон/ T9 d J" f* h' q8 `
$ x5 T. f6 ^- j9 R. @. z
Часть 1. Введение* h( ~0 K# m9 p! }
- s9 `: _* B4 S1 L: p
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.' n7 F X9 k% d
Первая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.( {0 L7 \; M6 n' h5 I/ C
) v& u1 M, }5 |$ P$ z
Спецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.) R f3 T4 t1 J# x8 a- [ ~- u* G
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:% i# |) O" A$ T; [
6 u+ s7 \3 b9 G6 G' ~
<!-- Текст -->7 z" [7 u+ b! Q' t( r0 u& N
) r7 Q& {4 [0 {' p8 E9 P6 r9 W& qНо я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.5 p( X2 l8 \# O( z3 U
# R) c3 F* T( I9 J( t3 |* X; G) q" y
Часть 2.Изменение статов вещей.
Q9 F0 G5 p# ~
4 r+ x, _+ l; B% O eВозьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
3 V4 D, _0 Q0 Q$ x t& a/ \3 ]' R/ K! A* u# b/ Z
Для измения ее статов тогда нам нужна лишь одна строчка:
; g7 g2 c& V& P( Q8 x7 a1 z
# c3 A5 u# w* `* b# a5 ~3 i vЧто это безвыездно значит:
4 z9 y' E6 Y5 }- N
, ^2 \3 L" c1 j" U& f% w/ C QТег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?
6 k9 U( p! j6 v" b9 V1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
6 j/ J0 y% f! _- O i! M. N( m' R& y5 W9 d" Y8 C
<add val='100' order="0x10" stat='pDef'/>1 F" w: l7 d* F5 m6 s
! U! N* {0 X( O6 v5 x9 O% C3 g* ]; SДанный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).! W# d2 a6 i( Z, u
4 z) E q- s% e8 B5 Y
2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.
) t8 x6 s2 a; X* Q) ~
1 F8 I/ r/ U9 t& mДанный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).
: j' ~ u. L6 E4 S1 J: L
" Y9 Y) x5 ~ g4 ~2 m7 K2 @, P1 ?! k" w
3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
: r) F5 L! A) ?( A1 S+ c0 |7 o& z
Данный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).0 u4 W" Z. `- o+ ^2 K) V
7 T) r1 Q3 u) Y8 c4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.
. N* A& {4 Q9 A# b# G& I4 {- u+ c* |* J; c; e$ v2 k- z a
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).+ Y9 z" [( l2 o- s4 J
4 o2 i& k3 k3 B' y
5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.
. K: d- \1 `. t, b/ |. B. Z, X& \% n4 _' J9 G' U" a# u" @
Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.
0 \* c2 h9 a6 x# z! NНиже приведена список значений "order": \$ ~8 _9 g, W7 V* X
' @0 {! o6 n* s0 {# u0x08 - set! n c) K6 H3 g
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)% J$ \; x) {. [
0x20 - отнюдь не нужно) N! I. r7 ^, t9 }* ^; Y" X
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)& V9 K' D9 Y' }3 q6 U$ y
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))
& W8 ]* Z3 d/ p! f0x50,0x60 - никак не нужно4 v' v4 G1 ^. b% J# L2 w& U
0x0C - enchant
, K. M0 {# w! R( o1 v( D9 }+ U' g" X4 {' V0 M6 y
Часть 3. перемена скилов
$ n6 b) A4 @; h* H3 C
4 ^- z9 t1 S/ d! y+ A& qСамая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.( w9 G5 _% k7 t5 v4 R& e1 `# N
4 }, O7 q! c2 Q9 HИзменение максимального количества HP - maxHp7 h, T. C* G6 \2 y2 Z0 H
Изменение максимального количества CP - maxCp* }8 z; ~) x/ f% e! H a
Изменение максимального количества MP - maxMp
% ]1 s1 X* u: u+ wРегенерация НР - regHp
6 ?6 g& O# L/ QРегенерация СР - regCp0 T8 w/ x) I& C+ f; ^
Регенерация МР - regMp
+ F$ x( @4 K; LЭффективность хила - gainHp
( v9 h b; a2 ?2 M5 n- T8 {Умение хила - giveHp, w4 m! d/ u A- B) v4 {
Бонус хила - bonusHp
6 S Q0 T" j& A# F8 `Физическая опора - pDef a. Y0 i6 w2 D: h9 z% N+ \ L
Магическая столп - mDef' Y* |0 {( x- C
Физическая набег - pAtk, U8 ^2 d0 j6 v/ l; z4 U
Магическая набег - mAtk
' e6 z# ]0 d9 U0 H8 _0 i5 q' I$ f! |' PСкорость физической атаки - pAtkSpd" Y' F' _0 u! E s% X
Скорость магической атаки - mAtkSpd8 X" @! W% x! j. s
Скорость отката - mReuse% X5 W6 [& B* Z
Защита щитом- sDef
6 q3 |3 |; [" S) W3 Y3 V2 TУгол защиты щитом - shieldDefAngle
2 e9 m& d1 W m/ p" g* y' }7 FКритический пощечина - cAtk
! q/ ^; v( D: a" B6 eПрибавка для критическому удару - cAtkAdd' H2 ?( k+ d" e6 |* _/ f e
Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg
. z" c7 A8 o$ f; |Маг. урон - pvpMagicalDmg6 L, a' x1 C! s9 I: E
Урон скилом - pvpPhysSkillsDmg" N$ ~* C* Y1 n3 R' G
Уворот - rEvas
2 ]& v( Q* d3 n1 \" {Уворот через скилов- pSkillEvas2 y8 [: n. a, {
Шанс блокировки щитом - rShld8 u( l2 z* n9 v
Шанс крита - rCrit5 s7 h2 M' j' [7 Y; i+ ~, `
Шанс Blow - blowRate0 v) J \1 `; x4 _: V
Шанс Lethal - lethalRate
8 M# z+ e4 M' V! W5 _4 Z1 K3 rМаг. крит. надежда - mCritRate (mCrit doesn't work!!)+ Q2 L& P1 z& o8 z
EXP,SP надежда - rExp
, M2 A9 p; A: x4 u5 f0 ~Cancel - cancel
7 F8 A# h" a/ L0 oТочность - accCombat
/ Q3 X7 g3 D" Z# q& w) Q0 MЗона покрытия физ. атаки - pAtkRange (for fighters)
# e4 B0 t3 H( w- C Y0 OЗона покрытия маг. атаки- mAtkRange (for mages)! h1 }8 U# Y& K: k- t2 q; F
Угол атаки (только с целью воинов) - pAtkAngle& l5 b2 X. C; T0 g" `0 u! c
Количество атакуемых - atkCountMax
( |8 ~: T( X- u3 Q/ y7 C; sОткат физ. скилов - atkReuse4 d4 P2 B) g E
Скорость бега - runSpd/ b0 F2 Z5 F! W2 @
Скорость ходьбы - walkSpd
# K" b& k% t: `1 i; p* l3 Q+ d, eSTR - STR8 L. V# B8 b, F
DEX - DEX, r. _+ J8 h' ^. R# A8 y9 [
WIT - WIT
8 A4 D: r% ^) f$ o) A6 `% zINT - INT
+ C$ ~ p* e2 tMEN - MEN5 I/ ]" K" g0 s( H* I1 b ~ e
/ k* {0 _# |$ J5 e, |Уязвимости: G0 @& O6 X, [. L* e
1 @- x* H$ h4 k+ o
Агрессия - aggressionVuln$ n/ x0 Z! `- m2 r8 [$ @
Кровотечение - bleedVuln
; P( ^& L4 d1 O0 A8 v$ L- S$ uЯд - poisonVuln
' Z j( a! t1 l4 c% F' i4 \4 LСтан - stunVuln
1 d- y9 Q$ g& I: v/ |2 ~" O8 `Парализация - paralyzeVuln
1 |& q% R7 i0 X; E' o% oУдерживающие заклинания - rootVuln
3 Z* O% z3 Q4 _, \Сон - sleepVuln
, r' c2 `% H$ G"Перекидывание" таргета -confusionVuln
& H: @1 I! n7 ]$ B1 fДвижение - movementVuln
+ r3 \6 M$ N; c( [+ O- xОгонь - fireVuln
e3 l0 G' u' z8 {9 n; b- RВетер - windVuln: Q. J6 g3 x( R5 |4 t
Вода - waterVuln( h% F& [; K: \, }# ?. N
Земля - earthVuln
# t) K2 d9 X* l5 r; x3 x0 EСвятые атаки - holyVuln
4 K, G% R+ r: X3 fТемные атаки - darkVuln
! F% I0 H% t/ E! B# z1 \Резист для cancel - cancelVuln
& t2 c, h4 I2 Z( b0 a; bДебаффы - debuffVuln' r) I" f+ `% H* G2 Y! l1 U
Резист для криту - critVuln
4 S9 d, o* u6 p$ ~
, T" u: S/ U1 n% I5 b+ u( ?Резисты простив оружия (тут думаю изображение никак не нужно)
/ E" v# c* i! @/ }6 E* d' j5 Z
/ o0 ^; D$ @# }0 O# HnoneWpnVuln+ z X3 R% m0 I9 Y3 u- k
swordWpnVuln
) b/ |% O# `/ h( ?8 m: q# h% Y7 FbluntWpnVuln# o: D5 Q2 x V
daggerWpnVuln1 ]0 o: b6 H( A8 S+ M. L
bowWpnVuln
, [5 J+ A1 {! J/ Z7 L5 j" A) a. ocrossbowWpnVuln8 S3 B/ L- E1 x4 b- a& I
poleWpnVuln' q" }; p4 e) g2 h# \' a+ C
etcWpnVuln
5 n0 }: n6 L& n& ZfistWpnVuln% q, l; I7 \! `5 J4 q
dualWpnVuln
6 U+ Q" K) r8 V& d. d9 D6 R6 m3 EdualFistWpnVuln4 E& Z! s5 z% U3 v/ ?+ ]
bigSwordWpnVuln
2 s6 S5 \7 L% @7 u7 A$ D: j+ H( B& N5 [& _
Отражение
; \6 [ g. B/ j* l1 ]& x- j; m" c3 Y* J# t% d) T: s( E3 w: b- w8 \
Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)
" H k7 m5 M4 l4 x, n! |+ [Процент рассеиваемого урона - absorbDam* g& k3 r& i V$ ^, J3 V
Процент переносимого урона- transDam
1 U8 M) n- u8 s2 l/ j/ ~2 s# W' \Отражение маг. скилов - reflectSkillMagic$ x6 e$ P5 D c5 O, }7 [
Отражение физ. скилов - reflectSkillPhysic
% y% _8 W' J2 {3 I, S6 o
6 q3 D# M4 d% d6 Z- j4 OДругое (для примера):
; {) t9 P4 K$ |* _2 Y2 A- c2 }! ?8 p4 Z! k, M6 ]
Атака для гигантов - pAtk-giants
1 y8 G: ~' ]+ I" RЗащита для ласкать - pDef-undead: S- {7 @. Y" H% H" J; R5 ?
Атака в животных - pAtk-animals
: @2 T% n* w6 hЗащита для монстрах - pDef-monsters) d8 J% Y& R" x) `: C
Лимит инвентаря - inventoryLimit
& W2 z2 g! o: J7 c( L, O* i" ^7 X+ ?' lЛимит ВХ - whLimit
' P H1 m/ r4 m" {, |9 wFreight лимит - FreightLimit
4 b* ~9 x& C! u, C0 EЛимит продажи. - PrivateSellLimit; I9 @% n9 H: Z
Лимит покупки - PrivateBuyLimit
6 @; N2 E+ n) ^. U; nЛимит гномьего крафта - DwarfRecipeLimit8 K+ n9 I$ s1 K( m6 n: h* d2 g
Лимит common крафта - CommonRecipeLimit
& \* f3 w5 k. I a6 U* f9 KПотребление МР физ. скилами - PhysicalMpConsumeRate0 s$ M% J- ?- a5 ~5 p
Потребление МР маг. скилами - MagicalMpConsumeRate9 X3 m5 P0 d1 A% b, i7 d
Потребление МР дансами - DanceMpConsumeRate4 U+ k- Q6 A5 l4 w) ^
Потребление НР - HpConsumeRate6 c% m% M5 F" ^% q2 E9 H
Потребление МР - MpConsume t" S& t7 r0 A5 V) U- r* |
Потребление соулшотов - soulShotCount/ H( B/ `0 M" T* _- {
Skill Мastery - skillMastery
- p$ K- e& W8 T |* B3 G! }Время пребывания около водой - breath
% M! p2 v8 l; G5 n1 H. J; u! u. d5 O2 ~/ x/ }
Вроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
( z% i3 T/ \# Z1 K0 t7 w+ E8 q3 J1 @& _& r0 l( C. Q$ e
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:0 U& W: v0 D8 G* n3 \1 J
0 q6 m# _* g# aTARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)
* O$ n' b) C3 c% vTARGET_NONE - мишень неопределена/ B6 l* K+ a5 s9 ~
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.5 f. G# i( D$ |) x4 D% a
TARGET_AREA - обозначает, который скилл довольно массовым
& L- _; w" I! W4 ZTARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует5 V& B( W$ o4 I5 p( L! a
+ u, F0 r- V; s# I" L1 t( H7 z
2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)9 s9 r. m4 `0 U
Принимает следующие значения:' d1 {$ W2 l; l! Q3 n
BUFF - бафф (оказывает положительное воздействие)/ O( | P& ~+ j5 b
DEBUFF - дебафф (оказывает негативное воздействие)
7 |3 f( Q5 b9 ^: T( q4 e, b8 [9 P6 w; W6 Q d4 x/ z; g; l
3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)
8 m$ P/ k, K8 x$ u* x( g) }0 MOP_ACTIVE - активный скилл, может являться использован игроком$ d0 A, Y& \% X$ t% b: t) S
OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)2 t# p2 y, x1 H/ r" i
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:
2 w' e, t+ }' C1 Y# |' X# u/ r-power - значение скилла) y6 u( T! J! J2 l, |, k
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки- w- y9 L7 ?% |! F, a. X0 L- B/ d
-reuseDelay - откат скилла/ \5 f4 ?& x9 V" S) f
-hpconsume , mpconsume - потребление МР, НР! l3 Z4 n- `. c4 z! s2 n
-castRange - это дальность использования того иначе иного скилла (дистанция)
! f( g( d+ Z# h7 B5 a9 G: q-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)
. C! p7 q3 g ^: \8 r) C1 _8 ]; n% g. s-effectRange - радиус действия (для массовых скиллов)* S' D- X* A; x) c: H
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.
9 E Q( t. _7 _1 a3 O6 OЭто основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.0 f$ W. p4 G7 L
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .4 m4 ?4 }- V" H4 G" P( p# I& ^
Приведем первообраз использования тега равным образом тега :8 D- s( t9 p9 |7 D6 o
' w! J- @& y: u j" \5 q P+ d+ V# {( T" A- f- V. C$ O
) ~2 c& W F6 b( F7 g
Что сие значит:, g- D7 A2 G9 _
$ M0 U* [, I# t$ V7 F( \) M9 y& q
name - Это характер эффекта
. K: q( U' G3 x/ Z1 n6 n6 Kval - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.% F2 q9 ? [4 V
time - век действия эффекта9 o2 a9 A/ G8 |* Z: w) T# A% n
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.
7 h2 K0 F Y* Q! @$ J! y$ l0 w. [* U! a& a4 |+ Z. r& D1 z" g
Думаю со скиллами я разобрались, нынче перейдем для зонам.
1 }1 D2 z, ]; T
8 F- b% a) o( J# h4 D" G' zЧасть 4. чтобы начала описания зон используется тег .; T7 v0 _9 R7 u* I5 J7 r
/ `3 T9 h, w' s! N8 |" L. G7 s4 ^
. T+ L+ S `0 j7 p! H& ^6 S<!--Комментарий-->1 ]! L1 O0 ?; M' P) }5 [: q8 Y
5 n. Q) j. S' G+ v# [
Пройдемся за значениям:: j9 h" \, |+ L8 F0 A2 T1 Z
9 o8 K$ t1 |- p: Q8 Zid - идентификатор зоны.+ s8 U9 b, K- V% i9 k2 h2 n' Y6 D
type - образец зоны (town, arena, jailzone). Например:0 b8 m8 G- S+ `/ T
Town - мирная зона (город)
6 M$ e% L- P9 l. G- KArena - боевая зона (PVP)
3 p; R$ c! D8 lJailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
9 X* s0 D& I0 l( c) Ishape - это платье разве подобие зоны. Может водиться двух типов :
, g k, n$ S! Z2 }6 h P: ~-nPoly
* D& T, [+ l: a$ I-Cupoid.
4 M3 A9 a+ T' v* {$ ~. y+ `: U; yminZ - это минимально допустимая координата гора (z) на данной зоне .) z+ C2 O5 h2 |) S& `
maxZ - это максимально допустимая координата гора (z) на зоне.
- r9 l7 m0 t# F. ~& f4 J: _2 M& lminZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.
4 ~+ C7 n8 V5 R4 I3 n |