Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон" ~+ E% L3 }# c( Z9 b: X: K* W
9 G; C( |6 m1 ^Часть 1. Введение5 S& h1 D* Y" A; T4 V1 c+ }
5 h& A# q+ c2 eНачну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.9 m k# U8 L- }: ]. D$ l
Первая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
' @/ u: |4 n! M2 R
0 N$ e, m) |" [4 i4 GСпецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.. [2 T. ?) x. k' e: L2 f, U' o
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:, a+ A% ^4 ~, V2 f
4 D: X3 R/ i4 b
<!-- Текст -->. ^! t& l# Y; \1 T
5 ]; @6 {+ ^3 t+ GНо я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.5 O& v+ j7 G8 j' H% l
, j2 K7 ]1 W! P7 g# PЧасть 2.Изменение статов вещей.
' U6 b. K, T$ m$ k6 h. @+ R+ ~; X" e# \% }
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
7 B( b* N# [# u z3 n, ^4 W: |. E+ l) O. t. Y1 Z
Для измения ее статов тогда нам нужна лишь одна строчка:! Q5 @" j: Z0 G+ o. @
7 Y. J0 ^. ^4 ^- u' D
Что это безвыездно значит:0 r9 X( W- C- a7 t
9 y( p" ^( Y2 l+ z' pТег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?$ V; s# q. L- ~( R1 `! k/ s4 z
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.& i9 R0 I5 I1 w: T, `$ A9 R, I
t1 _; d$ l; p1 c0 I# U" R( _0 Q% _5 s<add val='100' order="0x10" stat='pDef'/>
7 [9 B# {, {$ @! ]+ P$ d! g- C
2 j9 B* R$ V# I4 O* H' k8 E( B' n; IДанный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def)., i& {0 w @% [/ `9 W/ x4 N
9 ]7 ^* |: F- X+ H* w" m
2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.7 x2 G$ k. S% T4 q+ ^5 H
$ W' e8 B# W' j$ ?
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).
) X# F; V5 Q/ Z! F. [2 Z
, ]! {" x7 r+ e9 h: j6 x: k0 L8 M2 \; ^6 x
3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.1 f( g1 } ?$ [% g! T* ~
- q6 m3 A! w! g$ @+ ]/ M9 KДанный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
8 F& `& V Y7 c& P5 `" P6 @( t1 H6 n8 _, B k3 E) |) D# ~0 z0 t& |
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.7 r8 k( X- |4 N L
* M) L/ u4 C# p& Q7 _. _' }
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).6 {0 Z- u0 w8 b. `3 S) L- U
/ Q: W: f( Q3 ^+ z6 T
5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.+ z' u- T% t1 i; y: }
) t$ ~ |- g/ ~" D( T
Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.; }5 A F: |, H
Ниже приведена список значений "order": }& ]% S- w! |8 t
. {7 _- r, g" f- b6 p0x08 - set
5 W, X: s" e0 W1 t/ c% W. ^4 s0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)
7 e) r9 C7 W1 _2 M' f0 ]0x20 - отнюдь не нужно2 @' r6 m# z" [. A; w
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)+ d' _# {& R! Q: ?3 Z1 I
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))
! G: O$ `, a( E+ [7 I' j) U/ U0x50,0x60 - никак не нужно
" b3 ?3 a$ t: I0x0C - enchant
6 S3 ^4 @ X, p1 a2 f8 w4 \/ q% o0 k6 S' @0 q K! e. P
Часть 3. перемена скилов" [4 _ D! R$ m# |* n
" j/ e7 Z! z( _# @# s& sСамая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.4 ?8 g# U! o* s/ k k/ o
8 y; p5 @, \4 C, a4 S, W: VИзменение максимального количества HP - maxHp
( _8 F! H+ N7 `% B7 ~Изменение максимального количества CP - maxCp) Z4 e+ z2 G* t
Изменение максимального количества MP - maxMp: V( H0 \( B# w& A! l7 f$ _, t
Регенерация НР - regHp
& `* {" I' U* ?: `Регенерация СР - regCp/ ]4 E$ s5 n v: V) G3 q) d
Регенерация МР - regMp& {6 C. v( e; }' L6 K7 ?
Эффективность хила - gainHp, k- n9 N+ ?1 Y T$ W% C" L$ s" h
Умение хила - giveHp
! \% u2 N9 Y1 x. gБонус хила - bonusHp# M" Z$ H( s. L5 D
Физическая опора - pDef
/ {. b( Y) M& r# i5 ^% \! SМагическая столп - mDef! S( d b- L5 x5 I+ m( O. u/ z0 F
Физическая набег - pAtk
5 }4 p. W% _- G0 n: z& g& |Магическая набег - mAtk& u1 ]. d% o6 M$ s6 w+ ~: T
Скорость физической атаки - pAtkSpd9 e% B6 h0 V) u5 D9 _* e
Скорость магической атаки - mAtkSpd
$ H. l( a, r! a2 h( C1 c5 v2 M% X5 pСкорость отката - mReuse
2 s* s4 X/ Z; x0 WЗащита щитом- sDef' p; D# n& c1 m3 Z R6 j) p
Угол защиты щитом - shieldDefAngle6 Y. H$ a+ F- O' V) ^/ G$ S
Критический пощечина - cAtk+ @4 \& A7 t0 t( J' O
Прибавка для критическому удару - cAtkAdd
7 Q/ H! C0 N" U5 K. P, KФиз. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg' k. y/ ^" p" }$ F
Маг. урон - pvpMagicalDmg8 M4 T g, N) X B
Урон скилом - pvpPhysSkillsDmg
% \6 M9 ?! h1 a3 yУворот - rEvas
! N( Q7 f- O4 ~Уворот через скилов- pSkillEvas
" z8 h' p5 a' EШанс блокировки щитом - rShld
) h2 s E7 g& @. TШанс крита - rCrit5 L/ H0 a2 W9 w4 E5 y* v2 ?4 W
Шанс Blow - blowRate" E7 U: M) L' @6 T4 z
Шанс Lethal - lethalRate' F9 ~. V, w" ]% P) z3 h
Маг. крит. надежда - mCritRate (mCrit doesn't work!!)
, Q7 v9 S- r$ ~EXP,SP надежда - rExp4 J, M% g+ P# w: q- s- |( ?
Cancel - cancel
`2 f1 x: {+ ~( i2 J2 x( vТочность - accCombat; F K' I" i- i& Y
Зона покрытия физ. атаки - pAtkRange (for fighters)
& T/ L x1 P: L' C( l0 ]+ kЗона покрытия маг. атаки- mAtkRange (for mages)7 ~5 q8 D* H; j0 p3 e, t: M: c
Угол атаки (только с целью воинов) - pAtkAngle
# r8 L2 P1 j7 ^0 s( wКоличество атакуемых - atkCountMax
& |# R- o* i5 _0 J, dОткат физ. скилов - atkReuse
8 L6 |" T& i- P. F6 ^& VСкорость бега - runSpd
9 S( H; ]( g- k7 u( |Скорость ходьбы - walkSpd
1 c! s( b7 v# ~2 Z$ xSTR - STR4 Z2 q+ } k4 w' l- m/ x/ p
DEX - DEX
, i. p$ f L% g4 D; [WIT - WIT
; b! o! S- I! ^- gINT - INT
( ^+ N$ I% r) ?8 o7 VMEN - MEN1 P. H# ]- `* S G
+ S0 e* y, P$ C, `, q7 x" i7 yУязвимости
7 E* W& k" ?$ A9 `2 H" s; e! r4 c s( p `2 M6 p- z1 o3 b/ O4 N, z6 b
Агрессия - aggressionVuln
/ v/ P. C3 ]: s+ w# Z+ F# EКровотечение - bleedVuln
9 G( r7 X& m1 M* V( ~, f$ D$ e5 AЯд - poisonVuln! l6 H6 q& r/ i- J8 Z E1 Z
Стан - stunVuln
+ @1 p i4 R# eПарализация - paralyzeVuln
& D# H4 h2 t$ B3 P% ]" {Удерживающие заклинания - rootVuln
4 _) U9 _9 C, [Сон - sleepVuln
& A0 g6 u2 g8 l# V1 s/ Z"Перекидывание" таргета -confusionVuln
& b* o7 t! O$ B) b4 VДвижение - movementVuln
* x: I/ h2 H8 o: n2 `Огонь - fireVuln0 e8 s. n1 D1 {* R
Ветер - windVuln% {7 \% }/ ~7 p* A* P ^) b
Вода - waterVuln, s& d ]0 I3 N/ q
Земля - earthVuln, U; [3 o/ u4 |& h1 a( @: U
Святые атаки - holyVuln9 E; g% r+ V! }( P0 E" c
Темные атаки - darkVuln
& [" d9 v; a1 t z* n; N! vРезист для cancel - cancelVuln! [9 h6 h/ X' F$ }" T
Дебаффы - debuffVuln, n' J7 x7 s" E" c8 ?) S: @4 Z
Резист для криту - critVuln
; L0 b; U Q) L: ^8 C |& A' w- Q2 u1 N, e+ J6 {
Резисты простив оружия (тут думаю изображение никак не нужно)
1 \% C# }) c& S' S
% K$ W% ]. E! V0 ?3 d6 o7 [noneWpnVuln
9 ]& j p; G0 c+ XswordWpnVuln8 D, V2 ?2 y' Q1 x* y
bluntWpnVuln/ \- Q. Q9 ?! G, _! d) ?# o
daggerWpnVuln
' x& U' G! M: f9 Q3 Y% x3 u1 U+ }bowWpnVuln! g6 C6 Z) [+ @5 _) m
crossbowWpnVuln' I2 P+ L4 e! s* E
poleWpnVuln# x* y* Z& k9 Z" [0 H5 j
etcWpnVuln, m" u( o- P! \
fistWpnVuln0 }. I: y$ n* h) |) W9 d
dualWpnVuln
$ b- B3 X% j: B, I1 EdualFistWpnVuln% }# `( d+ W4 {2 a
bigSwordWpnVuln( ~' D) B8 M( }0 F9 I1 p9 Q
8 y- \& k' l& nОтражение. h7 e" T3 [- h
0 _$ {1 o+ P! x6 @4 ^7 jПроцент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)
- I6 a, Y+ K. b% {/ W# `Процент рассеиваемого урона - absorbDam8 K1 X; w! m' \! v- L* v
Процент переносимого урона- transDam
) t7 U: K% z5 x0 GОтражение маг. скилов - reflectSkillMagic: s6 Z( p1 Y' C4 }; F7 \# l
Отражение физ. скилов - reflectSkillPhysic
; Q( Y8 A1 s/ C
2 ]8 e1 |2 U/ ?9 t" g. cДругое (для примера):& w% L! X. I% t# ?/ ^" e0 C. C6 K
: d! c+ [" v: e+ J. l" }
Атака для гигантов - pAtk-giants, j0 `& t7 c$ b4 R. q* }" X; a
Защита для ласкать - pDef-undead
' ]9 Y7 Z& J; xАтака в животных - pAtk-animals5 ~ o7 r4 [! u) {( C) S
Защита для монстрах - pDef-monsters
3 _9 c2 g+ ?; B& E) r* _& a1 TЛимит инвентаря - inventoryLimit! E$ v' I9 w( x b- J
Лимит ВХ - whLimit
- ? H+ w2 `3 P+ H! ]+ E; f1 CFreight лимит - FreightLimit
. h! r+ v" X, ?1 K9 H/ Q+ YЛимит продажи. - PrivateSellLimit
0 d% M, b1 }( T2 l. L* hЛимит покупки - PrivateBuyLimit
) y# ?# y" Q; e" r+ O6 }6 BЛимит гномьего крафта - DwarfRecipeLimit/ A6 g/ @, ^( z9 q; W) a
Лимит common крафта - CommonRecipeLimit9 ~; G# M! n1 y* P) P/ H
Потребление МР физ. скилами - PhysicalMpConsumeRate( g# B1 N/ S3 L5 f2 T2 @0 `
Потребление МР маг. скилами - MagicalMpConsumeRate) D# ^1 C1 I/ S! g e5 |
Потребление МР дансами - DanceMpConsumeRate
% r) b0 V" Y1 cПотребление НР - HpConsumeRate) n/ ^/ ~5 e# W& H) R* _
Потребление МР - MpConsume
" ~0 f7 F, H+ O* XПотребление соулшотов - soulShotCount
1 M7 y' w: S% D+ @Skill Мastery - skillMastery
% B. \$ J( O, H' bВремя пребывания около водой - breath
+ H: n1 B `. u! r
( \5 }' W2 j7 d- k0 c! HВроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
3 |9 L4 Y# b) A1 J1 s1 m
4 x! F/ k2 B5 } b% \1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:+ S! g( s! k5 h$ b6 F( b& c
6 P$ `6 z6 k5 y- c
TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)4 C5 _! u" \+ b+ ^4 I& c' k \1 a
TARGET_NONE - мишень неопределена# o1 K2 K% P: L( F" I% {3 v$ c
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.; K4 Y+ @: k( ]
TARGET_AREA - обозначает, который скилл довольно массовым* D% I! u& Z* c. D" @. z
TARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует F+ o* T8 N( p, b
! ?$ v/ ^7 A4 _0 N3 _2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)
V9 D% B" a! O& [) r/ g7 kПринимает следующие значения:
7 h3 o, L5 L; S( uBUFF - бафф (оказывает положительное воздействие): Z1 @9 r9 S: l
DEBUFF - дебафф (оказывает негативное воздействие)% E( i" q5 J9 z/ |& J
$ |& b/ P' m& D( ]
3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)
" `/ c0 U- x1 n8 k, zOP_ACTIVE - активный скилл, может являться использован игроком. z4 s3 p9 {/ k1 @! ^
OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)
' L( `' z$ o1 I7 E) ]* rЭто были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:
. [, |* p) i0 t/ z) Q7 S6 |-power - значение скилла, H; s5 [4 j% I) h) ^5 \
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки1 h( n. D7 X9 ?9 J+ T
-reuseDelay - откат скилла
5 H+ [& A2 ~: F/ J-hpconsume , mpconsume - потребление МР, НР
" s6 W6 p* b7 B1 M-castRange - это дальность использования того иначе иного скилла (дистанция)
, c) D. z' e* T8 u-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)
2 v* O2 I* E( o* u* i- ]-effectRange - радиус действия (для массовых скиллов)/ h/ Z$ k7 T( `* x5 q6 z
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.
% k/ G4 z- }1 F8 U" ?) a4 tЭто основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.# H, K/ h" Y4 J
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .; {+ t$ Y: N: _$ c) |7 T: D3 Y
Приведем первообраз использования тега равным образом тега :
+ H5 y( j3 b- ~% f7 p t/ o2 ^4 L0 q$ F' }, n' E
: a5 m2 d7 l) ] K6 T) X+ V
W7 P R. G0 O% Z$ |+ D, bЧто сие значит:7 n9 S! W6 [" j. L L6 J$ c; O
$ J$ b1 _& T0 B( p2 R1 J2 N+ ~name - Это характер эффекта
0 ]7 L$ Y0 }8 A8 h% O# Nval - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.2 v' X3 j8 R" p+ S% }" y
time - век действия эффекта1 ~# _ h5 m5 i2 a# z1 {' X" ]5 h' h
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.) R* Y% W8 ]6 g9 f
) i# _: k. r% W7 B5 mДумаю со скиллами я разобрались, нынче перейдем для зонам.
2 {% A6 Q' V3 {
( c0 G) |+ Q5 @6 x: xЧасть 4. чтобы начала описания зон используется тег . q' I, Y% |0 N& {
T% ?6 K- @/ G" ]1 `
; K1 c9 w) H J2 I
<!--Комментарий-->* j) q+ @# ?6 z1 C. ]' D6 X
/ |+ [ s* e! H" v2 k7 Q1 z
Пройдемся за значениям:" X& y/ A. [7 x- o- X% J
0 m' a* u' k' F) t" f, sid - идентификатор зоны." ]4 _* d' O& ]* |$ t" b
type - образец зоны (town, arena, jailzone). Например:
! W5 c! q1 V" yTown - мирная зона (город)
) S- w5 M7 p$ vArena - боевая зона (PVP)
4 _; s+ v6 j7 S3 i3 `! LJailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
# X7 N" x1 J# w3 Dshape - это платье разве подобие зоны. Может водиться двух типов :
! u0 K* W, J/ T7 \/ n! w) Y' k-nPoly8 E- M) f6 F8 P% d. Y- s; }& M* W
-Cupoid.
1 n% z' y6 N: [. N+ _0 v/ {minZ - это минимально допустимая координата гора (z) на данной зоне .
* L* ]7 @) r; }. q. ?! K. P, p3 GmaxZ - это максимально допустимая координата гора (z) на зоне.$ }7 ~1 l9 c0 ]
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.9 r" h& s& U0 i+ Z7 m( u3 N
|