Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон
% q# a" s3 q c( ^9 {' @! r6 j2 r: V/ k$ _ i
Часть 1. Введение" D6 H, q, F9 A% k+ A' Q
) M' Y4 G% A: U- B8 w0 `% t
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.) W, W: X, X9 i* g# c" j( W, m& n
Первая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
1 k& _" [3 ?, m9 y4 X& q3 A. v2 |$ F- L5 e3 D* v
Спецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.
3 d) z7 n2 U, sТак но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:" h3 Z8 s2 Y5 Z) |* ?) w
& j5 z" U8 X% {, H, ~% ^<!-- Текст -->
- G3 O! }6 B/ w/ ^2 h
$ y; X& j: t$ F# q! J @3 C+ FНо я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.
4 `1 B& o+ |" I; L1 k/ B0 x- y" C! m/ }: p
Часть 2.Изменение статов вещей.( Y9 ~' R8 T, k1 o
8 }2 O3 S K' A- t2 \" S
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
7 A+ ~9 R( w" F, p _1 o$ D5 V. I$ |( O ], w3 Y
Для измения ее статов тогда нам нужна лишь одна строчка:
/ ?* _' S" R* ]: s' q' v8 W( T1 x- a( f+ {% O# s% \, X1 C5 S$ O
Что это безвыездно значит:
5 `7 l) h- k4 M* {1 S, N2 s K. s) c7 ]) j' b& C" G3 {
Тег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?; c3 v }1 b: p1 i/ F4 s* ~
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
) M9 c" N3 |( b# ?5 A: B/ [2 x& `' [4 h4 u( ]4 D
<add val='100' order="0x10" stat='pDef'/>8 Z9 B- r3 u) q
( V o/ n9 I8 |' L' M# e
Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).
4 |9 |" C, a7 w% t; E( z5 L1 ?: S4 L2 b& h* h! V9 `& w
2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.! w, S$ r S) q8 F; V6 H
% _7 O) Z2 D) f+ J" HДанный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).) {0 b% ~* I' C
3 |# Z' b. m2 u% |" L- V5 E
2 a0 Y j# O/ Y* }2 x% f3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
2 _/ P; q3 u+ z0 e1 x! k: R1 n- y. G/ ]. }! v
Данный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
" }0 Y$ o! I9 ], D8 }; B, A( M: n, V- ~5 Q4 L8 |) N ?
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.: T2 |2 ?& t+ L6 B: V2 \5 _9 @
5 w N" M2 m$ B: s
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).
+ i" `1 b$ w0 b) K: ]7 V2 V4 P0 q" Z _" b1 y/ |7 s3 H n
5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.7 Z7 q E6 j7 i3 N
- R N9 s! s2 I8 i3 \, l5 YДанный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.
" ~( F! T* N8 ]/ RНиже приведена список значений "order":% j; O# q8 |) P5 g' |0 L3 }
5 _ u; j1 k" \, i6 b" N0 S$ I, F
0x08 - set. ?; C+ w* g" d
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN): x" K! O. g d* `1 B# Y
0x20 - отнюдь не нужно
4 s, K( M+ s: C2 V2 X0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)3 k; l3 H5 P5 _9 h. K. R9 g
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))
: v2 ?# N. g! y0x50,0x60 - никак не нужно9 j* m; b, h5 ^
0x0C - enchant; ~1 B2 E6 t- F5 L. N( R3 e
. M/ G* e9 p, u: D7 j, iЧасть 3. перемена скилов
0 F2 G, \2 H( `! w& L
' f# c' D0 M9 {; t7 mСамая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.$ C0 u; U' B- ?6 b8 i5 e
6 _' e0 Q. B S( H3 Z* d3 z% yИзменение максимального количества HP - maxHp" Y% k6 a* W9 q( `1 J5 U% Q
Изменение максимального количества CP - maxCp
) Y3 v5 _7 R; F! ~3 PИзменение максимального количества MP - maxMp
1 H- n* ?) ]4 x3 p5 Y; \2 JРегенерация НР - regHp
! w$ {3 k3 P9 }, p( j/ aРегенерация СР - regCp
& @: f% h# }+ b7 V5 YРегенерация МР - regMp
' k0 D! _- f! M1 s5 BЭффективность хила - gainHp0 r3 v' Y, Z7 T/ d( w' f3 K
Умение хила - giveHp( E q w1 h; \% z, G
Бонус хила - bonusHp( k- z8 | R- |# v8 V* Q! F6 u
Физическая опора - pDef
' C$ U N% y' E# g+ W( eМагическая столп - mDef
y; v9 f# v- |& q. RФизическая набег - pAtk& n9 k: X x+ B* A8 u6 g
Магическая набег - mAtk
; V5 @3 ?; Q& m1 [+ _) |Скорость физической атаки - pAtkSpd
" H; E6 t% `- u5 rСкорость магической атаки - mAtkSpd
8 C0 Z. R/ ^' Q& @1 `- K) ?" c' T3 VСкорость отката - mReuse& W3 x4 f) R* Y _! g
Защита щитом- sDef
' X, U2 Z, V& BУгол защиты щитом - shieldDefAngle
m2 d5 z, N4 fКритический пощечина - cAtk, y$ J6 B, r1 l3 b7 c
Прибавка для критическому удару - cAtkAdd
7 w& G- F- \# ]4 o, A F; YФиз. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg* s5 c. N+ o8 W) j; o- b
Маг. урон - pvpMagicalDmg
3 |' }# t/ [; LУрон скилом - pvpPhysSkillsDmg6 Z! R- p. @8 ]8 o8 e3 R g
Уворот - rEvas
3 ~4 E" w0 a O `) T0 gУворот через скилов- pSkillEvas6 v1 C& c% f( Y/ Q' C: Y6 i
Шанс блокировки щитом - rShld
# \3 j, B- N: q1 [. e$ _Шанс крита - rCrit' ~, Q% s; A! r0 ~6 q& Z
Шанс Blow - blowRate
% @9 D+ Y w; C, V5 K6 ZШанс Lethal - lethalRate
9 w1 r$ t( M+ F1 o: sМаг. крит. надежда - mCritRate (mCrit doesn't work!!)2 t. T8 ]1 w' [8 U3 H
EXP,SP надежда - rExp
/ y% n9 s: h. fCancel - cancel9 v: @& \7 d( H1 D# }+ `) |/ ]! A
Точность - accCombat7 ^- |8 Q# y/ C, `$ k! i K
Зона покрытия физ. атаки - pAtkRange (for fighters)+ T, x: I8 ?- D' y' H
Зона покрытия маг. атаки- mAtkRange (for mages); Q) ~8 P K! b
Угол атаки (только с целью воинов) - pAtkAngle
0 A" K m) u8 k( z- R! ~Количество атакуемых - atkCountMax, _1 J# w* P( _/ M# G1 X$ w+ j
Откат физ. скилов - atkReuse% f0 {, @' O0 M; E8 f
Скорость бега - runSpd, k8 W7 `: C2 m; C2 a
Скорость ходьбы - walkSpd3 ]9 x) f ?/ ~6 t; p Z
STR - STR( ?7 l$ M5 i+ @
DEX - DEX
+ ~& \7 A, _" A |4 lWIT - WIT6 Y5 x2 R/ ]+ T a# Q0 B
INT - INT
8 X3 s0 ^! S; I- ]% F+ |7 }1 u$ nMEN - MEN
- B* n/ d7 h+ r, u2 P# ^; ]# M3 o% m( v
Уязвимости
* f4 c. e+ `% l; y2 P
; J1 X4 S6 d9 \0 `Агрессия - aggressionVuln, p" O% H, K4 l. A+ h
Кровотечение - bleedVuln( e+ A: S$ }# ?- ]& V
Яд - poisonVuln
- G7 P% f- S+ w# }) dСтан - stunVuln
7 g1 y" q2 j& @* j7 k1 _Парализация - paralyzeVuln% x' P# `5 Q) X8 ^4 E( w/ ?7 _0 T
Удерживающие заклинания - rootVuln
- u" y U% ~; Z0 b. K9 qСон - sleepVuln/ T" t6 R8 q( T' v9 {
"Перекидывание" таргета -confusionVuln
, z: g1 E2 |7 lДвижение - movementVuln$ t: ~6 {6 e9 o6 U
Огонь - fireVuln$ D0 @; j8 Y5 i0 J: h$ T
Ветер - windVuln. X* ?6 m* X3 [$ G* p8 e7 E' ?
Вода - waterVuln* H. T4 i& s9 {0 i# H
Земля - earthVuln
V5 K7 g- F @: \9 n* G; {: c& fСвятые атаки - holyVuln" z5 R9 j8 N0 v6 V& Z5 ]
Темные атаки - darkVuln# N. }6 o. n0 X# K0 x
Резист для cancel - cancelVuln
( Q/ | _9 ] n5 R+ u% |Дебаффы - debuffVuln: J; N& q- e2 S7 B* k+ m% k- B9 n$ i( ]
Резист для криту - critVuln$ G" \9 {4 C" I/ n) N
i. C w3 c' l8 }! \Резисты простив оружия (тут думаю изображение никак не нужно)& e/ N2 D8 g- R3 `
! O" z9 U0 p6 R8 JnoneWpnVuln" e+ {! H9 E5 E1 _) r6 i
swordWpnVuln
# n2 b; E0 m5 O* ?% N k7 {bluntWpnVuln6 g1 g+ J0 t+ A5 Q
daggerWpnVuln6 w1 Q' R& U* a4 u! }6 E
bowWpnVuln2 J+ W( W6 |9 M! Z
crossbowWpnVuln
$ p* K# e. _' x# f1 [! R* `5 cpoleWpnVuln
" V+ h8 k1 A* V( `: J1 vetcWpnVuln: P: v% }% @( C( c
fistWpnVuln
5 K2 {, H( c9 y8 @- b) O* `dualWpnVuln
A& U% x6 O" S, Q, b9 [6 qdualFistWpnVuln2 H8 X I" k1 S. @3 g; s/ w6 {
bigSwordWpnVuln
( N+ f# `: n6 x
a9 b: M/ F: q+ wОтражение4 a% G/ O, X4 H7 d
/ C5 i4 c3 G. T9 ]
Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)5 F$ u$ P8 m X+ L* n1 k+ h; w% t- R- Y$ G
Процент рассеиваемого урона - absorbDam/ H& c0 Q4 U1 [! F/ \! ?8 U
Процент переносимого урона- transDam
& A0 b$ y, l- J/ v4 A+ LОтражение маг. скилов - reflectSkillMagic
' i4 I/ \ `9 ]5 r3 }+ F! }Отражение физ. скилов - reflectSkillPhysic1 G/ Y. x1 Q3 N0 u% R7 Z! r
) X1 }" A/ W: z" e( r+ B9 S7 z
Другое (для примера):* i/ p1 S7 A- U0 j7 q2 t7 f
. c/ ?5 u, k8 e* [' d+ F2 w: TАтака для гигантов - pAtk-giants/ }& ?. x% b1 ~$ G! B4 T+ t; f8 X1 U( I
Защита для ласкать - pDef-undead7 s {8 h) i1 S' s7 S
Атака в животных - pAtk-animals4 m; `6 ]0 D p/ j
Защита для монстрах - pDef-monsters
7 S$ f8 B4 _- I; o& eЛимит инвентаря - inventoryLimit8 D2 b, F5 b0 i1 I5 z p8 o% L$ E
Лимит ВХ - whLimit' M3 w( k1 ?6 Y7 L2 {5 o
Freight лимит - FreightLimit& i2 X+ D6 N& @2 S9 C# `& N
Лимит продажи. - PrivateSellLimit
$ D/ z: ^, g2 Z4 K7 @. H: kЛимит покупки - PrivateBuyLimit
% x, d2 ]1 o8 L& ~% q" Q1 L* O7 tЛимит гномьего крафта - DwarfRecipeLimit# F% d9 L8 t& {5 R* ]% \
Лимит common крафта - CommonRecipeLimit5 }8 H F9 H. h5 w
Потребление МР физ. скилами - PhysicalMpConsumeRate
0 k1 K1 _. z" hПотребление МР маг. скилами - MagicalMpConsumeRate
j% j8 v$ ]0 EПотребление МР дансами - DanceMpConsumeRate* P/ m- k5 [2 f& T0 h
Потребление НР - HpConsumeRate
$ ~9 K1 c5 d6 V O6 L+ \$ G) h' A6 x% HПотребление МР - MpConsume
p2 G! G. m x% u$ G/ S7 N9 p: ]Потребление соулшотов - soulShotCount
( Q! B0 z [ y" @& E+ h# X* ESkill Мastery - skillMastery- f; f' b$ f: R, g. o
Время пребывания около водой - breath
9 F9 t- h7 d, }& k& C1 m4 u% G' |* @
4 S6 w4 A% Z( n# n) bВроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще ! S6 ]9 |4 m3 m2 ?# d: o. ^: c8 j* l
/ F- d$ \- ~- X' L* M0 y
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:5 u } C2 f- W) P
) j" S- o! Q8 o5 i' w- FTARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)
5 \' j7 Z; V2 ?) Q! R+ q2 N+ aTARGET_NONE - мишень неопределена) s ^* p9 w, B. j, k
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.. i: n* l9 ^, Y& i
TARGET_AREA - обозначает, который скилл довольно массовым
3 C8 j) Q5 [, J, }TARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
E1 I- O' x. E4 V" w
# y' O3 g" u' h9 p6 S f2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)3 F% H' N* y5 Z
Принимает следующие значения:
# c) F" E6 T& f* hBUFF - бафф (оказывает положительное воздействие)
6 x9 ]8 d$ w7 K8 G+ {% d9 W+ {DEBUFF - дебафф (оказывает негативное воздействие)1 p+ |3 r }- c6 g: z" N f
% U9 s: a9 d% v! E8 c0 m
3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)* e' f+ A2 q3 W; h, q
OP_ACTIVE - активный скилл, может являться использован игроком
9 |" [% T4 m6 S2 v: G- k& E. ~OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда), a7 U9 t4 ]; A& a- A! N3 F1 v
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:9 X% T/ } j) A8 N; }8 h
-power - значение скилла
! H1 ?( x1 f+ E1 I2 ^* v8 |-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки! k+ [7 I: V7 I, o$ Z' e0 x
-reuseDelay - откат скилла
: L1 p: @' `- o8 D/ s2 |; n-hpconsume , mpconsume - потребление МР, НР
5 y- F# M, {+ V% c-castRange - это дальность использования того иначе иного скилла (дистанция)
6 g/ \; ], D& j, p' h- V-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом), `* Y/ C; p' P$ l7 _9 P5 @5 M4 L- C# i8 t
-effectRange - радиус действия (для массовых скиллов)/ g6 ]! h! V B: N& b# R9 P7 D
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.( U7 \/ `6 R) p- J% ~
Это основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.& `3 G; D# W9 U6 I
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .
9 x" A+ U8 W; H# Q1 c4 P& Z; i. v2 ZПриведем первообраз использования тега равным образом тега :, f# N- }5 F+ O1 m3 b/ P
( ~ _( Y: u, L7 e$ f3 `/ n" D0 q5 N& a' g! T2 K
: h- [+ Y+ f8 z2 s1 \8 E, G9 N. sЧто сие значит:; F: V }- k$ ]. P* D0 v2 S
& q/ ?) `) E C4 w) G( P
name - Это характер эффекта
4 ?! }" U( ^# N; \- J" Y2 m+ Rval - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.. _, x: G: \4 ]' x; q
time - век действия эффекта. B+ O% a; T3 u
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.
% s; Q% w6 \7 Z* p0 ?% `5 L- J1 E$ {) Q3 a4 {$ H
Думаю со скиллами я разобрались, нынче перейдем для зонам.
8 V/ `+ q* J" `2 a
: H- U5 n. T4 @0 y0 RЧасть 4. чтобы начала описания зон используется тег .9 Q6 O) l% ]/ b; d# }
/ H4 n. }; J5 ]9 ^3 k. b
/ f6 |3 |% d( y<!--Комментарий-->
2 r3 F# M0 X* q: H/ b- P8 |$ X/ a, m5 z! k/ j0 ]- Q
Пройдемся за значениям:
/ P' r7 U _! x, j6 H
2 p' s. n8 u0 v+ t- g1 rid - идентификатор зоны.
' f! _3 Q- a* A& A6 ?type - образец зоны (town, arena, jailzone). Например:
% k) ~+ N) z8 N4 a X1 x4 rTown - мирная зона (город)6 y4 ` {& W3 D5 w L
Arena - боевая зона (PVP)( j& N( r/ ~- B9 ^
JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.' h) f }3 _ Y, j; O
shape - это платье разве подобие зоны. Может водиться двух типов :, ^ N3 {2 D$ `. e
-nPoly
- h+ E6 y1 l# b. R4 K+ P-Cupoid.: E0 o8 x) Q) l' U7 H2 P9 Z I
minZ - это минимально допустимая координата гора (z) на данной зоне .
5 v, W1 ^# A( r+ Q MmaxZ - это максимально допустимая координата гора (z) на зоне. H& R1 j* \1 q% O. h
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д. a$ B* y( N! ~, o3 Y, C
|