Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон9 v* m) }) l" q, m
- J1 L; m6 ]6 P" j2 Y- _
Часть 1. Введение- A2 A% S0 s$ w" a) G* o
) p7 o8 g; |* G. V
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.$ u0 V. }: \ |! T
Первая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
3 g1 b* I/ `0 x. Z+ g/ |- ~% [% N7 x
9 m5 s# Y: ~( K" n3 cСпецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.
7 J9 \# U! q: m7 s5 O5 _Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:0 Z' X$ L3 f( `1 h: A- ~4 A
1 i2 E! Q7 p" k/ k( u9 ^. p( V<!-- Текст -->7 k* s# y: u2 q+ B
0 [% g+ d5 [( r2 p2 @& Y2 ^9 S+ [/ ZНо я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.
* L8 I4 T2 H$ @& Z
0 n7 A B7 Q2 i/ a7 rЧасть 2.Изменение статов вещей. w) j3 o5 a' Q- [1 p
; c5 W& r5 }, }6 K
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
# {: ^- K: D* Q: h7 F) X9 H
' k2 d7 [, f1 ~% N' m/ o1 ]Для измения ее статов тогда нам нужна лишь одна строчка:
' p: A' S( R3 K& n& A- l, u
& H3 ?/ v0 j4 O: X0 jЧто это безвыездно значит:' l0 r2 k: y0 m' m. z
! U0 m% k& |. a& ?$ VТег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?* Q C- T7 k; h- p" V
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
0 E2 P; l O* o U+ \% ]& W2 g6 L
- E& p, L; m8 ?+ L7 {<add val='100' order="0x10" stat='pDef'/>) M* T; @# [ y
1 g7 K( Q* Y% ~
Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def). C. @9 e' Y% _& ~" J, i. z& B
, U! H: l9 j' {2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.
8 r B9 T; t7 A3 Q& y9 }% \; C) E) `4 d4 ~
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).
/ \' K! L, Y5 r9 w8 ] e+ ~8 C* v. y' a3 ~* \" p. B
& e3 x- Z7 T8 `/ Z# r# S+ W5 }
3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
0 Q2 l c$ X+ X d9 o: N1 C
' Q n; f. m0 \. U2 V( OДанный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
* ]' M- o5 P4 i; n; d6 G& ^ g4 A7 Z' B( d/ d
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.
0 [ q* r7 q8 d0 t* B3 O" O+ |) ^3 D
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).! g3 I0 S0 Z' O; g* L- M1 J2 }
& @' T* U& F! Z4 y- S, a5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.0 N, o5 i1 ?0 v( q
& R( {! u! ^7 h: c% {" H2 t
Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.7 {4 n" r/ i4 E1 q6 [8 l9 D
Ниже приведена список значений "order":
1 w3 R' A4 W. N1 f: J) G" [) ]/ D3 ]" Z, [- w
0x08 - set
/ ~: H, l. w, H; Y2 C/ l0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)- E1 y* A. k3 B8 r, p9 f D
0x20 - отнюдь не нужно C: q/ t* a! J' a
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
$ x/ V: B; \2 j$ `' j- N6 }: k0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))" u: X6 Z7 y8 q8 ?' X
0x50,0x60 - никак не нужно% ?2 W4 U9 A2 u! f
0x0C - enchant' i0 [" Q* ? y
8 _7 `7 M V0 ?1 K2 |0 ?% x: U, J* y3 \
Часть 3. перемена скилов: H4 b8 Q) `1 U
9 O3 \; S# l5 m7 \) }" YСамая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.
. ] P& D1 N" g1 c9 r7 E& U. w: I" S, r, J
Изменение максимального количества HP - maxHp
) k) |5 G) n0 x3 FИзменение максимального количества CP - maxCp
: u/ ~$ I# _2 Y; {8 v2 u* hИзменение максимального количества MP - maxMp
* x) q+ e+ R8 D: ]; AРегенерация НР - regHp7 {6 \5 c8 |; Z# B8 p" _
Регенерация СР - regCp- J X' J9 ~% K8 M
Регенерация МР - regMp
' X; S; _ `3 l' c6 S" s3 X) p @Эффективность хила - gainHp
, E+ |, A9 N3 j. dУмение хила - giveHp
: C" W: N5 q" ^1 WБонус хила - bonusHp
. G; K: X9 \) n2 O8 l+ l0 zФизическая опора - pDef- W/ l$ n& x5 L
Магическая столп - mDef E2 `2 O2 t' m
Физическая набег - pAtk
+ M F, W6 a8 m$ K& S% i+ u* sМагическая набег - mAtk
& {# }% o0 [6 v E0 P7 }5 O& S3 uСкорость физической атаки - pAtkSpd+ Q8 t- r3 P7 b, u/ Y& m& E7 V
Скорость магической атаки - mAtkSpd* z. F+ ]9 {: ^8 u
Скорость отката - mReuse
" I2 d. i" t9 }0 w, @, yЗащита щитом- sDef) z! A& v% ]. L5 g4 b
Угол защиты щитом - shieldDefAngle2 S1 ^7 O9 Y. S9 |: {/ U# G1 T
Критический пощечина - cAtk
# z* f$ r/ V; f" `Прибавка для критическому удару - cAtkAdd
, l4 M" a) g6 Q0 A: v: IФиз. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg) n1 @4 H7 p) Q% G i
Маг. урон - pvpMagicalDmg
' v" l* \* t" ^* m! sУрон скилом - pvpPhysSkillsDmg
3 W. z. B+ a' |2 j. Z+ VУворот - rEvas! T& k2 J: S c+ `7 v6 M9 h% B, z
Уворот через скилов- pSkillEvas# v! m8 L$ h5 [, g [
Шанс блокировки щитом - rShld
$ n5 ~7 N9 {$ G. }: ^Шанс крита - rCrit
3 Z4 s& R0 l! ?& d# c! V; {Шанс Blow - blowRate2 N% {1 y9 k# }+ [/ y% I% `
Шанс Lethal - lethalRate
; Z8 G v$ k/ Q0 L/ e" tМаг. крит. надежда - mCritRate (mCrit doesn't work!!)
- d$ x+ {2 Q! fEXP,SP надежда - rExp
2 H$ c. H& i, | W- X2 ICancel - cancel
R7 m' r2 H: r3 h1 uТочность - accCombat
7 |) ?' M2 q! r7 |" U( fЗона покрытия физ. атаки - pAtkRange (for fighters)
* a* d' i- ^. a. S* Z |8 qЗона покрытия маг. атаки- mAtkRange (for mages)
7 @* A# j3 j8 i8 v% NУгол атаки (только с целью воинов) - pAtkAngle
: p' J8 X5 O+ ]2 a6 Q: aКоличество атакуемых - atkCountMax
4 H8 h& e/ }+ W$ n) T aОткат физ. скилов - atkReuse* u' t6 m. l3 \$ K9 b
Скорость бега - runSpd
! {$ s: [9 j x" D1 {Скорость ходьбы - walkSpd: b, c% }5 A6 _1 W$ T4 X5 E
STR - STR0 t: f/ L# k. k+ w
DEX - DEX5 \& \/ a' C* Z% H6 A* J
WIT - WIT! Y9 w2 K5 J8 R2 b4 b( n
INT - INT
# E; `& _6 Y2 H" `, @& a4 g, \" FMEN - MEN
4 Z: F4 ]& u _/ ?& t$ P
4 H. a a. Q+ n4 CУязвимости7 X$ m0 T; J) L2 ~! h4 }, o3 p% g
7 g. ^5 S; N8 ?6 EАгрессия - aggressionVuln) P$ P# t% w% C" T, S3 E
Кровотечение - bleedVuln
8 v) v. N; C4 B6 E9 {Яд - poisonVuln
& F* W9 c2 u& ?Стан - stunVuln1 R+ V- D1 `( s' o6 S# P
Парализация - paralyzeVuln
; x, z) a8 @& L- f/ }0 aУдерживающие заклинания - rootVuln
8 S5 f5 ?! W6 U' i/ z2 TСон - sleepVuln
1 v& \4 U7 u! f/ {, ]"Перекидывание" таргета -confusionVuln
o8 _* P" l) l9 P' k' e$ O$ RДвижение - movementVuln' u* w! V2 k0 o/ R0 t
Огонь - fireVuln
- y9 {4 K! |0 j. V gВетер - windVuln: W0 K1 f4 Y/ n, n* D$ I( c
Вода - waterVuln
) N0 ~$ ]) ]- m* `Земля - earthVuln) N5 k# b$ Q: T Y3 H. F b
Святые атаки - holyVuln4 m3 l9 m2 h% Q @) N
Темные атаки - darkVuln4 G$ g7 Q4 P2 ^
Резист для cancel - cancelVuln
* v# d7 H( d6 Q0 ^) \% |; GДебаффы - debuffVuln' a" A1 K5 C: s( y( ~
Резист для криту - critVuln( l1 c8 ]9 d2 G5 _6 ^0 ]1 B
6 X, _, W8 V; \% wРезисты простив оружия (тут думаю изображение никак не нужно)
# x9 t: N5 [- H" L
/ l7 G6 z+ p6 g5 NnoneWpnVuln
" C% a' R7 c3 GswordWpnVuln$ P- M3 S/ Y3 a8 [+ q
bluntWpnVuln
; r( o& `, e( z- j% t+ p. G" GdaggerWpnVuln H, M5 Q* G" r6 }5 y
bowWpnVuln
2 f9 j8 b6 d0 u& D) X, xcrossbowWpnVuln
" I$ S7 T6 a' g+ p! l$ }poleWpnVuln" g3 p; t! F: p5 Y. ~# y$ e: ]
etcWpnVuln$ E! v; y8 O' ?7 [5 C- O( G3 E
fistWpnVuln, ^( d4 }! z2 L8 b; _/ Y
dualWpnVuln
) A: g% D- T) i( W2 `5 edualFistWpnVuln
- R- _' K0 A7 i, t% LbigSwordWpnVuln
! P& k5 `. F% D* P4 Y6 t$ u4 [* `1 R" J% r% l1 r& T
Отражение
# \# p$ I" }+ {7 h$ }" {4 ^3 t* h0 g) s! F3 B; o# f0 F
Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)$ W1 x9 k; k2 d) Q. K' i
Процент рассеиваемого урона - absorbDam% r9 |+ X9 G6 |, _/ c4 [
Процент переносимого урона- transDam4 L* u7 a0 s' ]. ~
Отражение маг. скилов - reflectSkillMagic
' d; T& j2 a. ]+ C1 t; TОтражение физ. скилов - reflectSkillPhysic Y7 g( M* I' l# ~ m3 w, P
' {( a+ w) N3 Q
Другое (для примера):3 Q" ?- p2 Q9 w, ~# z/ k
0 g1 b( X: q9 j1 I" ~( IАтака для гигантов - pAtk-giants
% @( w1 G0 N! lЗащита для ласкать - pDef-undead& _6 |+ } u2 C/ c
Атака в животных - pAtk-animals0 f& B0 ?& T) _' d/ \
Защита для монстрах - pDef-monsters
0 ~7 s1 g3 s- t2 n4 q! [Лимит инвентаря - inventoryLimit
" a- x# C1 X: w. f) k! T7 [Лимит ВХ - whLimit
* |$ H; t2 E& b8 Y( N- hFreight лимит - FreightLimit
' S! g) Y0 F5 p, y2 CЛимит продажи. - PrivateSellLimit
~ p# s1 P: L) I% v* IЛимит покупки - PrivateBuyLimit
8 M) {9 s5 @+ `Лимит гномьего крафта - DwarfRecipeLimit
9 U6 Y9 z% ^2 J0 R% h/ kЛимит common крафта - CommonRecipeLimit1 F( u) E0 K7 U7 A9 h: S0 _
Потребление МР физ. скилами - PhysicalMpConsumeRate
0 j5 \& c- c6 w) tПотребление МР маг. скилами - MagicalMpConsumeRate9 B$ p/ |0 ^2 x+ q- x1 e
Потребление МР дансами - DanceMpConsumeRate
, m4 `; x1 \" B Q) k6 q# p. kПотребление НР - HpConsumeRate) V, L& T- g5 u: V) o( N
Потребление МР - MpConsume
; m6 j# I9 l5 ?6 T* ]& `Потребление соулшотов - soulShotCount( v; z: j2 ~3 h9 x7 K
Skill Мastery - skillMastery
1 X+ A3 z0 G' C% S$ JВремя пребывания около водой - breath
3 A$ v/ l2 }* W0 T7 r9 Q4 z! Q% [7 a3 H! t
Вроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
5 S+ H1 R7 M5 u' I& I/ J4 [7 P) L+ x2 k. J+ D- o3 N& z
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:
z+ h2 S: M+ x* e% \
; S7 g) \ w2 d# `3 F( N9 H( cTARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)
/ e3 r; E6 Y8 l. B1 ITARGET_NONE - мишень неопределена! p" S e( D0 g$ j8 q8 Y4 }
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете." W! d: s4 U/ m ]
TARGET_AREA - обозначает, который скилл довольно массовым
2 ?6 J+ L) e- v3 ~3 ^# J( w" fTARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
7 i* \1 u5 i9 A
$ x( ~+ g+ I' i* p6 {" t9 k2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)
7 ^ _4 K! a* cПринимает следующие значения:$ a" [) g- \) Q( W* z# g/ i+ g
BUFF - бафф (оказывает положительное воздействие)
/ {" Y3 v W% w/ QDEBUFF - дебафф (оказывает негативное воздействие)2 P5 Y; h7 F8 c* k4 W
) P9 M# |2 H+ U. _& ^) V
3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)7 j M! s& k! ~1 M$ l4 d
OP_ACTIVE - активный скилл, может являться использован игроком
: r9 X1 X& n$ q1 h3 tOP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)
, w8 K7 W: f) G0 S5 X+ f* d, p" DЭто были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:
% j# ` @6 e9 g# D6 l0 c-power - значение скилла
# y% y2 g4 T ~# {9 L-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки' _# S# T; W* f' W8 J# X
-reuseDelay - откат скилла; A( V% X4 b- P' Z" u. W
-hpconsume , mpconsume - потребление МР, НР
$ [0 I2 ^3 C6 a-castRange - это дальность использования того иначе иного скилла (дистанция)1 z% \3 q' c& W/ s5 I7 H2 D
-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)' c% w3 D. w0 F4 z% ]/ z" m+ ?
-effectRange - радиус действия (для массовых скиллов)6 W* f4 B; q6 G; A7 r1 i; _- _
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.: D1 {1 `8 X7 Z8 q
Это основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.3 W0 @& z f! c$ |0 u, w
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .0 B4 a X4 Y2 h% }* N- o) D- \; }
Приведем первообраз использования тега равным образом тега :
- L4 r Y/ t$ q4 m7 f/ k
. n! }- C3 Z3 q$ {6 y4 N' H+ P: f. G( T
8 y" S" n6 W1 {& f1 @) r" NЧто сие значит:
5 C% a8 p c% Z; J5 h; m. Z- L& H+ S& v3 B* d3 Z' P/ f
name - Это характер эффекта3 b2 K$ K ^$ E0 v% Z' i/ j X) _) q
val - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.; _" i& k* [( U3 h' e; P
time - век действия эффекта
, D+ E- |) ?; X, U4 rStackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.$ q/ g) n2 u* s4 q" X: L- ^' {" l
2 t: }3 S* C3 l: N! C/ E+ CДумаю со скиллами я разобрались, нынче перейдем для зонам.+ T g( S) n2 o5 \. Z
" J1 n3 \! p: D& |/ S( [/ n+ i. m9 R1 g
Часть 4. чтобы начала описания зон используется тег .& N& ~- A9 j3 W* P3 W: x
9 K3 m. j I/ ^3 S4 {# l- }- X0 ^- B1 Q, n: s
<!--Комментарий-->
* R$ g; i& P' m, z3 q5 z: O4 S% @
" X `5 t, ?# T% U7 {Пройдемся за значениям:/ a# Q% P9 A2 b2 ^: A( v$ R
; [- `" p: i( z- k/ u0 R( b- B
id - идентификатор зоны.. {+ S7 s2 D# C, C0 i+ M% ^3 i
type - образец зоны (town, arena, jailzone). Например:
7 |& h. |! @- eTown - мирная зона (город)6 d3 n9 @" [ E9 h H5 o- L
Arena - боевая зона (PVP)+ C$ }; J" O6 J6 T
JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
5 K, f* s( _) i7 P- k; t! k5 h8 G; qshape - это платье разве подобие зоны. Может водиться двух типов :: R d2 A* A$ y% b9 m
-nPoly
) v9 Z/ i/ Q3 ^9 } ]-Cupoid./ W- n' E i8 h
minZ - это минимально допустимая координата гора (z) на данной зоне .
" k" N0 o# a# H: w& r5 K# ^maxZ - это максимально допустимая координата гора (z) на зоне.* F- N4 {/ [! j% c) D) C. T
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.2 B5 s R2 Z2 q' G) ?" q
|