Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон
* }: b% @; P; `4 @1 i& w
2 @6 \* W/ T# u& `8 b+ J4 }, `Часть 1. Введение
8 r/ G! @4 F* H: s5 W: M; k+ I0 @$ V2 m. s7 J. E9 {
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.
. I8 A; v, q8 t+ I: Z0 v1 Z/ b% tПервая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.' b0 S5 I& g6 G- p: z8 v
0 _1 t. a l4 JСпецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.
" r G6 \( W! `2 u) ]Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:
* ^# C, {3 [' b4 {' t0 b I9 f8 h4 Z
<!-- Текст -->( l! ^9 q4 A& [9 f
, w q( |3 v: s( T. a- D
Но я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.7 M6 r2 m6 a! i8 Y* [
2 i% r* t9 q% R$ V
Часть 2.Изменение статов вещей.
, w/ D& l1 e- [0 w/ U
$ B6 P# x, i: r: H5 cВозьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
7 k; L# g+ k1 Z5 { r: E/ n
' s+ ^$ A H+ m; QДля измения ее статов тогда нам нужна лишь одна строчка:- u5 w L9 m a) i2 D% G8 H
$ @* @; j% _9 R) d ]8 \
Что это безвыездно значит:. i2 Q, C/ n; ? a; }! t
$ S7 c# @/ R" C/ k& X
Тег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?, m% _5 y, f Q7 G$ r
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.0 n4 Q! P. g: U2 @- {7 |2 t
# G) F* K+ L& e( K' i( m1 s* l<add val='100' order="0x10" stat='pDef'/>1 o. N) ^9 I/ s/ Z% _' N: v
7 S% a5 Z% ?/ \3 AДанный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).% y4 S2 Y$ G/ }
2 L. L+ r j9 o2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.9 X$ x" j9 L/ |4 L+ E s4 H: h
6 M3 H/ [: }# }2 a0 }% bДанный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).
, r& T+ E5 q2 s/ r J
1 o g6 Q3 E$ e- \" `/ ?
; v9 s! r- C P+ e/ b. p0 g; f3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
) J% l( ?( E" C/ ]
3 A7 @1 E Y4 F0 L9 o7 BДанный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).) L' G. u6 N/ [2 s! {8 m7 R
3 x4 s8 n: j& S8 K; x/ r8 T
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.$ j- G1 k4 X7 z& P; T3 @9 S
% c5 C2 N+ s' H, s9 c z
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).
# ~* O9 ^5 L+ f8 o+ e+ i1 s y4 t a; H' ` Y6 W
5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.% K) {9 P: ^! u, W8 V* a% ?" F" t
- t7 X. |) `1 i" I- K5 uДанный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.
2 l4 I+ i2 w- ^* Z1 zНиже приведена список значений "order":! R5 y2 G9 r2 [$ {% o, m
% r" T8 ^/ q' D$ S
0x08 - set, b' B; l/ x$ `! [
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)3 w9 A( d* K, `+ u9 A4 j' B
0x20 - отнюдь не нужно
0 x; ]5 o8 R5 Q5 Z" G6 i: U0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)) D! w1 K" D" e! F+ q7 q, O7 o
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))9 s9 @, J) a9 O2 `# ?
0x50,0x60 - никак не нужно
* n& N* R2 |# l9 b& ?" w0x0C - enchant6 k+ i4 \* j; x8 ]% g3 ]# Y Z
+ N4 I$ c- L" {8 a+ u) KЧасть 3. перемена скилов! i' B/ E$ {6 a0 k
) V: \9 R0 f. U# }Самая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.
1 s1 `6 Q! a$ C6 X6 ^ F( q* Y5 f# i3 w9 I& K% Z4 H3 U
Изменение максимального количества HP - maxHp g7 {+ ?- X/ B
Изменение максимального количества CP - maxCp- m% [* O% m. c
Изменение максимального количества MP - maxMp
0 q* \- S* V5 u5 l/ v+ ~Регенерация НР - regHp
) |; i: M/ ~0 ]: VРегенерация СР - regCp
. S' L9 |6 i3 \ P3 QРегенерация МР - regMp b) n1 F6 ~3 \1 r
Эффективность хила - gainHp
& a6 a. `) Y4 L* Y* s3 \Умение хила - giveHp
! [% S7 H1 k/ p2 `$ n% j8 mБонус хила - bonusHp
! B: E1 h5 |3 d5 P+ i. g0 LФизическая опора - pDef
' c: P5 r/ ~: MМагическая столп - mDef
, s8 q1 F* u, x" K4 g5 h3 l9 X6 BФизическая набег - pAtk, K7 _0 E0 o/ c* k, ?) K
Магическая набег - mAtk
0 e+ |8 v0 d7 |4 Z: [9 ZСкорость физической атаки - pAtkSpd% r- o k' R8 g+ _7 |4 I
Скорость магической атаки - mAtkSpd
# B7 E: t% w$ H/ O2 |3 }Скорость отката - mReuse+ P2 n4 c8 k/ q* ?" C3 n1 R# U I
Защита щитом- sDef$ D. ] \$ d- R, X& Z( E
Угол защиты щитом - shieldDefAngle
8 @% Y( I, A1 G: [4 I8 \5 k6 `Критический пощечина - cAtk
; @' I0 B" E% B- FПрибавка для критическому удару - cAtkAdd# H, y' |2 Z) Y2 U$ z
Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg1 e" A- o1 C1 d6 w
Маг. урон - pvpMagicalDmg& O% D1 A: T( s7 C# ]; p
Урон скилом - pvpPhysSkillsDmg4 C; K. u8 m$ y
Уворот - rEvas8 m" F" m4 f6 h
Уворот через скилов- pSkillEvas
4 Y) e `- T8 z7 T! i( RШанс блокировки щитом - rShld
2 X6 @$ x3 N9 h- |+ x+ L, ZШанс крита - rCrit/ K. f; M1 i7 q$ H8 B. X
Шанс Blow - blowRate
0 f# G. b L# z9 j7 EШанс Lethal - lethalRate
6 O* |6 f/ ^: `! Y2 xМаг. крит. надежда - mCritRate (mCrit doesn't work!!)
5 O$ K% n: a% K0 \+ q5 oEXP,SP надежда - rExp6 B$ A3 [, \: m5 y- a
Cancel - cancel
$ |) K. r* c6 H- G9 h* t9 vТочность - accCombat4 f4 n* v1 t8 p+ ?; p" O6 G5 J
Зона покрытия физ. атаки - pAtkRange (for fighters)
5 W- D; w: F7 J7 ?4 `: x JЗона покрытия маг. атаки- mAtkRange (for mages)
/ x6 i Z- i, jУгол атаки (только с целью воинов) - pAtkAngle4 q. _$ P+ V8 j. ?" D: o
Количество атакуемых - atkCountMax
8 [: S2 q4 x W. J5 ]0 mОткат физ. скилов - atkReuse; v* @1 X+ M0 @
Скорость бега - runSpd6 `, ~$ ?+ W1 E0 W& p, R8 B7 Z/ J: n0 y
Скорость ходьбы - walkSpd% P- J3 u3 T& V* f6 i
STR - STR
4 f$ B h" B9 r# N& ~1 VDEX - DEX/ e/ Z; H; [* D: P: ~
WIT - WIT
) z; ^; Z: P% u& `( iINT - INT. V) V6 O" Q" @( Y4 ~/ m
MEN - MEN8 F U; g0 J, [% F
# ^6 \6 i9 y, D- t
Уязвимости/ J" r4 |$ u: g6 a3 ]( t
% E+ U+ Q9 W( Q7 T( m, X
Агрессия - aggressionVuln J5 `8 k5 {$ v
Кровотечение - bleedVuln) n9 {+ X6 }) A2 h B3 c4 Z8 D
Яд - poisonVuln
7 m6 a M9 F8 X8 w! W" |+ q; eСтан - stunVuln
$ e4 g: ^! s5 w3 v; z3 ^' lПарализация - paralyzeVuln
; q3 B. [( o# L& V( EУдерживающие заклинания - rootVuln8 Z- H: z% n! s9 t \1 U$ n% d
Сон - sleepVuln* k# b* `, W5 `) M/ y9 F4 J4 v
"Перекидывание" таргета -confusionVuln
$ C( F9 v: e& Y1 [Движение - movementVuln
3 j: r% e; |# j, l. ]; `* _Огонь - fireVuln
$ m K9 O: n4 X4 r' i' rВетер - windVuln
: m% o- ?) @" H$ ?; ]$ d# Y5 aВода - waterVuln" r8 {( i# Z$ h- S0 _4 `! ?7 v
Земля - earthVuln7 I& T5 r! _4 ^" |* }/ V
Святые атаки - holyVuln
8 x7 ?3 N) r. M0 @: Y. P: v- S0 _Темные атаки - darkVuln- m1 ] G! M: E- a( f ?6 h: ]
Резист для cancel - cancelVuln
2 h7 P: ^; I1 Z" \- I8 eДебаффы - debuffVuln
/ |. U0 e% ~% O+ p5 V# T& F$ sРезист для криту - critVuln' `: }& P2 L$ f1 B4 {
; [8 i6 Z. S: L/ R5 k
Резисты простив оружия (тут думаю изображение никак не нужно)
. U& S" i9 J6 z+ p1 P r4 d0 j* d1 D3 W( g, {) Q: F8 s
noneWpnVuln, i7 O3 h9 Y: v& z% y6 @
swordWpnVuln" g# ?" |0 ]7 i
bluntWpnVuln
+ @0 { I2 `4 t/ s% ~. t: h; YdaggerWpnVuln7 H% Z5 ^# r1 w5 h
bowWpnVuln4 ^9 [$ l3 Y' |
crossbowWpnVuln9 [5 {/ l! s! x' Y$ t( c0 }! T
poleWpnVuln9 t5 H4 T0 e/ G% q! k
etcWpnVuln' i7 A) |) @! ~+ m. A
fistWpnVuln( {/ j# A: _: e" X# i: P( @
dualWpnVuln& Z* a& `6 u1 _: b- |
dualFistWpnVuln) S' s# n8 m/ N- z4 a! Y, J
bigSwordWpnVuln
" i$ K2 z' z& K! t4 z1 {" |) C! I
( X2 ]4 q0 t% J" [5 @- FОтражение
5 x$ k: _7 b* ?" B- ^7 B$ ~
" R& [ o, _: K5 Z+ f: f* X; kПроцент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)" b, O) a$ S$ c: V" D# }3 z% M/ q$ s
Процент рассеиваемого урона - absorbDam
- }& v, @8 Y$ _9 t1 pПроцент переносимого урона- transDam
2 X* I8 y* t& ?% q+ n+ T2 TОтражение маг. скилов - reflectSkillMagic6 v: j0 g, e0 E+ y: i$ P3 l+ \4 x
Отражение физ. скилов - reflectSkillPhysic
4 |$ |$ {) C; h/ t; Y9 o! y* x, B' a$ D& h) D# K \
Другое (для примера):& x7 v. o% i& {/ Z, `) b* f8 u
/ @2 l: g7 b5 V/ E* CАтака для гигантов - pAtk-giants
; S3 ~! k4 ~% ]" ]. [Защита для ласкать - pDef-undead0 A3 \- ] s% F
Атака в животных - pAtk-animals) a8 B9 e+ N4 D. s _3 {
Защита для монстрах - pDef-monsters: s- ?5 N# `' _' N3 W
Лимит инвентаря - inventoryLimit) c) |$ ]3 \% V7 \ c7 q* B
Лимит ВХ - whLimit
: g, S% H' ?, d9 OFreight лимит - FreightLimit
* C! Y( u! g, [# G6 _Лимит продажи. - PrivateSellLimit7 T! ?4 j3 Z( h5 X+ M
Лимит покупки - PrivateBuyLimit$ g* T/ \3 }. R% }9 I& Q/ _& [
Лимит гномьего крафта - DwarfRecipeLimit
* C- t/ \3 P& x4 h% rЛимит common крафта - CommonRecipeLimit
, R2 l* B$ T: W9 Q, ~+ vПотребление МР физ. скилами - PhysicalMpConsumeRate i. q! B% o+ O9 G
Потребление МР маг. скилами - MagicalMpConsumeRate% ]& {$ u$ U' @, R
Потребление МР дансами - DanceMpConsumeRate
% v; S, u* o# S: d1 j+ MПотребление НР - HpConsumeRate
6 T. R+ T5 ~% `5 ~' S' m3 NПотребление МР - MpConsume
" b+ ]6 C8 ?* r" h- ]Потребление соулшотов - soulShotCount" P+ ?3 X) u5 v1 S7 p$ h" |& }& j0 U, ]
Skill Мastery - skillMastery% v* c1 ]: {9 ?8 w. j1 e- h& J
Время пребывания около водой - breath8 T9 d) G3 A5 B2 a8 c X
% V+ U$ _7 r% U. `/ d2 P; U' {6 wВроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
( F- f, e7 F( W- K' H5 N
1 N' K9 D$ m# b3 i3 w3 m' S1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:0 K+ i7 E @- U# |
5 L5 ?! b! o/ x' f" B& m
TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)% D$ N1 m* l' s. W
TARGET_NONE - мишень неопределена
" `7 l6 i) M* |* m# U# PTARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.0 F8 C# B ~1 D. r4 U$ W3 t% g
TARGET_AREA - обозначает, который скилл довольно массовым8 P+ o! S8 t% `% h/ M
TARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
& V4 a2 _, }% q$ F+ N. h2 f4 O5 ~* E
( O9 T, `( z: u1 @2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)
4 k4 e% S; I6 Z7 R" CПринимает следующие значения: a# M0 k5 r0 L$ v3 a6 O
BUFF - бафф (оказывает положительное воздействие)
: b3 w4 \# [& F! SDEBUFF - дебафф (оказывает негативное воздействие)
+ c5 m8 w. D. I% q& f
1 P% R4 @3 M/ O3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)
' o6 m3 ^4 u* ~% j* \OP_ACTIVE - активный скилл, может являться использован игроком/ Y, l2 U" q. ?$ l1 Z
OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда) I* m; {& v: l+ o6 H8 d' [
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:
2 [: W. a+ W* F. i-power - значение скилла
8 a, f4 W T' c5 c-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки
3 \/ G d m3 y- D( `-reuseDelay - откат скилла) U+ E5 b3 g. n; @4 M" h1 h9 e
-hpconsume , mpconsume - потребление МР, НР6 K( [8 u5 {- H J) m' z+ A# e9 r
-castRange - это дальность использования того иначе иного скилла (дистанция)
. U6 W- W! F+ ?! n, V% a. y-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом): N+ a4 p0 V' a/ t
-effectRange - радиус действия (для массовых скиллов)
8 [6 g) j& L" i1 l) I T% T5 B-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.
0 Q9 k- i! C7 I; b+ m0 c7 HЭто основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах. M( T% i! b- m) o& P, N9 w0 D- ~% z
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .
4 s5 y5 p* u0 p) Q$ uПриведем первообраз использования тега равным образом тега :
4 X4 N/ P2 }) e
' @ Q1 F: |$ t+ _3 H1 K7 L5 J
) E/ u. L' W/ P7 k4 z5 p u- }! i& v0 p# h: h) c
Что сие значит:, l6 N: t _1 c2 C( j3 ^
2 ^$ a. c9 A l! ^! q( g
name - Это характер эффекта
& Y( Z: G0 c% W7 N. E5 V+ }val - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.
: _& v/ `* J. L4 r% ~! Ctime - век действия эффекта5 Y, k" F) [* h% u3 T& r" @& {3 V
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.* k; ^' f* E% U" k1 ?# b
2 H$ C8 l2 ]$ M7 N6 F7 B- AДумаю со скиллами я разобрались, нынче перейдем для зонам.6 N3 f6 j% F4 v6 n( J/ V
1 |: `4 ^2 H! D3 ~2 n
Часть 4. чтобы начала описания зон используется тег .
1 |9 J5 M1 |: e6 V" ~' f; p5 `$ Y% e# m; d8 h) S/ `
, C/ u$ y' a' [- l' m
<!--Комментарий-->
; i, t# P. O& P* a1 W% @- {7 o3 Z- U# T
Пройдемся за значениям:7 t- C+ h, ~9 U1 @
( Q- p$ d8 Z" B" z2 O
id - идентификатор зоны.
0 q) S j: w: t2 otype - образец зоны (town, arena, jailzone). Например:
+ Q3 x1 X) L. nTown - мирная зона (город)0 N# p8 H4 V) s8 ]7 K
Arena - боевая зона (PVP)% U% p- h& J1 T4 t9 U/ B$ T
JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
; B4 X7 _6 K& m, b& z0 F6 Lshape - это платье разве подобие зоны. Может водиться двух типов :, T# q- v/ J/ \6 |
-nPoly( q( M; g& S' J0 g" ^7 j, e6 k
-Cupoid.6 x) O: P+ \0 z
minZ - это минимально допустимая координата гора (z) на данной зоне .
( S4 [3 l* X+ J. l1 f) o2 Y7 S3 t* wmaxZ - это максимально допустимая координата гора (z) на зоне.
8 n5 H. _- |4 F7 g* E1 x; M9 G4 mminZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.
/ T$ L3 g9 ]8 `3 `9 |2 i) K4 M |