Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон9 K t& k9 w8 A
$ Q# e6 Y* @7 ^* l0 R2 I% ~Часть 1. Введение
! \- y& D) P. X+ E$ J1 R. L6 Q4 [' N! m' C7 v1 H' C. Z
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.
) b) @* j, g3 y6 UПервая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
- w n% C0 A0 @ V
3 }6 k% \. F- K) m6 `8 EСпецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.: B# r6 g) ^) G9 b5 a
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:- K/ \+ W2 b& N x' I! b
3 [! _+ i0 J1 J, o* G* V<!-- Текст -->
]' `( K$ X: h4 X5 E2 f2 s& v( P g2 \7 q# [" ^9 x& @6 l( X- ?4 c
Но я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.
7 B; X6 u( t+ t7 y Q, v% a5 l0 B: d4 l1 l( H4 Y( U1 Q
Часть 2.Изменение статов вещей.
& d: w: d4 V5 ~3 b0 p) P3 c% ~1 Z# t8 ? o5 k% V
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
8 |) c# `6 F/ Y% A. d: O
0 s; {+ ?* R. W/ k' kДля измения ее статов тогда нам нужна лишь одна строчка:, ^3 n! l+ p! n! E5 d9 _- U2 x3 i
2 b' p. F, W, `* [Что это безвыездно значит:
U: f- x: f9 h3 g) A x! |5 D, f4 _
% w) O8 [* h: yТег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?, P9 G7 r( h n$ i! i, B, d d
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
6 E! O& U/ Q& b# u) C
* h S) I c" |. U2 [# m6 T<add val='100' order="0x10" stat='pDef'/>
2 n/ T. J: ~6 V7 I8 L6 d2 K/ p" x Z
Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).
8 h4 [. c8 f8 x/ _7 B1 U' k; G) M
4 _7 X5 Q2 ^( C3 r2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.$ F- V; o: i0 c0 ^4 `' B
8 }) Y& d, T; k* K) r& M
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).
3 n' f3 t/ M( I! e% p+ G4 d6 G0 E2 S" J/ @' D% u
& |- o) K9 w9 v
3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.! w4 I1 N3 `! w
" A4 T/ ]/ F6 w8 H' n' t& f
Данный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
) [ S( F5 E# g, |' Z2 d6 A' }3 ?; b" o% w
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.
: p0 L) Z: F" f. V) W7 Y1 V: R7 w0 p4 L2 U, V9 J' d& Z
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).
5 A* m) b4 H# o
5 h% [8 b: l! t) M9 K5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.: W- ^% O; C- Z& g1 y4 G% L
, m' G$ z7 q6 F
Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.5 ~& X+ _: f8 F3 F/ e
Ниже приведена список значений "order":% {; T9 S' S; U2 U9 t
( G" \/ x( q) T3 e d0x08 - set
3 w# i7 y2 x9 e4 ^4 O$ Q0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)
9 `8 J1 R( V) K# R0x20 - отнюдь не нужно+ n$ M2 c X6 Y! O4 e8 k
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
' {$ o6 l1 H0 C d; N- y0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))) S) I0 O- _! U( s" b# [
0x50,0x60 - никак не нужно$ f1 e7 O( V3 n0 ~( S5 x6 |
0x0C - enchant
7 }6 v' W* A4 v5 H: L5 m) w* m1 L M+ Z* h% o
Часть 3. перемена скилов
- c& c$ p* Q4 N4 o# l
- A0 C0 O- C R' v' `& aСамая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.+ s ?; B' Q9 l$ U6 w/ t: c& u
) E" X3 r2 j5 j* _. m) ~* \Изменение максимального количества HP - maxHp
9 I1 h2 p6 M& s$ bИзменение максимального количества CP - maxCp
4 e' l3 o9 ]* M7 j- |' XИзменение максимального количества MP - maxMp6 g( Y F; Z' L" G7 {* s
Регенерация НР - regHp( I- J% S4 T0 z4 c3 m2 l7 m
Регенерация СР - regCp
# d! f% R y9 ^Регенерация МР - regMp
$ J/ B! t2 K" L5 X" GЭффективность хила - gainHp
' H8 M/ r" k/ RУмение хила - giveHp8 B" Y. u8 N2 V
Бонус хила - bonusHp
; S1 ]0 ]) P$ v/ o; AФизическая опора - pDef
3 j: m& V3 [7 z4 w; k' P8 LМагическая столп - mDef
" _! T9 i8 |7 C0 F: }7 BФизическая набег - pAtk
, g4 n3 @3 P* }4 e0 W) YМагическая набег - mAtk
5 |! w4 k( p( M5 k* fСкорость физической атаки - pAtkSpd
5 Z# O6 y/ j/ ~# f: b. X# G/ K7 v; \* }Скорость магической атаки - mAtkSpd+ r3 `& l8 k" u! V# c' P
Скорость отката - mReuse
$ J" K& V) f4 q5 {* C& K& eЗащита щитом- sDef
9 ~( F' ?/ t) S) G6 B2 UУгол защиты щитом - shieldDefAngle; B/ v" Y9 P) d7 J2 F
Критический пощечина - cAtk4 s( }1 I* S4 f+ N6 l9 n* c
Прибавка для критическому удару - cAtkAdd7 O; r% C4 C- r5 ^! l2 I# ]! G
Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg
& r7 p. a( |% n7 h5 G7 j SМаг. урон - pvpMagicalDmg# f" R! M( I l1 S, t
Урон скилом - pvpPhysSkillsDmg$ @ T9 r b c5 D$ M r
Уворот - rEvas1 p$ ?' y {" Y% e) s: j) V
Уворот через скилов- pSkillEvas
7 T0 o- e3 Y6 W. m: P" n' GШанс блокировки щитом - rShld
# v/ u% ?3 C$ `. ~Шанс крита - rCrit- ]0 l7 G4 |1 G' _" [
Шанс Blow - blowRate
9 i; l- L. {& r- HШанс Lethal - lethalRate1 W+ Z, I- b0 d+ O
Маг. крит. надежда - mCritRate (mCrit doesn't work!!) i9 f- m( y* O( q$ I
EXP,SP надежда - rExp
# \7 u ~( I9 h8 DCancel - cancel
* |. V( Y- H5 h0 d4 v$ Q6 ?& RТочность - accCombat# a B G! g8 A+ D4 ?
Зона покрытия физ. атаки - pAtkRange (for fighters)/ _4 p" X) v& p( }* b2 R4 |$ f
Зона покрытия маг. атаки- mAtkRange (for mages)
* C' a. _% P! ~9 c' [Угол атаки (только с целью воинов) - pAtkAngle& x; k' Y! x8 r0 Y' s( z
Количество атакуемых - atkCountMax
& K! ` T8 p2 M2 z3 ~Откат физ. скилов - atkReuse3 C$ I* c% W' X. B" ~8 \$ U
Скорость бега - runSpd
$ x5 X; C1 [: r6 | W! T5 P tСкорость ходьбы - walkSpd
# @. `. }3 m n( u# ZSTR - STR' ?2 c' a$ @7 E* w" V
DEX - DEX% ?$ q. C3 P$ g8 ]0 a1 g6 a) q
WIT - WIT
, d5 v! V5 W& s4 x4 X9 i9 ?INT - INT$ O$ R C! R. w: M5 T# I! i
MEN - MEN3 ]+ P1 ?3 h! R# W5 `0 g+ v
& H! ]+ d+ L6 u6 h
Уязвимости! b/ u( J' F' T, ^
( T! d- P$ G3 L7 t, T* w. @Агрессия - aggressionVuln- S' I2 J- [- k z: q$ h
Кровотечение - bleedVuln8 }) n. @0 A" v+ `8 B0 E8 D) {
Яд - poisonVuln
/ b! m2 m- I2 Q2 Q- L9 |Стан - stunVuln( s# [+ j" W0 \. r S; @" P% e
Парализация - paralyzeVuln' _( _ u+ m" u$ @% t" d$ o
Удерживающие заклинания - rootVuln1 d" }) a& ]8 z% P' W/ A
Сон - sleepVuln
0 r, B/ @3 D; f. J"Перекидывание" таргета -confusionVuln
( C0 d* S' F; z) T4 x- oДвижение - movementVuln
" b1 |/ O2 G% G8 u* PОгонь - fireVuln" `# t" X3 C) B; i
Ветер - windVuln/ @1 Q5 ^$ _$ D: Z9 E( j2 R9 n
Вода - waterVuln
) C) x2 v* K: v z- [Земля - earthVuln
% t' F0 j' @3 Z. h' p/ d8 MСвятые атаки - holyVuln
/ A& a3 H4 U1 F& W" YТемные атаки - darkVuln
/ F p- ?0 R% AРезист для cancel - cancelVuln3 [4 e+ F% b6 s$ K! f
Дебаффы - debuffVuln! A7 g; v/ f! r) l; _2 s: P
Резист для криту - critVuln
7 [3 Z$ v/ c* J# i1 b% a8 ` l
* G8 e m& D& yРезисты простив оружия (тут думаю изображение никак не нужно)
; V1 g& {2 O% y% U- `, h: ?6 m# k; J
noneWpnVuln
9 z& U" I- T+ X6 f9 XswordWpnVuln
3 ]4 ]2 b7 w0 l4 ubluntWpnVuln' |( J* J3 |: l& T# A5 M
daggerWpnVuln
; y4 A1 h+ I4 ]) `) ~bowWpnVuln! \ S8 k' `/ p
crossbowWpnVuln. n; v9 W* C9 I
poleWpnVuln
# y1 m6 ?4 i8 ?2 Y$ R6 k [etcWpnVuln
: m9 `( X) A0 G& bfistWpnVuln
, N4 @& a: q; J0 H* k: ?" r9 s" KdualWpnVuln. t* Z; e" s3 R- W
dualFistWpnVuln
9 i5 V |# n, ]- N8 H, h7 obigSwordWpnVuln0 [2 x0 L& @/ L
$ W' R+ i1 p/ UОтражение2 k2 G) }; h( F0 w* l3 X" U
" d. N D6 F6 k
Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)
! l. P2 K% M* R8 G( q& wПроцент рассеиваемого урона - absorbDam
7 Z7 [! u {2 u3 e& C! _! ]Процент переносимого урона- transDam
$ q# W' x a* Z) z# lОтражение маг. скилов - reflectSkillMagic3 S% |5 O2 U! W" w* {$ A$ a
Отражение физ. скилов - reflectSkillPhysic1 O7 {. C/ q5 p# f$ @
, U w I; l8 ^- B; @Другое (для примера):
7 O% v1 c( ]( Y$ n S$ m" f- ~% X! J% g" R, F1 Z
Атака для гигантов - pAtk-giants
7 i1 _: \2 f5 s( U- z ]/ C, q9 pЗащита для ласкать - pDef-undead
6 T# T$ j1 i4 v7 d/ ]9 b1 o0 \ ?Атака в животных - pAtk-animals4 X. O6 o4 O+ g
Защита для монстрах - pDef-monsters
; m! X. I" z9 `, Z& MЛимит инвентаря - inventoryLimit8 H6 \/ D0 u, M) M/ a
Лимит ВХ - whLimit
& F. g" C" }; U# `' u a$ ]. F1 GFreight лимит - FreightLimit
: M: V5 B4 _7 f& P6 l/ J0 cЛимит продажи. - PrivateSellLimit
3 `; Y4 c2 x) M/ dЛимит покупки - PrivateBuyLimit
9 }7 V3 R7 n* R# X c9 dЛимит гномьего крафта - DwarfRecipeLimit) R6 e4 \& n% e3 w: U
Лимит common крафта - CommonRecipeLimit
- h& y% {0 A0 Y% KПотребление МР физ. скилами - PhysicalMpConsumeRate1 X+ B8 A0 o. O& o& i$ q
Потребление МР маг. скилами - MagicalMpConsumeRate
5 M. d4 U$ ]! ` d2 g' o, h9 i$ PПотребление МР дансами - DanceMpConsumeRate
! j6 K# O! C7 D% d/ WПотребление НР - HpConsumeRate! L) S' @4 {* `
Потребление МР - MpConsume- k$ ]* p/ X$ d1 ?
Потребление соулшотов - soulShotCount7 R! P3 B: c) L6 O# s
Skill Мastery - skillMastery
; m* t6 v6 f; mВремя пребывания около водой - breath
: ?9 e* g# ^5 G+ O3 c7 o5 M- d- ~; {6 M+ x: }% G# S6 E0 r: |
Вроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще 3 l0 P b2 M- _+ z- V' ~
# R3 a$ T+ j# d* X8 H3 s' b' ^1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:
& ]2 F- E3 H, A2 p/ u2 o/ o; v" ]( e( ^& D. X4 k: m
TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)" `1 g' Z# u; D1 P% ~% e9 {
TARGET_NONE - мишень неопределена
" j+ N" C0 q8 YTARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.( U, @1 p( Q' d* ?" M% [
TARGET_AREA - обозначает, который скилл довольно массовым
* Q2 G- |1 K" n& NTARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
6 V$ Z2 k# r+ m8 `4 _& D. m9 f, r# q! z- V' Y
2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)$ p" m' D9 l5 e T* v
Принимает следующие значения:
# n& q9 g+ Y: z* f$ Z- q( O: BBUFF - бафф (оказывает положительное воздействие)$ n) S4 b4 a0 T! k0 c+ M! x
DEBUFF - дебафф (оказывает негативное воздействие)/ U, s( V1 p, E1 i/ a
$ f6 Y/ C* S2 k& m5 c3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)
& t0 e, K8 ?- z, Q- Z( f1 Z: lOP_ACTIVE - активный скилл, может являться использован игроком
9 C$ v! T" l h5 kOP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)& b# g( l! J6 Z3 ^5 v
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:/ M, Q3 d$ n, Z0 d, F I
-power - значение скилла
{8 ]0 {" V% }( v( ]% R9 x-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки
4 W1 J; a( n: T. g+ m2 A-reuseDelay - откат скилла& D7 [/ d- X) O8 Z. m% r1 h7 ?# D
-hpconsume , mpconsume - потребление МР, НР% k6 A- P: `; b$ ~& x; @% q
-castRange - это дальность использования того иначе иного скилла (дистанция)
) d# ?+ u9 c2 b-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)
1 \ p+ Q u/ H) U7 p& x# k1 G-effectRange - радиус действия (для массовых скиллов)- n* y( w! D1 v4 ^' i
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.
3 n! n2 S/ w8 ?9 RЭто основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.# \8 t( b: E1 Z8 g+ [: A
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .! @& }& d0 Y, P
Приведем первообраз использования тега равным образом тега :" i5 ^# O3 W1 o
. b* d1 ~- |! G
: r5 M. ]+ h0 g( d! ? u# s7 U( p5 q4 u2 H7 I5 i
Что сие значит:3 U/ i. R! X. H+ x) Y, x" D
; q7 b1 `; c8 W1 B1 C7 j
name - Это характер эффекта" p8 @0 P; G. l' d9 Q9 e
val - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.
" H# \1 r# o9 C4 H' Y' s4 k; {time - век действия эффекта1 u, r/ n2 W9 d' k" @! y
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.
& H4 h" E9 P% _% Q
7 j* k! }3 [* L* M, _+ sДумаю со скиллами я разобрались, нынче перейдем для зонам.
1 d: n0 W. c# [) P. q3 p% ^ h- D! I u3 l
Часть 4. чтобы начала описания зон используется тег .6 `/ k3 v' |; y1 g- {
3 h$ d8 F/ f- a* p% K# b7 r8 y& k2 I! B; t2 ]
<!--Комментарий-->+ N& I! @ F! d& J. s$ f
' p8 r( {. L+ b% iПройдемся за значениям:( K6 G& y' n7 [7 s. d
. M4 y; @3 @8 u m: F gid - идентификатор зоны.% n# ]; k- c0 b& Y
type - образец зоны (town, arena, jailzone). Например:
: W1 P- q/ A2 d& d( i3 v( c- n) NTown - мирная зона (город)6 _, p- ] e- b- |
Arena - боевая зона (PVP)7 \3 f) N2 u1 ?" z
JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
6 o; r$ f- z" J, Yshape - это платье разве подобие зоны. Может водиться двух типов :* f/ i" w' F9 v7 _3 \
-nPoly
A2 P$ F+ \. R4 R( R) j; }# N w-Cupoid.! S4 e; J$ N' b% J! W7 b
minZ - это минимально допустимая координата гора (z) на данной зоне .
% E) s* O1 I9 n6 ]5 R, emaxZ - это максимально допустимая координата гора (z) на зоне.9 W$ _& q$ p2 |! b: [1 Y# t
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.
* f0 Q* s$ A$ o$ B- S" m; ?. q |