Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон, K" E9 K8 o# T& ?' Q
/ \ a& J: s8 r- x
Часть 1. Введение
0 ]$ P- P7 Y0 J4 I+ r4 e3 m' K8 U. |( M! n
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.5 i& U* o7 }; i7 y
Первая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
y& V o& Q- _2 H7 ?( l$ w+ v9 `4 i* t' z6 J
Спецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.; \2 z* A, A7 r
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:
8 ?: u: A- q/ D: @ g. d0 y. R
+ ^* _! @/ t) D4 X) c<!-- Текст -->
1 e: i1 o1 D& l M; A w+ z/ ^0 g. ]
" H8 q% M% w$ Y$ A- `9 h- |Но я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей." w$ U- H4 K3 H% O
8 E u6 C+ j2 W% t" Y' B3 X. D
Часть 2.Изменение статов вещей.
- _* s. ~! o& Q( L1 B- W" N/ {3 y, M. O k" O$ B3 d( S9 j y6 v# K
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода: [ E. F+ B. f8 N. {8 i
" l0 O& y- c6 p8 V: C2 ?. k! W7 ]Для измения ее статов тогда нам нужна лишь одна строчка:
7 ? @4 o: O6 |8 q/ p' N9 O+ ]" c( S% a
Что это безвыездно значит:4 l: D4 g" I" y, `, q
# }( b. l) M# U" HТег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?
* n* I5 L# B7 z1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
K3 \$ y8 C4 c6 \
. \2 ]8 O+ r8 L1 r- u" [! f& \4 ?<add val='100' order="0x10" stat='pDef'/>: ^+ g0 Z; Y( p1 n) Q& q/ s( K
6 a4 b+ L: |3 h8 W% U" d- @' l1 dДанный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).
/ Z7 q" P; ]- P; c( t8 m1 H+ ~( r9 k8 I
2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.
: v+ r5 E: N v
4 s4 w7 I/ F8 L+ e2 A6 B# @) [Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def)./ @) N7 j( L7 [1 P9 Y) g+ y2 F+ a
! H& `, c- a; P v8 r6 R/ y
! o- o) ^6 {3 k
3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
( a4 g! E, R. m. Y8 w, u- u, ~/ x2 y/ K1 b6 [5 X0 M
Данный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
& ]7 F5 T( A+ o* D0 I
: f/ Y, W: J& d; a4 O7 q4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.
3 m6 Z4 O' e4 m. V v- J5 k$ c8 Y1 H( z7 R: F
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).
0 {% T' @% y4 Q" o4 U& b
5 c" o& d c" P; c9 f5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.4 |; P& K# O q0 s) L0 C' h/ G7 M8 [2 |
! t9 N- L5 t' u2 a4 y
Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.1 s6 k; ~ W2 m; p9 s. @9 B
Ниже приведена список значений "order":
" C8 M* m! h9 I& U
$ E7 |) Z8 T0 [7 y# X0 u0x08 - set
5 x' d* T0 m/ p( \! t0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)$ J: ]$ X$ R3 J0 T l6 O, a
0x20 - отнюдь не нужно
8 z, n$ ?/ ?$ Z" V0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)( J7 N% B! |9 b. y+ a
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))& f) l" w/ E/ m- y B) `) q/ c5 Z
0x50,0x60 - никак не нужно
( c! p+ H N- h! K0x0C - enchant4 _& T Q$ T" z: q3 ?5 O5 n
% g* O! n0 J5 B% \4 i, QЧасть 3. перемена скилов
2 M! x c2 x( J& g: s9 J, o4 K) c [5 ]
Самая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.
$ A9 {8 w( ?: c9 N
0 z& }. U9 W$ k7 C; HИзменение максимального количества HP - maxHp. k8 R5 C5 Y& ]& e+ D
Изменение максимального количества CP - maxCp
3 y9 _! c* Y2 r( _4 u( mИзменение максимального количества MP - maxMp
- X" f/ m% R& t1 l$ s4 c$ oРегенерация НР - regHp0 L! A2 o6 F6 ]% f' ?
Регенерация СР - regCp8 d6 P0 j/ B1 G" S: Y
Регенерация МР - regMp
! C3 r* c8 _. r" Q6 l! gЭффективность хила - gainHp5 l. e/ H' C+ R# q/ m
Умение хила - giveHp
( M8 G$ t4 f, x8 ^3 a. X1 W1 LБонус хила - bonusHp
( M, _8 C2 J# q8 v0 I8 b# `' ZФизическая опора - pDef2 }. X- L1 _6 O g: v
Магическая столп - mDef
- }9 M8 Y! q1 _8 X; s8 ^- HФизическая набег - pAtk
4 g' T) \* |: s! V3 L- yМагическая набег - mAtk
; L2 _7 z9 ]3 [0 l IСкорость физической атаки - pAtkSpd; f' _# o; F# s) p0 n9 g$ m5 S
Скорость магической атаки - mAtkSpd
1 Y7 [# E' ~$ R8 R8 VСкорость отката - mReuse9 d7 H( m( }! j _# k/ a
Защита щитом- sDef
3 H8 N' Z, y+ K3 f3 p7 rУгол защиты щитом - shieldDefAngle5 s2 [; D0 K- r
Критический пощечина - cAtk6 [# \" b4 @; Z8 J
Прибавка для критическому удару - cAtkAdd4 B7 H) \8 {6 D' y L/ U! s
Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg
8 d+ @( l3 N3 ]Маг. урон - pvpMagicalDmg( U8 n3 V4 M) z4 @0 n
Урон скилом - pvpPhysSkillsDmg5 \$ e9 u" q1 i
Уворот - rEvas* ?3 A: B, P1 E
Уворот через скилов- pSkillEvas
/ n3 C- y( @* y9 M( `Шанс блокировки щитом - rShld+ [; Y' v" g$ J4 o
Шанс крита - rCrit
\" X' |* D# t! T6 E3 ? gШанс Blow - blowRate5 |+ N9 z8 I& e7 {2 R, M9 _. T8 \
Шанс Lethal - lethalRate
- O1 w# L4 D) U5 z- D; yМаг. крит. надежда - mCritRate (mCrit doesn't work!!)
o' |0 A) Z8 }2 v' g# _, L6 F$ PEXP,SP надежда - rExp
o% M% R! o& x' A" QCancel - cancel
7 Q: |7 G" U5 w9 f' b9 A6 aТочность - accCombat
+ q5 i" x1 p! \. Y! n4 s) fЗона покрытия физ. атаки - pAtkRange (for fighters)
/ Y$ u. N/ L/ D7 D0 n4 j1 f) a. UЗона покрытия маг. атаки- mAtkRange (for mages)
7 I& X2 E1 ]0 U( }/ qУгол атаки (только с целью воинов) - pAtkAngle
' `% G O7 b" X: n5 W) I4 pКоличество атакуемых - atkCountMax: e4 y# O( \: U+ d6 ~ A
Откат физ. скилов - atkReuse3 s/ r; b0 F) ^; P$ y+ \! z8 w
Скорость бега - runSpd
9 t+ a% I Y, [: pСкорость ходьбы - walkSpd* f8 {8 `5 Z/ L" D
STR - STR
) G- w' T0 R+ y/ q( B0 P- N$ m5 mDEX - DEX* O' I/ z$ r n- v% R5 I8 h; W6 c5 o
WIT - WIT
7 B; n6 k( v- g: CINT - INT$ g" X' Y' V* \
MEN - MEN
" r/ `- |6 n+ B; O' _% G e5 ^. ]
Уязвимости
9 O3 k* t, f4 N. q, P- I
! s# Y. F$ [0 D+ KАгрессия - aggressionVuln
' j: P. X! S2 F+ E Y& p @Кровотечение - bleedVuln2 C, h+ W, F- e3 O) [
Яд - poisonVuln) C% S- k8 {( O9 G5 f5 T
Стан - stunVuln
) M/ c) S6 W( n u( o$ \9 _Парализация - paralyzeVuln! k6 ~& J6 I% q+ G. q5 y: @# @2 ~; a/ G
Удерживающие заклинания - rootVuln2 X K1 X% k: P# ?6 I+ I! ^& z
Сон - sleepVuln
3 O2 j1 X7 G1 P, N x"Перекидывание" таргета -confusionVuln
9 a; q/ {: A, o! d$ JДвижение - movementVuln5 t* f7 x5 o# v' u1 S! H2 t+ S
Огонь - fireVuln9 ^& P% c* D1 T0 \& U/ v
Ветер - windVuln9 T M. P" y; n h8 I6 u
Вода - waterVuln
0 n ?& G! r2 r; F- oЗемля - earthVuln
5 t7 L# r, @ w4 _6 M& q* zСвятые атаки - holyVuln
' C6 g$ x# T) `9 m% E5 IТемные атаки - darkVuln
: i! ` o/ d3 S& j* K$ zРезист для cancel - cancelVuln
" s; Y* v: s/ j# |5 yДебаффы - debuffVuln
$ X( n, d* L8 O8 B/ \& fРезист для криту - critVuln* T s: E$ f! t
4 R% T9 f& B+ O+ P+ ?
Резисты простив оружия (тут думаю изображение никак не нужно)
* v7 Z/ T+ `# ^6 c% l z7 g& K
3 Z4 d2 g4 u# v. N. ]3 Y3 MnoneWpnVuln: {% v' A+ ^' ]% f ?5 @& A4 I& \
swordWpnVuln4 C6 ]: \4 z# O
bluntWpnVuln
) j% ]" W- _- m1 a P) w4 xdaggerWpnVuln- D5 V5 `# o: u; A/ a
bowWpnVuln
, I4 r/ Z: y" O6 LcrossbowWpnVuln. y- n1 P% e: G1 o. _7 k( }" U2 u5 t
poleWpnVuln" v/ z7 }2 ]2 ^' x
etcWpnVuln
! d; u" Q- d* B5 f$ ^ ~. ^% ^- P* GfistWpnVuln+ t# ~ { r# X8 w4 r4 v5 x
dualWpnVuln6 E" N" y( g' M3 Z/ E; i: t' i- Q
dualFistWpnVuln9 @9 \% [3 g' k- s
bigSwordWpnVuln
3 M. o$ \8 [3 v2 z3 T# [) U1 h" X" {
Отражение: K8 j& z9 N4 ?; Z2 [- r
& @. W! G9 a1 Q9 N b1 FПроцент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)1 p3 l* z8 C* ~7 @: Z( ?6 `
Процент рассеиваемого урона - absorbDam; [+ j; Y0 c. Y( @; |4 a/ X. H
Процент переносимого урона- transDam
- a5 c2 g) ~6 N; U% j; ^2 ~) MОтражение маг. скилов - reflectSkillMagic
( r: d6 _+ M8 j; n% z$ S, k: h% {Отражение физ. скилов - reflectSkillPhysic( E; T% q5 H$ ^4 o0 T
. y: ~5 K3 s7 U6 D& OДругое (для примера):
, E: v# y6 m; G2 m
7 |2 n0 |6 \- r0 Q4 R# J9 EАтака для гигантов - pAtk-giants
4 W& Y: S. F U( B. s f" [Защита для ласкать - pDef-undead7 Z* `5 a. a$ i/ q% A
Атака в животных - pAtk-animals
8 T' A% f6 P/ _% VЗащита для монстрах - pDef-monsters
& a4 H# }6 ]2 e/ jЛимит инвентаря - inventoryLimit
+ K5 R4 [( f" @. F3 H! kЛимит ВХ - whLimit
& u7 b2 I$ U( N5 |- ^ H& u* b/ MFreight лимит - FreightLimit
4 h) G4 ]9 @2 R: h. a1 v4 d$ {Лимит продажи. - PrivateSellLimit
) e; q( W6 n8 {1 D2 {Лимит покупки - PrivateBuyLimit% P# @1 b% s8 x2 y
Лимит гномьего крафта - DwarfRecipeLimit) p4 L+ F, U2 u* H Q. B2 l
Лимит common крафта - CommonRecipeLimit
# I/ H; O. {& L* h- i. |/ I' Z1 ?8 [Потребление МР физ. скилами - PhysicalMpConsumeRate7 _ b5 j5 _0 |
Потребление МР маг. скилами - MagicalMpConsumeRate
6 G6 g. p# x" ]! I$ A3 B; p' KПотребление МР дансами - DanceMpConsumeRate5 m: c- \/ w1 X: I: M# b) l6 S4 [
Потребление НР - HpConsumeRate! S# E0 x8 x* P3 h( T- k* ?
Потребление МР - MpConsume) j z7 p n8 H! C
Потребление соулшотов - soulShotCount" i$ d* j( [( E8 P, m, z6 I
Skill Мastery - skillMastery
/ L- i4 p- _% Y& @: f) v- |Время пребывания около водой - breath, e. v' X% ~" B( \' `/ K6 i) u
l5 }6 t# K9 z, B4 Q/ z0 P& q5 u
Вроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
% s3 V6 f* [$ o# K4 R: m9 ?* j1 f# X' y! t
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:
9 h* Z+ i$ Y( \
! \+ B% ?6 P" }TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)' a" ~+ m C) j1 L
TARGET_NONE - мишень неопределена a- h9 I% |! N9 ~* @$ \3 P8 i
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.( F) T; Q1 _8 C( l# x% K( ?
TARGET_AREA - обозначает, который скилл довольно массовым
4 @+ }) q7 J3 K6 eTARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
; b# l" y% u H0 {9 m
& z% G/ \) u- f5 f. O. c2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)
- A3 o2 z8 Q2 h# i$ f3 EПринимает следующие значения:
# E* F' Z0 t M! Z* n! hBUFF - бафф (оказывает положительное воздействие)
5 i4 E2 u% y; d# E/ O( ^: iDEBUFF - дебафф (оказывает негативное воздействие)# y9 k1 ~: u- U6 {7 H$ Z3 ~
; ]$ r) B5 C6 o [# V3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)0 M, e- ], B' K( \1 g
OP_ACTIVE - активный скилл, может являться использован игроком6 d! `+ [; G1 c2 Z, }
OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)5 o" z/ \8 U7 E: i( D) M
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:
/ j8 h4 ?, v1 g# l6 o$ c- B-power - значение скилла/ i& @3 M0 M& w+ D2 C9 i
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки
1 p; l& S& J1 s" k9 b-reuseDelay - откат скилла
4 D# S( W) N& S-hpconsume , mpconsume - потребление МР, НР
( M3 w2 b5 c# ?4 ^9 s-castRange - это дальность использования того иначе иного скилла (дистанция)! W! A: w7 {5 I6 Y6 ^
-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)
2 ]1 M1 g) D% X' y* Q5 z7 o-effectRange - радиус действия (для массовых скиллов)
! L6 \0 A. a0 c8 S" j# d5 J! x-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.
9 g1 U$ E/ `7 h# dЭто основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.
9 W4 N! l3 y8 h6 T% s6 r3 ^4 l& OТег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .
/ [) w5 q; a4 EПриведем первообраз использования тега равным образом тега :
# ^7 G0 d0 G8 W7 J) Q( S. a, R: K- ^# e; |' L; q; B
7 _2 ~6 ^; Q) c9 K% I
* [" T2 ]: f5 F" ?$ T
Что сие значит:
0 D0 F/ I( Y( r$ P- N3 m+ l! @8 V2 y" j( G3 t6 D) @2 b2 m
name - Это характер эффекта+ S% M. Y4 V7 G
val - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.
7 E" ]$ z% G7 a2 x8 P4 L1 u. x' t/ |time - век действия эффекта+ [/ _( t4 m5 h- f/ M
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.
" e% V v) j3 D& l
3 |# C9 R. v& k( RДумаю со скиллами я разобрались, нынче перейдем для зонам.) e8 p0 }5 R5 T1 \
, W1 d" |& U1 a" V. m
Часть 4. чтобы начала описания зон используется тег .7 ~9 @1 N( s s' _+ W5 K. E
/ y! ?( E- y0 D1 t8 t
6 {8 t6 l4 h0 n) C5 C9 _<!--Комментарий-->. k* R* Z$ ~1 r# Q# F, _
3 h- }8 _0 y3 bПройдемся за значениям:
( f% x* k( y8 ?& h' C: v$ ?+ V* S: K9 V" W& X2 t. T9 U2 l
id - идентификатор зоны.. P# Y |( s* x5 O
type - образец зоны (town, arena, jailzone). Например:
3 l4 x" I. ]# I9 P' _# y0 o' [Town - мирная зона (город)5 n! n3 [! Y" i8 l+ T, Q. A
Arena - боевая зона (PVP)
2 }5 u7 x$ B1 `+ |, ^# yJailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
1 t' g ]9 J( K# d8 F& ~shape - это платье разве подобие зоны. Может водиться двух типов :; f. l# D: l; p6 Q3 @$ O
-nPoly
) z. W* D& y, J-Cupoid.3 n) G6 k$ j% N4 r
minZ - это минимально допустимая координата гора (z) на данной зоне . U' U& n* \5 ~
maxZ - это максимально допустимая координата гора (z) на зоне.$ A' P3 M% T' i4 @- Y+ F, Y
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.8 _6 z9 C ?, u2 U/ ~# D1 G
|