Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон
$ E! o6 L4 R8 v8 d1 l3 C) y. [5 G5 } x9 J! j7 I( s
Часть 1. Введение
0 A5 B2 n) i! ]5 x2 O* n( {+ M3 d f4 R" S; r7 [4 Z( ^( O
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.2 X& N! W% }3 o. P2 X
Первая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.2 W/ x+ E$ d3 W3 G) _% I
$ C# W$ l0 Z3 @7 W. }
Спецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.
2 X" x/ D8 k% y( P2 U: ^Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:
& G! }4 @1 ?) @* Q* R/ C/ v0 y i4 |
I* k- D! V, ^6 U7 T: F/ G4 x0 C<!-- Текст -->
* @2 S9 O$ [7 L8 i8 {4 V7 g3 Q4 y8 P; \& K1 H0 Y: ]7 e8 r+ G" W) b
Но я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.
2 _* Z4 _0 h" g8 q5 s3 @4 p1 G4 y8 f1 N6 u8 r1 K
Часть 2.Изменение статов вещей.
1 y, K0 t1 P& @( T; D8 Z* C0 M2 `' t! Y5 Z5 y( \) i$ w& W
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода. G2 s5 b ~% A' T1 o) X
2 E* @% O( }' e+ `+ i% _Для измения ее статов тогда нам нужна лишь одна строчка:
% z* A! F, X* _1 w; w) a" |
! k3 M" w" z y( F, s1 J/ }# w5 GЧто это безвыездно значит:
: J+ Y3 y) `( ]+ [# |& J) }: V% [) g4 T/ S. J
Тег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?5 U/ N: s/ Y# c
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.& ?: b% r, Y- M& I
* n. V+ Q6 n: D$ M4 C0 r9 i- q {<add val='100' order="0x10" stat='pDef'/>8 q, {9 ?, L# |+ l; Q! |
+ I9 {$ \$ B7 h2 c& X: |Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def)., X/ S, l* \* V% `+ k- a
: a* z: J5 F5 D8 P5 \# j! b2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.
; a3 N& ?7 T7 M( s* ?1 w/ H, C C/ q' k( E4 L0 B9 q$ @
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).
* i& _" @0 C3 K4 s5 X1 Q6 }3 T6 p/ s2 | s6 |% T5 W
" a( C3 |! k6 M/ q% J* j: Q3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
' M1 |5 I: G! y( m& M! j4 @+ @5 J
5 {/ a; {* m V7 X; ~" N7 [Данный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
2 T( y3 L: i4 `8 I( N3 s+ H' V$ G4 A6 u: I6 k
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.
+ w, D% H6 Z& H0 ~* ^, ]' R }+ \: M" W6 t6 s
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).% W) ~8 N& D/ r. X+ ~
}" B& R! Y$ D9 |* q4 ?5 V" K5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.; x1 @% T* D- l. D |$ o# n/ T
( V+ i$ m! c2 { X& W: D- L: @7 F
Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.
1 W. C; v! u1 a% G5 aНиже приведена список значений "order":
* A9 r' U; r L9 a6 J @+ c9 Y
6 ^5 {2 n. e7 U0x08 - set2 A% Y i# y( S p; A
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)
3 c" I, W7 q" B0x20 - отнюдь не нужно9 i$ }8 G: m. B
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
9 m& \/ J8 G1 z0 p& J+ n( J& |0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))
3 E" C) d% r R0 ?. A& _/ g9 F0x50,0x60 - никак не нужно
! B: k$ A, n( e% W( X! T# f# |9 s0x0C - enchant
! A0 p5 x- }3 y$ c$ ?( q- e! Q" S- h6 |
Часть 3. перемена скилов8 R( y5 B. b0 j2 T
$ u- n! P9 G, bСамая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете., P0 T: u4 }2 }6 d+ c- q
$ }2 N/ V& F% i2 p
Изменение максимального количества HP - maxHp: ~; R" Y p1 Z: E. K3 h5 |0 ^5 M
Изменение максимального количества CP - maxCp6 C* p4 Z( b1 _' U, }
Изменение максимального количества MP - maxMp
4 ~& l& e, ^5 M' L( eРегенерация НР - regHp
& B! Y3 ~1 `6 u3 PРегенерация СР - regCp
, ], z6 y% Z$ kРегенерация МР - regMp- B3 Y5 K6 B( c' c5 y0 c" A) h
Эффективность хила - gainHp
% L5 L, q) q1 r1 c, J1 J' \4 eУмение хила - giveHp5 q+ b, _4 Q( B9 j1 q; ^4 r- U: v
Бонус хила - bonusHp) ]9 S2 J- ?# I
Физическая опора - pDef. E$ \! P# Q# t) e
Магическая столп - mDef/ \7 ` ]: |$ l$ b) r
Физическая набег - pAtk4 c8 h5 Q! {* w# ~
Магическая набег - mAtk& E1 @5 |( J) T$ u
Скорость физической атаки - pAtkSpd: a7 D5 I3 _% n& I' G
Скорость магической атаки - mAtkSpd
& f& H y C3 d) q6 _Скорость отката - mReuse
1 k" f2 u1 R; n! Z: J8 }" f7 E) hЗащита щитом- sDef/ g# ]# W) I+ r/ e- N! o- B' {
Угол защиты щитом - shieldDefAngle
$ C6 E1 y! {5 Q, i" u0 YКритический пощечина - cAtk
6 ?1 i5 j o: m9 f7 ^Прибавка для критическому удару - cAtkAdd
7 G M" y5 x% Y/ J9 H1 ^Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg, k3 `1 E/ ?7 D) B
Маг. урон - pvpMagicalDmg
) w6 `! r% ]& }2 @' MУрон скилом - pvpPhysSkillsDmg
: @7 `+ G. I% rУворот - rEvas+ w8 b' j; f6 `' b
Уворот через скилов- pSkillEvas
: n( v( r( z" tШанс блокировки щитом - rShld5 s, {" r. \: b1 }6 _2 J
Шанс крита - rCrit8 f6 F) |: C4 O# Y7 s) ~9 |
Шанс Blow - blowRate; {0 y m8 H* w
Шанс Lethal - lethalRate
i& j( o3 J0 dМаг. крит. надежда - mCritRate (mCrit doesn't work!!)
* H1 a4 K) U: R# L' G& @EXP,SP надежда - rExp7 {8 [0 _5 O# s- {9 c( g9 b! N
Cancel - cancel" m" t+ X9 v) Y) R6 E
Точность - accCombat
6 }5 W# Q! D* x" s* y* wЗона покрытия физ. атаки - pAtkRange (for fighters)
7 \1 a A3 L. B5 \' @3 AЗона покрытия маг. атаки- mAtkRange (for mages)+ g; F0 g/ W) x
Угол атаки (только с целью воинов) - pAtkAngle: A+ n* L8 P% p
Количество атакуемых - atkCountMax
9 f$ g2 z' k3 c( Q. hОткат физ. скилов - atkReuse2 P: P) ~* c2 N" G: N
Скорость бега - runSpd
1 h- p; X @2 rСкорость ходьбы - walkSpd
* `% f2 ~1 _8 eSTR - STR7 ?4 W; H0 ]* D( D& {! B* Q: V# G
DEX - DEX
3 Q6 [+ q/ |( a+ \9 |+ F$ IWIT - WIT* U& r/ t! l/ w+ y* m
INT - INT) {* K5 r5 ?% U7 I
MEN - MEN* ?" v6 K1 K! ?9 M6 ^* b& D
; y( g' l5 E7 h5 z/ a, \' d
Уязвимости( P) ^7 ?. P4 K3 @8 Q
0 x4 n, Y/ x$ @. n+ gАгрессия - aggressionVuln
' K; Z' T3 G/ V2 {) OКровотечение - bleedVuln+ d4 s% N8 |8 l1 q5 B, f1 H
Яд - poisonVuln
9 R/ f) o+ m) E5 y( ^; Q9 yСтан - stunVuln
( F. C2 ^; E* w2 l- e7 }/ QПарализация - paralyzeVuln
a' D% G& q1 [1 BУдерживающие заклинания - rootVuln
* J# |( s7 X/ q% ~2 ?- zСон - sleepVuln" {' }, E1 Q$ z9 e: _& G8 j! _- S
"Перекидывание" таргета -confusionVuln$ @1 S8 _- c; f# I. s$ V0 @' |
Движение - movementVuln- @9 p% W9 E" B( H7 |
Огонь - fireVuln
$ }- p7 p3 K) h6 X6 P5 V$ R. {Ветер - windVuln8 |. o& m* A+ I0 z# ]) v. n
Вода - waterVuln
( P( A# q9 L" p4 M: Y8 m8 pЗемля - earthVuln7 r; K' P$ R0 b W
Святые атаки - holyVuln
1 E6 \: q% o& U: uТемные атаки - darkVuln
Y1 ]0 M; `2 tРезист для cancel - cancelVuln
5 ` X: b3 E7 z p8 `0 {Дебаффы - debuffVuln- B; {. ~" d) L4 W0 Z% [
Резист для криту - critVuln
+ m% t. [9 E% E6 B4 I; z' {- q5 @' h% `# u+ E
Резисты простив оружия (тут думаю изображение никак не нужно)
3 ~' O5 O5 g1 G5 a
! e" z" C9 I6 S, wnoneWpnVuln( u- b. G% c( L$ ~. w* S8 [. Q
swordWpnVuln
7 Q4 X! d+ k+ D* obluntWpnVuln
: W9 u% I* G/ b. T: ^) Z$ {daggerWpnVuln
0 o6 W: c& s! n: O( E3 m. a' ubowWpnVuln; {' K$ E3 b( Z( S) |. R. L d) b( I
crossbowWpnVuln4 m9 l7 e& v( X, y0 a: `
poleWpnVuln
1 ~0 h$ R" M+ n* I0 A# a; ]etcWpnVuln
1 a0 D" X5 i* H+ _' RfistWpnVuln9 f& B0 r |& m! A* F( H
dualWpnVuln: h. D1 ?+ F1 z `# y
dualFistWpnVuln' G6 W6 [5 w; f+ S# H8 n
bigSwordWpnVuln; n3 A: t/ R j0 z4 H4 R1 R
`5 c) ~; G# n. ~
Отражение
8 R, e/ c: Z$ S9 ]
- l* T9 Z- [5 p N m( _" s, xПроцент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)+ ^6 b. n; }" q8 G# Y& Z2 P% R# [
Процент рассеиваемого урона - absorbDam
4 e% w9 c. a, b9 R5 n- fПроцент переносимого урона- transDam) p4 i$ a4 l- s; ^* g e
Отражение маг. скилов - reflectSkillMagic( `7 U, C9 X- m# u; ?$ ^
Отражение физ. скилов - reflectSkillPhysic
" r9 r( S& d4 M+ h! _$ K0 v6 E0 C4 U; n: O
Другое (для примера):( r: I$ I. V9 E% Z
; _- b& A2 L! k; d2 k3 `8 Y, _
Атака для гигантов - pAtk-giants- i% X/ ^% w3 `$ ]
Защита для ласкать - pDef-undead
; s1 q; _: Z& |& N( OАтака в животных - pAtk-animals
) ^9 V( ^' V0 `* LЗащита для монстрах - pDef-monsters9 s5 N5 o' F: q( Z
Лимит инвентаря - inventoryLimit/ I5 }/ Q: u8 w3 c' ~& D
Лимит ВХ - whLimit
* M M5 B( A0 ]- xFreight лимит - FreightLimit* I* L# r! u9 Q( C7 J
Лимит продажи. - PrivateSellLimit- h3 S: X- [0 a* G
Лимит покупки - PrivateBuyLimit
8 F8 j& Z$ `- T/ _* h6 j* G: `, }4 V9 @Лимит гномьего крафта - DwarfRecipeLimit
% P9 R* Q: {3 {% W0 B) C8 @: kЛимит common крафта - CommonRecipeLimit
3 R+ m! q2 E1 {* d3 \ m% ]Потребление МР физ. скилами - PhysicalMpConsumeRate M# h2 Z5 \$ E# p6 s1 h
Потребление МР маг. скилами - MagicalMpConsumeRate3 Y( d7 D2 b% }% w: k& z+ b4 N
Потребление МР дансами - DanceMpConsumeRate
( j- i' r- \, [( s" i6 oПотребление НР - HpConsumeRate
6 G* Q8 }- l1 x X$ Z8 OПотребление МР - MpConsume
5 ^5 n. r! g+ G* w# [8 a/ q# VПотребление соулшотов - soulShotCount2 y! B4 A- `0 K/ `
Skill Мastery - skillMastery1 s& j+ H1 I1 N0 U' [
Время пребывания около водой - breath+ H1 z: n+ V2 A+ e
% Z( r, Q: M7 o0 p
Вроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
- r% Z" s7 J& b+ Q) k6 u3 }9 S2 e. S1 G
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:8 P" H! Q1 Q/ z+ L* w1 c" k$ Z
& D1 x- A" R' H, u0 F+ w* ~
TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)
Q4 L% I3 t, b( }, _; b9 {+ uTARGET_NONE - мишень неопределена+ v+ p3 \- g% a7 S J( M& b
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.
9 \$ r- ^$ R7 r! E$ H* K2 oTARGET_AREA - обозначает, который скилл довольно массовым
$ ^5 w0 P5 C$ ]TARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
' y0 o8 J7 B" n
' a" p% m! O7 F4 j2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)
% c7 W3 y( F8 e. V8 zПринимает следующие значения:
# ] j$ P9 m# {9 B \- bBUFF - бафф (оказывает положительное воздействие). H+ |5 [2 _( n5 x3 V/ F
DEBUFF - дебафф (оказывает негативное воздействие)6 b1 U! W+ z) z" V* A: d4 r3 r
7 m% ?3 d! A/ u. J1 e
3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)8 {4 `! r! r, p
OP_ACTIVE - активный скилл, может являться использован игроком
& m, m8 J' S7 M& XOP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)7 d& X3 N u! t
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:
+ z; k+ R* j) S0 [7 \5 R-power - значение скилла
7 X- s. }) G0 ]# V! U3 l-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки
/ k6 [* R1 W3 W. B# Q1 o: ^# y-reuseDelay - откат скилла# j0 _9 ~2 ~4 K/ f, H |/ s5 X/ f
-hpconsume , mpconsume - потребление МР, НР
( L! l% q/ r9 x9 {$ J3 G" X-castRange - это дальность использования того иначе иного скилла (дистанция)
) J8 T& _+ ]! O4 C; D-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)
! K/ [# z3 v) z; \0 I& o-effectRange - радиус действия (для массовых скиллов)$ t# x# Z4 _+ g2 h
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.
6 b N4 p/ e/ {1 R& u5 _Это основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.) | n2 O% z0 |' [
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .# @8 |) V+ F$ M. @$ ]
Приведем первообраз использования тега равным образом тега :
% Y# c4 |) L/ S3 T) U1 |( ^3 t1 B, }8 j. l* U8 `: m6 M
m/ M- q! o- K# l( e6 p
j* `: R$ X5 N& D: T; i, HЧто сие значит:& f) i7 x+ }& F, M
' j t- E# m8 p8 l& R2 d# e2 d
name - Это характер эффекта2 n7 r# `& {+ {" K) o
val - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.
* ~; Y; L' k7 L" |+ G$ r6 w6 h0 Ntime - век действия эффекта
. u8 ~* K, d5 P$ X) _6 T7 FStackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.7 K9 u r# Q# L3 W, A; j
) z6 a4 j3 T% e! E& V! l) K
Думаю со скиллами я разобрались, нынче перейдем для зонам.) L& D. B _8 f( [; \( X5 p
( l5 q+ [9 m- ]4 z3 [: tЧасть 4. чтобы начала описания зон используется тег .4 v8 K3 `& l" V1 M+ d
7 }4 G( z6 W6 K$ c8 B# y
, r* ^ L# l: M0 y3 U( R
<!--Комментарий-->
# f; B9 l1 p! o, x" |: w7 S& I- b2 m; \9 u( G; ^; Z0 a. j" C3 ~
Пройдемся за значениям:) w* c1 Z# g, C* Z/ U: J0 o! ^
# U* _ X9 R& h- \1 Z# o
id - идентификатор зоны.
$ L2 @+ k- c. r% r9 y* @type - образец зоны (town, arena, jailzone). Например:( m- A* i& _1 M) t9 j
Town - мирная зона (город)& Y e; t# S2 i8 `1 x7 X
Arena - боевая зона (PVP)( d: `: J% U$ r8 f
JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.8 V! b$ C _6 n: l/ R$ h& L
shape - это платье разве подобие зоны. Может водиться двух типов :" k! [4 a9 X/ H e. l0 q: n
-nPoly
8 q& f5 N3 }& W w: `-Cupoid.* V3 t* H- c6 x+ D- i3 S
minZ - это минимально допустимая координата гора (z) на данной зоне .
" P5 h3 Q. U! @maxZ - это максимально допустимая координата гора (z) на зоне.. i% [. k: u4 B7 L6 _( v5 H- W
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.. c/ `+ L3 q- }$ v0 O2 v* N
|