Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон
( \ b0 A Q/ v: z4 ~& v3 o5 p& Q" O# J# L
Часть 1. Введение# J& }) e/ f/ g) j6 l; P1 S
. X! `7 {* i. g' G* NНачну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.
8 U& L, P- |' n. V7 WПервая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
- T# N5 e5 s2 X' w0 h
; I7 W% Y3 M. GСпецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.
4 E( x5 i* z' D$ v" s, }% U! qТак но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:) B9 u" L, I7 i+ ~. z
1 E( u+ w' @% ]* C( N<!-- Текст -->1 {7 @9 P' A6 E% V/ t. U
4 T- g: f9 | u( R8 i' uНо я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.2 d7 U# n$ T: N2 v1 m* z& X9 ~
: e& H& H, j# s. N0 }8 `' d# `Часть 2.Изменение статов вещей.: B* c' a7 Y" G; k: @6 {* e% l* i0 F
2 \( g+ c v7 z. x( @
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода. S' I& D# A3 ~2 y+ p) @6 L% T
8 e' T: D' k8 k8 X) W! c0 [Для измения ее статов тогда нам нужна лишь одна строчка:
. R/ Y6 z: ?: B. m/ ~" d* k9 G# p' }7 D' E
Что это безвыездно значит:* M' |6 q/ f: _4 Q/ F4 n
' l# A0 a1 H9 z' Q: p4 \
Тег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?
& I- p6 r/ L% H1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
q2 K u) J6 b+ j' Z% p7 a3 h( B1 P' [
( B' F+ _% ]. k" E3 k3 f2 k<add val='100' order="0x10" stat='pDef'/>
& k k+ S9 D9 O h
9 v4 H5 o( p9 B5 F" {Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).
1 q# W2 v; L( t& m1 P+ {
4 n2 I# d$ }1 h5 G, X7 m7 f A1 f2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.4 c+ h" ~ J0 M- m, p! G
4 F( x. {/ e1 BДанный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).
g P: n- b- s1 {( l2 k0 Y9 Z o# t6 A% N
0 z: C: X, P( O$ L7 i
3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
* O5 u2 i% y2 ?
6 [7 m0 k# Y+ sДанный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
b: V, s8 s: ]4 z( C
7 A0 W* n* C+ \/ s9 H5 z) G' f9 Y4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.' p; C6 {: E% t; d" H! z
. g* d( V$ ~9 R: q
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).+ y% I3 m& Z: L9 ?+ N8 m' E
, u4 ~ p/ t/ D: m8 N+ Z2 K, Z5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.6 j4 z i5 R; F
3 k% g+ D$ l8 U& t
Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.: L& W. z0 {/ |2 K
Ниже приведена список значений "order":
2 d. P. m- a; [: q! X9 k1 E* ^8 D" S) ?: ^$ G
0x08 - set" L5 }, }, _' v. c( F# X
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)
% p8 u! t: O7 ^7 d) X0x20 - отнюдь не нужно
1 \: A) W5 b- N, B# t0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
; z0 b1 ~8 z" P9 b$ s+ y& }0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))
2 X& h8 Q1 X+ g! h5 e4 x R. M0x50,0x60 - никак не нужно9 y: w# r& }+ t) M0 i# t; ]
0x0C - enchant- e# I9 @6 [9 G
9 D9 \% ~9 ?/ q* {5 E% |4 J" h) BЧасть 3. перемена скилов
- W7 E+ n W4 z) x% M8 E* [( f" j0 q, t# Q' U, e
Самая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.5 z4 [2 r7 F! I4 n9 L, B/ A
) Z4 f' ~% F7 E+ i8 C1 yИзменение максимального количества HP - maxHp% d' y" h/ Y- y" X. \$ Y
Изменение максимального количества CP - maxCp
1 a5 ^/ ]2 y. s f VИзменение максимального количества MP - maxMp
! y" D6 u. l$ W) m ~ FРегенерация НР - regHp
; D3 D2 h% H6 kРегенерация СР - regCp; i0 K: U3 a& A! V, p1 W1 ~
Регенерация МР - regMp1 p" w5 Q7 F/ Z
Эффективность хила - gainHp% k% R0 \4 e0 F9 f" A3 @
Умение хила - giveHp
3 F6 B' g& N! X& ZБонус хила - bonusHp y! V& y5 l4 n( q
Физическая опора - pDef1 f5 |& X" F O
Магическая столп - mDef
- M; ~$ @ A* S$ ~Физическая набег - pAtk* T- u9 K$ E( f: a: ]* U8 d! m
Магическая набег - mAtk
5 A$ c- i7 u ?' {8 a- C# i4 Q+ [Скорость физической атаки - pAtkSpd
. ~ w+ q* \, d$ T* }# G$ YСкорость магической атаки - mAtkSpd! v3 B/ i& v4 I) p
Скорость отката - mReuse% V1 J( |0 [# h" r2 y) N
Защита щитом- sDef
, q3 W- s5 h, L& ^) @Угол защиты щитом - shieldDefAngle- g6 q0 m9 e' l- H8 k
Критический пощечина - cAtk( h& r( a1 H- H {5 C, a6 R! i- I4 R0 v
Прибавка для критическому удару - cAtkAdd
7 g) M. W: z6 n' o$ GФиз. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg
7 o; a9 W) w) n8 K6 lМаг. урон - pvpMagicalDmg
1 }9 q1 C n7 v$ \1 z8 Q( w! tУрон скилом - pvpPhysSkillsDmg
# l: J4 U' e) I& IУворот - rEvas1 i+ o7 @1 I0 y& K8 `6 j
Уворот через скилов- pSkillEvas
. z" b6 k! a! |" R% w, C# Y2 ?- LШанс блокировки щитом - rShld8 p/ V/ j1 T# x1 P# W( H
Шанс крита - rCrit0 H4 i3 x9 _9 A- ?, @" `1 O
Шанс Blow - blowRate
6 d* ^9 }9 t! n+ OШанс Lethal - lethalRate
" x- A7 V3 c* y" qМаг. крит. надежда - mCritRate (mCrit doesn't work!!): d/ i+ h0 p. Z* ?# A' u/ p
EXP,SP надежда - rExp# g$ S: I L5 n. ^& y8 M
Cancel - cancel
- i; M: c, c) D. AТочность - accCombat
6 e, l3 ~5 Z; |: p) F9 CЗона покрытия физ. атаки - pAtkRange (for fighters)$ h8 U. s# Z( {6 \
Зона покрытия маг. атаки- mAtkRange (for mages)
4 z9 ]# R& Z; I8 tУгол атаки (только с целью воинов) - pAtkAngle1 L! o* _/ p! J! ~& B/ ?
Количество атакуемых - atkCountMax5 v( C# \( v# h) s
Откат физ. скилов - atkReuse
% d+ B$ j6 a" `3 v3 z% s/ GСкорость бега - runSpd
z4 P9 @$ h5 A. n2 d: e; GСкорость ходьбы - walkSpd6 d4 U* }: g. b( b4 A( F; G% G% F" @
STR - STR% P) | \- n! ]) M% o
DEX - DEX) [: P( [1 l' D; z. H* R
WIT - WIT3 _! p- T( k3 v1 u' d7 S6 h
INT - INT
3 Y# h& ^8 o7 f3 _% Q: U tMEN - MEN% `* e# ~* B( y9 E% V- s# V: i/ \) [; c
" M( k8 V$ X8 A! UУязвимости
+ O0 I/ r% c" G( `" s$ D
$ ?5 h, B& R& J1 A9 m( wАгрессия - aggressionVuln
, _, a% a7 K9 Z# @( QКровотечение - bleedVuln
4 m5 X" F8 i; }& C3 }1 O; ]Яд - poisonVuln1 [1 w0 r) l$ s1 G# s6 G7 o
Стан - stunVuln
, i4 R1 m% `) i8 r* CПарализация - paralyzeVuln
' c Q% h/ I8 Q- a; \& iУдерживающие заклинания - rootVuln2 x0 X* E1 ~ @/ K" G! d+ R" X
Сон - sleepVuln0 O, g4 u$ J0 c8 z. w# [, B
"Перекидывание" таргета -confusionVuln
6 Q( O2 q$ @/ U' w! r1 F ^7 MДвижение - movementVuln/ k8 n% x5 `! \$ _" s5 o2 J$ o
Огонь - fireVuln
2 U) O* \ a4 ~# [+ ^# d5 { rВетер - windVuln2 S& X$ g7 W5 K+ F# d r; @, o
Вода - waterVuln
. i" p u' [8 P) b3 M+ A5 FЗемля - earthVuln/ ?" @9 \$ m: I- f, j4 _5 t0 s
Святые атаки - holyVuln3 T3 l$ E! Q, y
Темные атаки - darkVuln
, n- j5 U; ?; Y3 KРезист для cancel - cancelVuln
( S) U% F% W2 i9 GДебаффы - debuffVuln
3 s2 b. k7 ?+ }+ t$ @2 e) LРезист для криту - critVuln; [; V }) W8 Z% `9 j
: c/ W$ l4 C3 y6 G: [0 m
Резисты простив оружия (тут думаю изображение никак не нужно)% f. K1 e& P8 b1 D. N: H8 U" ?
! }$ M3 L' l/ ~9 `& ~5 Y" I
noneWpnVuln' H& F$ V# U0 F% |
swordWpnVuln7 W5 `$ K- Q7 Y4 u6 M
bluntWpnVuln
5 Q; L" T7 |& NdaggerWpnVuln; F6 B3 I8 i1 T7 c/ |
bowWpnVuln. }2 C) X5 ?% c6 C2 ~# m, B0 i" \. Y
crossbowWpnVuln& J9 b; e3 R3 R$ B) @
poleWpnVuln, L- o( `; \ T7 [& O5 B% Q
etcWpnVuln; k- {6 ?. c( K
fistWpnVuln
! j# v- V& y9 g- A. w& LdualWpnVuln
3 Y* |1 \6 b; Q: R2 PdualFistWpnVuln
' T5 u3 P _3 B9 obigSwordWpnVuln8 X6 Y" ?( k0 ?2 M( n
: l9 s+ r w9 S* e" B
Отражение
9 J- q3 q1 S& U! w( |2 v) |( ]& t! I( P+ K
Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)9 w5 [) q$ q; ^7 g% e) i
Процент рассеиваемого урона - absorbDam
2 Q$ d. r6 L4 eПроцент переносимого урона- transDam
- I, i) V' e& U2 P, }9 T+ e7 z6 hОтражение маг. скилов - reflectSkillMagic
; E3 {* k. x6 L1 |Отражение физ. скилов - reflectSkillPhysic4 O- m5 G4 F( P2 f
- I. r i( Y0 U2 ^9 v7 f0 Z. b' S$ oДругое (для примера):6 r K9 L8 s" ~) `
: Q) k- ]9 i5 n
Атака для гигантов - pAtk-giants
0 G" c) K: E/ B4 vЗащита для ласкать - pDef-undead' `* `' _3 {4 I9 Y c
Атака в животных - pAtk-animals
5 v- y: X; f' j1 `Защита для монстрах - pDef-monsters+ x2 q1 E; s5 L6 r) e" w1 n
Лимит инвентаря - inventoryLimit
7 A" z9 U0 N8 ^- SЛимит ВХ - whLimit
. B+ n0 C5 r) U5 Z6 t8 q* ]Freight лимит - FreightLimit
$ i: Z9 ]9 n: Q, @# I4 Y3 qЛимит продажи. - PrivateSellLimit" R" {1 I: p6 V0 w% V# V
Лимит покупки - PrivateBuyLimit, A4 y3 h( G: e) `9 h$ d5 [2 Y
Лимит гномьего крафта - DwarfRecipeLimit, e! _. }9 `7 F9 E9 e
Лимит common крафта - CommonRecipeLimit I& i- e$ p! K" l! \8 B+ z
Потребление МР физ. скилами - PhysicalMpConsumeRate
. M( z2 G7 m6 L* ]" e* TПотребление МР маг. скилами - MagicalMpConsumeRate$ t, g$ x% w8 o
Потребление МР дансами - DanceMpConsumeRate
# m7 v5 `0 i! N( @1 OПотребление НР - HpConsumeRate! P. N; Q2 m. e) w) g- _4 V
Потребление МР - MpConsume
9 c; `, ]9 b. r$ b/ D4 b6 H/ yПотребление соулшотов - soulShotCount$ f" ~0 ?9 C% K m8 t9 Q7 R
Skill Мastery - skillMastery/ B* L5 k# x8 k2 k
Время пребывания около водой - breath
3 \' W9 M( p& e0 \1 s: I" i7 W, i, Y H7 b. L0 S
Вроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
( }4 v' k( A6 G6 d9 k2 Q$ q" b# h: k# [
% r3 m7 x- w7 J/ T- K6 w1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:+ t# c' E3 `% V" `
/ l2 x# n+ ^8 m# k! D: q. v3 b# `
TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)
& T& E/ N) \! d. E; P; h! m+ X2 KTARGET_NONE - мишень неопределена2 a, F$ O) I, P
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете." |9 y0 x! U( Z
TARGET_AREA - обозначает, который скилл довольно массовым/ O% q$ k. k7 ?+ S
TARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует; h7 C0 G. b# E Q$ `
0 ^' w9 I& J+ o8 L; g1 o
2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)
8 z( t# V+ T8 H& F' \0 A& {; `Принимает следующие значения:
6 y. d( q! a+ A* e% iBUFF - бафф (оказывает положительное воздействие)
# C4 l; I; t* v( N. W- BDEBUFF - дебафф (оказывает негативное воздействие). Y/ D7 p0 i j% R' \+ Y
! W2 W+ N+ R. j/ _
3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)
/ M- M0 q9 R X- yOP_ACTIVE - активный скилл, может являться использован игроком. v" T% f& B4 ^2 r R
OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)0 p( D3 Z; X+ a( `8 `0 Q
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:
" m0 W+ D( {! M! J( R% y/ Q-power - значение скилла
/ M4 e6 L1 p7 P, V-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки0 J% J& I/ m$ n! N3 @
-reuseDelay - откат скилла
# C+ t1 i6 X2 b0 ~% X2 L" F-hpconsume , mpconsume - потребление МР, НР
6 p ^( B/ J6 |' a0 w-castRange - это дальность использования того иначе иного скилла (дистанция)
& E3 \$ Q9 x* p# R& \-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)( x C0 Q% M I8 n, R5 P' d
-effectRange - радиус действия (для массовых скиллов)
7 c. v( `( P; c7 Q2 D-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.
v* ?: q* {$ {7 R6 x% ^/ I2 DЭто основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.
5 A6 d/ f: n/ S% L9 hТег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .
5 B( r* W% b* Z5 D: Z/ p( XПриведем первообраз использования тега равным образом тега :- E5 h! ~& p5 {
2 _# n$ e( f" X/ {
8 y7 K" h% I3 t/ t, L# t
2 |! M$ W$ p; j% J6 H; P5 z
Что сие значит:. ^: g$ a3 e0 P, ~
$ b& G# g' }9 V. v$ K5 t$ k
name - Это характер эффекта+ z" j& n2 y- ]& M4 } C% n
val - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.
; l- X$ Y# S3 ]time - век действия эффекта
( \$ h6 g/ ~$ B+ GStackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.: w3 y. b& [, F" [' n
; G, E8 H( Y$ i, s# W$ r4 Y
Думаю со скиллами я разобрались, нынче перейдем для зонам.
5 C; I6 J; |. [/ y# p
* R3 h' A9 Y7 Z5 u \8 R; YЧасть 4. чтобы начала описания зон используется тег .# S9 A, s' j8 D$ @/ D- P, Z
5 d: d$ S# E) V6 M* J1 `
4 c6 X6 C" g* v1 K* J. J# A" U5 A r, x<!--Комментарий-->
* w+ _, W9 v; }0 B4 ~& H' C- F( s5 N! \- D w9 Z
Пройдемся за значениям:8 c) D8 t, h/ H5 L8 h
& i% z( x/ _ `6 g% t1 S8 M2 ~
id - идентификатор зоны.4 H. z/ {# P+ y0 E* E8 L' @
type - образец зоны (town, arena, jailzone). Например:$ c( K x7 Q6 R% x, U/ |. B2 O
Town - мирная зона (город)
0 N4 J8 T" m2 a* Z# QArena - боевая зона (PVP): w4 z( n. o4 O4 e- k% {! Y
JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
# i V2 N4 y2 [7 Zshape - это платье разве подобие зоны. Может водиться двух типов :
F* ?% H& Y3 J/ C: |! R-nPoly
0 e n2 }4 Q! B# R) k! ], v2 D* b2 H-Cupoid.6 F6 r5 V K3 x& G& C+ P
minZ - это минимально допустимая координата гора (z) на данной зоне .
W* F& d) C% a, s rmaxZ - это максимально допустимая координата гора (z) на зоне.
5 W3 r; A; f: i6 b2 {8 Q ]( G! j* ]minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.
" f7 R6 f- ?' g; h- t! U! G |