Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон' _% E, c9 ]4 K& d* _) P4 g
1 F+ a v: Y$ h* EЧасть 1. Введение
1 P) F; s2 ]# Z: x0 T: B4 j" X- n1 j8 n5 C- ]0 s; {: z$ S
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.
5 ?: F% _. G# i( KПервая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
! B0 a; r+ o' l! f7 {( B, W4 ]
6 p* G. b* E" f# d& h" yСпецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.
6 _$ Z/ L7 T4 J; J) s! f, wТак но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:' Z% |* J% e, o# [* f
$ w/ c9 _* [, G3 |7 ?0 e<!-- Текст -->/ v, \ k8 a7 P% P8 l$ ^
+ s3 O8 E7 O: V/ {8 n2 lНо я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.
0 C7 I. ]3 E3 f7 d" Y' Y* j
8 L7 u' ^ N4 R# L% Q, dЧасть 2.Изменение статов вещей.5 S. @! u( Y6 v, r; u
7 r0 n7 r2 G% X: Z3 \. B" u
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода2 Z& X6 k8 M9 I2 G% u
7 _& c) A6 f# k
Для измения ее статов тогда нам нужна лишь одна строчка:1 y( n _( Q) T3 R4 z/ W7 S
7 v) b; J* u, Y5 `" zЧто это безвыездно значит:
. q1 s) o3 b7 l! k$ a) F1 L( r; _$ a; ^% v/ e8 c
Тег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?; v- s: r' s3 ^' x3 A/ x
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
7 u A4 q4 H ^: K+ n" O- Z5 A+ U
<add val='100' order="0x10" stat='pDef'/>
, b3 k% h. Q( m9 l# M+ g! U% ^& h& B; v: G8 G! S
Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).
5 }5 u& i/ E2 ^/ {9 @9 k$ W
) L: J$ h' J6 c0 v# a( E/ M2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.
1 I& x6 l, d/ o6 h% ?, O; [% n+ | u0 b5 n! {$ [% z- N% D5 B+ D
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).$ O: q' h Y9 W4 Z# O
: G8 }8 l# L2 @0 O S" N
+ }. l ~& Y; S3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
( Q' a1 W" w+ D
5 d% u! W! F g. w2 jДанный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
: n2 R( Z/ Q, |) w0 P3 L) R5 r8 [- t/ `+ r' }1 ~! f
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.$ F G+ {/ t! j Y. \
* b. p8 s+ c2 d, }. i8 l# K6 kДанный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).
& |4 |" E6 \' n: u. ~" a6 X9 h& w
3 E" `: {. x! Y/ [% P5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.
: G- n/ {5 ?$ K* w8 K$ K
2 S, U( ` L# D$ BДанный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100." Z, E; ^% K1 @0 T
Ниже приведена список значений "order":' p% y0 K& b. L$ B1 {
3 k* p9 C$ v* Y7 H' K0x08 - set, F5 t9 `) T6 Q, e) ^
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)
' V7 t3 X- O. h, Y0x20 - отнюдь не нужно
: x0 N9 M' i2 s7 [6 E0 C0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)$ d" D( q) F5 ? O- d
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))2 ^/ L0 L: P+ T. w! G5 V: l( W
0x50,0x60 - никак не нужно
2 w9 v: D+ T+ g. j3 Y: P0x0C - enchant9 v2 q0 x. \$ y& D1 [# E2 N- n6 U8 h
# w0 y/ K2 z" b/ ?1 ?, P. G
Часть 3. перемена скилов
5 m1 k' Y! k* m/ V; n6 S; S6 E; K6 I
Самая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.
1 B; i7 [3 r, D3 M- Y9 V0 {4 i- O
* I" B" O0 [' iИзменение максимального количества HP - maxHp D0 p, G' @; w1 V3 t, W3 m
Изменение максимального количества CP - maxCp
3 T' I4 ^3 U! P E7 d# ?0 HИзменение максимального количества MP - maxMp
4 |* K3 F& P/ I- T- N% ]" ~: BРегенерация НР - regHp
! ^8 b' T! K, y( kРегенерация СР - regCp) }( s4 n h3 @
Регенерация МР - regMp4 n; _. r3 r7 i% E$ ]: Q/ Y
Эффективность хила - gainHp8 t% h( ^0 w, I$ V, W w' g6 x; X
Умение хила - giveHp
5 K1 }/ b. A6 ]/ {! G! kБонус хила - bonusHp
! e5 T5 K+ C" s6 ]Физическая опора - pDef
" N' _& ^- b; m) s" J/ `7 UМагическая столп - mDef
1 n0 l; e7 K. }. [) V) U, o' Q6 sФизическая набег - pAtk
! c8 K- D3 z9 _+ o \Магическая набег - mAtk
& j2 u+ T' K; I: s% DСкорость физической атаки - pAtkSpd6 B9 i7 p. Y( q
Скорость магической атаки - mAtkSpd7 w1 z, l$ T6 e7 y
Скорость отката - mReuse z5 V, o, h2 C' ~9 D' d
Защита щитом- sDef
8 F! |; A8 h0 h* D% }, @Угол защиты щитом - shieldDefAngle
1 ^" U* a# X! |5 d. d oКритический пощечина - cAtk
1 [; n V5 S, B# t, \! C' ~" QПрибавка для критическому удару - cAtkAdd
+ S r6 v! n8 VФиз. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg- [- T: D) R7 r
Маг. урон - pvpMagicalDmg
5 o$ T$ z8 z5 }$ OУрон скилом - pvpPhysSkillsDmg8 u. o$ D3 y0 J0 z6 Z
Уворот - rEvas
( j0 D3 w6 V4 s5 A! C0 t: UУворот через скилов- pSkillEvas
+ a! e0 U( L. e/ g" {Шанс блокировки щитом - rShld
" Q: S/ ~, K6 U" _4 s% f4 MШанс крита - rCrit
5 ?: V% C$ s, \9 kШанс Blow - blowRate
% l# d. @; h1 u' Z2 a/ x; l5 QШанс Lethal - lethalRate' R# L) G3 B: f3 [5 T f
Маг. крит. надежда - mCritRate (mCrit doesn't work!!), S' L9 |5 N- I: F. m
EXP,SP надежда - rExp6 w9 c3 R$ U8 a- A
Cancel - cancel
5 q0 X6 x, z5 K; j+ ~ _9 uТочность - accCombat( d) i$ m+ u6 Y7 ?
Зона покрытия физ. атаки - pAtkRange (for fighters)6 I- ~1 B5 p$ G2 P& [, N3 g
Зона покрытия маг. атаки- mAtkRange (for mages)$ R0 @: d; D' m6 K8 S( U
Угол атаки (только с целью воинов) - pAtkAngle# |7 \8 `: _6 O h& i! E2 W
Количество атакуемых - atkCountMax8 ^* ]5 Q0 ~$ l; _9 Q
Откат физ. скилов - atkReuse
) r2 @) v$ E+ P6 f0 b* `Скорость бега - runSpd
K8 l# Q" B4 g: z+ OСкорость ходьбы - walkSpd
; i8 Y. K! J& @9 i9 b) e( T) k0 f: OSTR - STR
% }& p; o' A* \ kDEX - DEX
* ]5 p7 h+ `' H8 B% A eWIT - WIT/ u2 O) h6 n1 C# Z, |' t, Y% I
INT - INT$ A, {& ?+ D; f0 J
MEN - MEN
$ i; I' s6 y4 i l4 v% i
{; w7 {0 R: zУязвимости( P/ v$ T( J1 J6 \
* h9 s8 E W& C" Q8 d" Q _$ G
Агрессия - aggressionVuln6 x( W/ U! K% g/ N7 G* b+ t
Кровотечение - bleedVuln
6 \6 Q( d; [( O: q* B3 A4 wЯд - poisonVuln
4 n+ b9 P+ J7 }! V8 j# AСтан - stunVuln
1 e0 ~0 v4 q8 s& [Парализация - paralyzeVuln
5 Y& J H) p* j+ ~Удерживающие заклинания - rootVuln
4 F, r) g( L5 [: b! S8 j7 n( rСон - sleepVuln
6 p8 I/ \+ V$ z1 O"Перекидывание" таргета -confusionVuln k$ Q2 ^" O, m3 }- g, U9 c
Движение - movementVuln3 M6 h6 H; r* v0 d3 c- W9 ^
Огонь - fireVuln
/ y, B7 j" R, [% M o- \7 hВетер - windVuln
9 @! _2 ~" o0 O6 y+ ?Вода - waterVuln
5 y0 G( Q/ O; a2 NЗемля - earthVuln
: T- e; M# |) F$ v9 o! O6 r b1 aСвятые атаки - holyVuln
$ L# K7 Y- D( J1 }& B2 T" ?4 y4 `Темные атаки - darkVuln7 K. W# L2 Y1 W$ }- W- M9 ^
Резист для cancel - cancelVuln; T s+ L4 |9 H; u: B4 l6 J
Дебаффы - debuffVuln e6 S i5 A$ r& v: d0 K
Резист для криту - critVuln
b* ^9 N% d; T4 y% j3 e. O1 }7 ~3 M% b
Резисты простив оружия (тут думаю изображение никак не нужно), X$ L" z& D" J. V) u7 m
$ z% F0 {, o4 Q- ?2 P- d: H9 \noneWpnVuln
" |. f$ t5 H. y0 C+ GswordWpnVuln; c& k' T& M3 q( K3 U
bluntWpnVuln) P9 a( r3 S& c
daggerWpnVuln% E$ u9 _: Y/ v6 v4 f7 N. h3 K
bowWpnVuln
1 }9 W+ @* O5 O4 `$ ?5 d c+ RcrossbowWpnVuln
) [4 c& V5 x3 r H. q) {poleWpnVuln5 z* v( q+ J$ o1 Y0 g% o& ~1 [
etcWpnVuln6 k. F5 O2 ?& X/ E, r3 L
fistWpnVuln
; Y/ e* S* S2 k. z6 V1 @. adualWpnVuln+ G& T; x' V2 L+ ]
dualFistWpnVuln7 j3 G3 O* j0 \6 w
bigSwordWpnVuln
# G" i5 r5 C( {3 C3 \# q. a6 j% b1 `3 G8 ~; g5 E/ I
Отражение
6 T R* P, p- C5 \: k4 D( K; B1 K/ F6 S b3 T( g
Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)
5 j; Y" }, R4 vПроцент рассеиваемого урона - absorbDam" p2 O; n) |4 s- r- Y9 N
Процент переносимого урона- transDam. K/ r; l( x4 C6 c9 t2 h4 C
Отражение маг. скилов - reflectSkillMagic" R* h2 |: E8 e" B H) H# _7 k
Отражение физ. скилов - reflectSkillPhysic
4 x7 O% P8 g$ N9 [4 {/ Y8 ^0 J" z. L( O) E3 i+ x" L! @
Другое (для примера):! h7 v& X5 a7 R7 z1 o& m
1 A' A9 s; }" D* AАтака для гигантов - pAtk-giants
+ A5 Q9 g3 U! k6 H7 F( ]2 X: T) Q' [Защита для ласкать - pDef-undead5 n, k( C% V- E7 E3 h% o
Атака в животных - pAtk-animals
$ K1 W9 N. L: X" g4 a3 h/ N- WЗащита для монстрах - pDef-monsters0 o4 p/ v% e' y s! m, V
Лимит инвентаря - inventoryLimit9 u& P; ~: r3 M' c o, [! G5 c
Лимит ВХ - whLimit$ C. Y1 r4 O: e3 K1 J. i' R9 c
Freight лимит - FreightLimit' m2 Y. a7 ~7 j- m1 z6 z f5 T" M
Лимит продажи. - PrivateSellLimit( g( {- \: T8 a( _% g
Лимит покупки - PrivateBuyLimit7 V! K1 N! ~7 o2 ]% R/ ]% `
Лимит гномьего крафта - DwarfRecipeLimit) |3 i5 S7 X6 t- j9 J& t8 _2 ?
Лимит common крафта - CommonRecipeLimit& O) M0 C$ T5 o
Потребление МР физ. скилами - PhysicalMpConsumeRate
% F9 T; N3 l% c J' v- g- SПотребление МР маг. скилами - MagicalMpConsumeRate/ z- [2 ~$ {) G
Потребление МР дансами - DanceMpConsumeRate) }. E, i1 v" F6 a
Потребление НР - HpConsumeRate# b# v+ g G( r$ I7 S! B% D# D4 s
Потребление МР - MpConsume* m* c5 e1 y0 ^
Потребление соулшотов - soulShotCount
`. s2 Z* {0 `6 x" JSkill Мastery - skillMastery* D. I. {% D- _) w g% I0 y
Время пребывания около водой - breath5 B/ s; j0 U: ^" j+ s& z& D
5 b h! C/ E3 k. {1 y) \2 z
Вроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
% V' x! t7 }4 h& ^7 p- }$ X: R1 c! V0 K6 } x( m: y
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:
, N+ Y' N' x+ T: D0 [7 W: n! j$ I5 }9 e
TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)
- R" N- K$ U& J- ?: ]TARGET_NONE - мишень неопределена! j& n2 F* \3 T- k' S
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.
9 S* \% k" R" _' }) iTARGET_AREA - обозначает, который скилл довольно массовым
* M. w9 ?: w3 | b0 p" |1 lTARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует6 v: H( j2 I% N& ^/ h
4 r0 z! X) `0 X; M* H1 H8 @
2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)2 t& Q/ x" {/ }9 U1 I+ f* n% G
Принимает следующие значения:
# @( R. b5 s" N& @5 C' e' F* C! g1 hBUFF - бафф (оказывает положительное воздействие)$ v# L7 h/ u6 [. N
DEBUFF - дебафф (оказывает негативное воздействие)
+ Z9 Y( j7 i& u) e
$ T2 y: R0 |2 `, B2 l2 R8 C3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)6 t2 g( o- W9 V: Y* g$ q
OP_ACTIVE - активный скилл, может являться использован игроком
# R& L4 a! ?2 a; V5 N- Z! _, @OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)
/ S/ }" o& E4 t6 c- n1 f- mЭто были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:, w; {( O$ F- x. h# k1 o6 t7 C" O
-power - значение скилла& L6 r6 ?2 p) ?
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки, R [- a1 v/ |( K i2 x; u. x
-reuseDelay - откат скилла& v2 D5 [/ M: d9 k, B
-hpconsume , mpconsume - потребление МР, НР
1 d8 K* M* r& o' H- o-castRange - это дальность использования того иначе иного скилла (дистанция)' J. ^4 F' {( g
-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)7 t. G/ I5 S) }& L" y% Q' T
-effectRange - радиус действия (для массовых скиллов)1 T9 Q3 [& Z9 O: s1 Y7 }
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно., E# n9 c$ t K3 Q3 j
Это основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.. `5 D, f6 ^0 t: ]+ N
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это . J3 S* D- {1 w; b0 `) L% ]8 Z
Приведем первообраз использования тега равным образом тега :. s3 l' i1 ]0 s& x0 U- }' g$ }
8 g( `% t1 F a4 C" }5 F8 V
2 N% l5 v8 H% `+ T3 ~
( w6 h0 e$ S7 O
Что сие значит: Z, Z- g! y* o% l) A
- K9 u5 H! ?9 dname - Это характер эффекта* y/ A& f. |& R9 \' Q" b
val - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.
0 T. R/ Y' n( O( a [+ Ctime - век действия эффекта
' v) p A( e. w0 iStackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.' \) }' k$ ]9 {' u# G0 o% y+ ]. \3 Y
1 R) r/ [8 B5 o" Z0 ]2 O8 B
Думаю со скиллами я разобрались, нынче перейдем для зонам.0 _, L9 |! \" q
2 ~3 _5 j( A9 d* \Часть 4. чтобы начала описания зон используется тег .4 G* _9 N9 W/ |! a9 l+ ^* f
% u4 W- t8 h8 U
4 [" |# o* z, t7 f+ ]1 U' _<!--Комментарий-->
; B3 \' X: F- L5 t U; o
4 {* k5 k: e, r$ y4 I6 D& `Пройдемся за значениям:
, N+ S! B. h3 I. g) o/ X+ x& S- D# b' w+ m& u% w5 _* q
id - идентификатор зоны.
9 R e* }( t; |$ Z4 Y5 G3 ptype - образец зоны (town, arena, jailzone). Например:
H% j4 q4 z% o; A& XTown - мирная зона (город)5 F4 j5 f3 ?3 |: l) b& v: r
Arena - боевая зона (PVP)
* A( l$ C2 D& k+ h: pJailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
9 k/ g/ j9 y& Fshape - это платье разве подобие зоны. Может водиться двух типов :. _ W) e7 \' H/ [- i; r% U
-nPoly% D) d2 ]" q$ T4 |! @4 ~
-Cupoid.
3 j0 \7 b. Q5 p) c2 u+ MminZ - это минимально допустимая координата гора (z) на данной зоне .
$ r' L0 P! k; e9 K; [, e0 cmaxZ - это максимально допустимая координата гора (z) на зоне.
. A# z* J4 N- y# [4 `minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.
8 s1 G+ I1 C( U9 r% g |