Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон
) O. e2 U2 {' G P t% e" w3 w v' p0 L. F1 U
Часть 1. Введение) _/ R( V8 x3 i2 L& a
* ~( ~( B4 p+ `" Y) g6 U" b5 @
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.7 X, P. U6 v5 G7 k, L/ p
Первая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
- }8 c) F1 s- {! x/ O5 d! D, C7 Z+ d7 V) W
Спецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки., m; T3 i8 l* u) T. ~
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:- c2 w! I! V& M5 P* D, e
# M) B+ O: ^ B9 V+ I/ Q<!-- Текст -->4 W( R" o9 [7 u. W& p
7 e! d2 [+ R3 `, N& I8 l6 b3 e* k$ BНо я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.* ]) y, e. j- A
6 {9 y b4 o* ~0 a- c9 P
Часть 2.Изменение статов вещей.
p2 b* X3 W; z: K7 v5 Y# B0 V. t' U, [- F0 p" `- _9 a: B( a
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
, r/ I2 [0 Q5 m. Q0 V. X
$ I$ I4 D3 J! N9 L* j1 s+ GДля измения ее статов тогда нам нужна лишь одна строчка:
1 G0 V8 m I: J8 A1 R. k6 M; c7 M+ e" V7 |6 U; a {& u
Что это безвыездно значит:
3 [' z; n- L1 g8 \2 N4 T) b& y1 Z" s D0 e5 H3 V6 E* n7 Q# i. t
Тег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?
# p3 l$ t, p: k" [; B6 e7 F1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
0 t5 p, M8 O8 f/ l8 }& L9 D! U* i2 }; z" E" c! v
<add val='100' order="0x10" stat='pDef'/>
9 _ L) A9 a7 V1 N6 p. M* E
+ c+ M% [/ ~' [9 {/ J9 \Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).
- D9 \8 p" |: u) p7 A4 b+ P. J& u* u; c8 s! A1 i! H
2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.' Q2 U6 ~8 R* u% [- }$ S' j
0 G3 v$ U) _5 P2 e
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).
; M$ t& Y' V) U* Y. \- c+ ~! [% a! R% Y4 }3 w+ O! Q
, G, ]* D5 ~+ Y! s
3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
. ]# m3 W5 B4 J9 R8 q8 |- Z/ U
# N* f% P1 u" B" s# t+ [, f J/ CДанный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
. s/ r; t! J: t6 |' N* D' @& [; _7 a( O/ I8 F9 q. Z
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.
- I" ^) N" g H: ^* a& V+ c1 d+ H4 N* T' O6 k; I5 U
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def). q# L" H. r9 Z3 j3 K5 } v2 V, H
8 Q( O5 J! ? U. B+ T* R/ a5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.
5 e1 N) f& V+ R# Z) n `2 H9 P
4 B. ?6 p$ H3 ]' V7 I+ z0 ]Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.
- e/ ~( G6 j: k( I6 \$ ^7 P* [8 TНиже приведена список значений "order":" j0 Q/ i U# `8 j% z
# b" r) U. s2 W( v4 n3 y
0x08 - set/ _4 i V9 z3 a1 [
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)
0 K0 P; ^5 v, K4 g- W8 ^! g0x20 - отнюдь не нужно4 ?# A$ u, O% w6 N
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
8 u: p! X9 |+ R3 y7 u& Y2 S. {0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия)), \1 X/ a$ a+ Y5 p$ o& W% a7 f
0x50,0x60 - никак не нужно
3 B* a) w0 D, w$ s: b1 `6 F0x0C - enchant8 A6 `; q" X; ^! f
7 G. I; }7 v! K5 p2 K) k [: D
Часть 3. перемена скилов' R; X6 Z" |8 c& U3 i0 { @/ A% e
2 S! N. g; `# m+ f& g
Самая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.7 J' k( F3 Z$ V6 q
) M9 M/ ?) \, @" ?
Изменение максимального количества HP - maxHp
7 n4 {5 n# ?6 R5 _Изменение максимального количества CP - maxCp& S0 c2 \7 g& Q5 ?0 `+ t+ U
Изменение максимального количества MP - maxMp
% }( a0 B) k# Z Q( D2 n& M2 q& PРегенерация НР - regHp7 _( C9 Z) ^ P
Регенерация СР - regCp
: I" R$ S5 z7 G7 W: z& W0 MРегенерация МР - regMp- h. e/ Q& S1 @
Эффективность хила - gainHp6 n) F4 E1 U# `, r" x
Умение хила - giveHp
* N* }. s9 y) v! i7 i" RБонус хила - bonusHp
* n8 `0 Q: |) ~" wФизическая опора - pDef
& R& }1 I& Q( q: R$ qМагическая столп - mDef
( [- E' ~$ Z; s& m' f& gФизическая набег - pAtk
7 [2 U- ^; |9 H- Q& ZМагическая набег - mAtk
/ A6 J7 K8 `' D' J: _Скорость физической атаки - pAtkSpd3 O9 _' f6 ]6 o& l
Скорость магической атаки - mAtkSpd
1 L3 P. i! `: R: S& X9 f( tСкорость отката - mReuse: [# o2 b8 |2 C% J4 A5 T
Защита щитом- sDef* M' f( U* U% l# b
Угол защиты щитом - shieldDefAngle; w. L' b* E! a# C- q4 \! a( s
Критический пощечина - cAtk4 L) [, B3 L, y3 v! ]% {0 }9 F
Прибавка для критическому удару - cAtkAdd" d- z' @) W8 u( J+ x
Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg& h7 a+ r; s) S. g4 H
Маг. урон - pvpMagicalDmg
6 o' b9 D, O3 z7 {Урон скилом - pvpPhysSkillsDmg& \! M/ l2 g) @% y5 d( j6 ^0 R
Уворот - rEvas/ t5 g7 f4 n5 Y1 }- r; f
Уворот через скилов- pSkillEvas7 E3 g) a0 v3 W. p% y
Шанс блокировки щитом - rShld" b# X% B" g/ ?- {
Шанс крита - rCrit/ O3 J8 e: ] I9 E7 A+ [! `, s
Шанс Blow - blowRate
1 X3 Y' R7 ?2 e5 |% S/ zШанс Lethal - lethalRate
/ v2 G9 Y& Q( G# b! |Маг. крит. надежда - mCritRate (mCrit doesn't work!!)8 C# C: B# p9 s# O, K( L [
EXP,SP надежда - rExp
! o" t+ x0 a8 H/ o# x/ t. JCancel - cancel
: c; d, K9 t* ?; Q$ D6 KТочность - accCombat [7 Q1 I/ Q" T. W: z
Зона покрытия физ. атаки - pAtkRange (for fighters)
0 v( h3 T- c5 K% S% Y+ `9 K7 J0 pЗона покрытия маг. атаки- mAtkRange (for mages)
9 o: V0 E* U3 D" {Угол атаки (только с целью воинов) - pAtkAngle
% D) c" w0 e$ JКоличество атакуемых - atkCountMax) e" Z* B0 p0 M' J
Откат физ. скилов - atkReuse
1 \' [ d+ c; w, N- OСкорость бега - runSpd
5 w4 D/ H p' g6 q2 d) _Скорость ходьбы - walkSpd
" w) S& ]! f* O/ S$ O4 QSTR - STR
9 S7 Q# o! q* I9 `DEX - DEX B5 u, i1 K! D4 a: X, `
WIT - WIT
' Q( t9 h5 F2 U6 z1 F( wINT - INT
; f, W0 v' ^$ O( D# BMEN - MEN
. x5 U7 \9 _5 g( u S8 \* e# K6 g. }, U; D: s; @% |* [9 F1 p: ~/ o
Уязвимости* m$ L# K' B7 W3 z* _1 e
6 R, h: t( b& }2 ^5 JАгрессия - aggressionVuln
. i9 c, h3 ~ |- N: FКровотечение - bleedVuln
6 | a" f0 \4 [Яд - poisonVuln
: z$ W0 w/ B7 {, u/ b( gСтан - stunVuln s- J3 I ~2 ?
Парализация - paralyzeVuln5 J4 c6 p1 {* d$ i$ n+ R$ b
Удерживающие заклинания - rootVuln# |6 {5 I5 a) y$ z, z
Сон - sleepVuln7 k: F5 T' F+ M K
"Перекидывание" таргета -confusionVuln$ v# T% x* L3 z8 Y/ u9 n- X% I# B
Движение - movementVuln, @: H% x) f% r. W0 ^
Огонь - fireVuln
+ K& w/ p) M2 f" J* w' s, M9 I& T' R$ f6 YВетер - windVuln
! \0 I; k8 ^1 F' O! z/ ^: x" {Вода - waterVuln
- [& e. l+ N: ]5 C, rЗемля - earthVuln
" J8 }/ L3 |( h9 `! X8 TСвятые атаки - holyVuln
+ Z* r0 v5 c1 e/ sТемные атаки - darkVuln; {; M) `; }0 l2 q5 T4 Q5 p
Резист для cancel - cancelVuln T; k# u: F/ u) @/ c/ j3 ~
Дебаффы - debuffVuln6 t+ Q, S2 n$ l! h
Резист для криту - critVuln+ g2 U& Q2 f0 F0 X# F/ J/ b
2 p& W$ N% e ?. @Резисты простив оружия (тут думаю изображение никак не нужно)
C# a9 L3 C/ g) k9 c2 s2 ~1 D- g9 U* x( v4 p* f3 I/ I
noneWpnVuln
% u9 q' \6 D- L# m: P2 k$ h5 p# sswordWpnVuln# T' C& F1 h2 s1 V5 ~, j
bluntWpnVuln# l) k3 r, L; D/ M# A# T5 Q
daggerWpnVuln
" l; q- S9 ]* I" i1 I) K. ZbowWpnVuln( z# C5 v& x$ x: m$ C( A, h
crossbowWpnVuln5 S9 T, D- `% D, I0 Y
poleWpnVuln9 O# C0 C$ R) b8 X& c2 I
etcWpnVuln0 a5 t5 G. T! A$ X- a
fistWpnVuln
7 i% {2 r/ ?6 K% [: E+ F4 mdualWpnVuln
7 i s/ }) C1 l; c9 [- tdualFistWpnVuln
' Y/ c) X' Z( R9 `$ Z- ?bigSwordWpnVuln+ h( [) F* K" i/ R3 k
' w- b; a9 a; R9 T3 I/ g
Отражение5 x! v, I, y" d) Q
. {# |5 V* O/ @6 A' J4 b) |: ~Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)6 o: q/ H B$ J7 d; P$ v: P1 G
Процент рассеиваемого урона - absorbDam- M& p L* d' y# r4 F& D' S
Процент переносимого урона- transDam
- K5 d/ I- g; w8 p! b0 b5 c) sОтражение маг. скилов - reflectSkillMagic
' A# f3 b- V: P$ x% lОтражение физ. скилов - reflectSkillPhysic* a9 H2 {1 [- n
/ ?; g" E: ~# J6 A* ?
Другое (для примера):
% k& s! Z1 b2 a, W& X: m& H* E& C- h6 f: f3 f( B0 i4 J' |5 u
Атака для гигантов - pAtk-giants
3 }- w( N/ `0 B6 ~; X, S' FЗащита для ласкать - pDef-undead
1 T5 u; z0 ]) D6 V' e) S* [6 IАтака в животных - pAtk-animals
4 f% i9 ? m$ t2 TЗащита для монстрах - pDef-monsters
z, {+ E, Y1 M# }Лимит инвентаря - inventoryLimit
?$ Y2 r$ \0 \* ~Лимит ВХ - whLimit$ b( Z7 p2 k! K/ z0 i
Freight лимит - FreightLimit7 q/ R' v3 b; ~
Лимит продажи. - PrivateSellLimit
0 Z0 G: H$ n+ b: R& q+ ?1 pЛимит покупки - PrivateBuyLimit+ L! k$ {2 {. x8 J1 D
Лимит гномьего крафта - DwarfRecipeLimit" }, @; L' e: D4 ^2 G5 Y3 P
Лимит common крафта - CommonRecipeLimit7 f/ g5 [- d/ M1 s3 t
Потребление МР физ. скилами - PhysicalMpConsumeRate7 ]; l+ n# F" G; C) [# d
Потребление МР маг. скилами - MagicalMpConsumeRate
u2 J7 p$ ?" G2 E5 B s9 ~Потребление МР дансами - DanceMpConsumeRate
/ B$ J, k% M) t5 }/ CПотребление НР - HpConsumeRate# Z3 }6 i: _. J! }6 X
Потребление МР - MpConsume0 c, N8 `- T7 P
Потребление соулшотов - soulShotCount5 ]1 M& N/ D |
Skill Мastery - skillMastery
, ]. Y! W) y3 R) m, `/ t+ Z0 ]Время пребывания около водой - breath
. W# ^% \" R. H$ @3 C7 b1 a
- m& r; O3 M5 C8 T) DВроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
: w; X/ s+ q8 U7 I' a) W0 R3 @7 O& @3 l' r5 \6 K$ g0 A
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:
+ B2 p$ d2 K7 G) U
) F. y* v: k1 H4 {TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry), t7 W' x- e$ ~; I$ j j( ~* A: @4 k
TARGET_NONE - мишень неопределена8 L, X0 o l6 w9 t' W2 R
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.
- D3 M9 R& T0 j( x! }. dTARGET_AREA - обозначает, который скилл довольно массовым
9 W) ~' \( J {, [* kTARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует& G9 I, y7 M" `& n: K/ F
2 s5 U2 u+ N* v1 L! Z: J" X
2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)2 K7 _5 z5 v4 a" V k- x8 G
Принимает следующие значения:
% h: s( {8 I j) W6 KBUFF - бафф (оказывает положительное воздействие)( H6 B& b4 ~$ b9 }
DEBUFF - дебафф (оказывает негативное воздействие)$ d6 |# j0 C( a8 e) H2 ^( g! l% C
! Q# m3 X; P2 g# Q; S
3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)
4 ^% L4 k' I4 x: e% NOP_ACTIVE - активный скилл, может являться использован игроком) b! M1 u8 V3 m
OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда). m- n0 o9 S- b* p9 V& S2 m3 `
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:
& |4 a# g k0 V. |! }( _# h-power - значение скилла$ v @ j" X; H
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки
$ [% \' f% o& b9 ]# V' y-reuseDelay - откат скилла3 P- o1 W# s8 L
-hpconsume , mpconsume - потребление МР, НР* M6 F, R, ~* w+ M( E
-castRange - это дальность использования того иначе иного скилла (дистанция)
( d* Y# ]7 Q9 }# W5 B-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)
& @8 e- w8 X1 H/ J-effectRange - радиус действия (для массовых скиллов)
, v+ p2 m# Q( ]% D! h-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.
( z0 _1 \2 @* u* Z4 U: \1 R. UЭто основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.
% x) ~/ U- D. r6 O" sТег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .& H/ F3 ^) Q4 W0 j
Приведем первообраз использования тега равным образом тега :
' `# }, O9 ?& \% U/ `# ]$ [0 g ~, r6 u% k5 n# ^6 _. O H2 l' ~- {
% F1 B. p* U' N* p3 `; U$ u; _ G* f4 N3 {2 `; }, ?$ K @
Что сие значит:& q$ s- e1 E9 ?7 I9 `# T
8 @7 @1 o5 |$ h( n3 ]
name - Это характер эффекта- |/ q* e2 s8 c* M1 \& I% o( }8 T7 e
val - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.$ W! |( I7 j2 R& {
time - век действия эффекта9 \0 g' N5 e" _+ F: n
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.
- F# v# [3 ~5 ?) P
7 t0 {8 L3 J0 h! D: FДумаю со скиллами я разобрались, нынче перейдем для зонам.4 f2 i, b' J1 O! Q8 B
i0 t1 w, L2 TЧасть 4. чтобы начала описания зон используется тег .; A& C& U+ [0 q: @
' y3 @) m1 J% ]9 h. R9 e* U
& u7 T5 G6 L, E4 k6 R) w9 d$ q4 [- t<!--Комментарий--># Z& [( ~5 y6 s9 B: ~: v; K( J* j( d
+ k- x+ \, U5 a( R! g' P) c
Пройдемся за значениям:
6 t& v) {: v9 n6 c
/ @3 P8 ]" e6 p* Z) _/ ~3 fid - идентификатор зоны.) r6 @+ J' j6 ?& J5 r$ ]
type - образец зоны (town, arena, jailzone). Например:# |7 Y$ j b$ K# X& X' i
Town - мирная зона (город)
# A9 ~/ C3 c Z$ ~9 DArena - боевая зона (PVP)
: V: \% B+ b( o. Z" E6 S# o: g- @JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
{/ b+ y( e' f% C2 ]2 Lshape - это платье разве подобие зоны. Может водиться двух типов :
; E8 d7 D9 Y; |6 C0 p5 L-nPoly
- G( D5 @: s9 F* x+ E( ?-Cupoid.
: M1 k) Q2 W: P3 W$ ]+ S jminZ - это минимально допустимая координата гора (z) на данной зоне .- L4 ~0 L( B) x
maxZ - это максимально допустимая координата гора (z) на зоне.8 ~) F$ c1 C2 b3 {' _1 K
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.
8 N9 i/ Q3 J1 @9 ~ |