Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон
# Y: c' m4 A4 z7 G3 f/ \# \- K+ @3 B
Часть 1. Введение2 f( Z' {: d! x& G8 x; g
& h4 e% \! m8 D
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.4 ]3 O; H S% ]+ |" `: }
Первая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.
( o: X' k* O( w) c$ [
/ K) z, p5 i& W$ vСпецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.5 j# u; A/ ]" l5 a- W
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:
" {) ?! g9 L% s# i2 a- Z; i, n a' f+ ~, E
<!-- Текст -->' P9 Q" w |4 F H4 g
& K1 f5 M7 S9 C; n) DНо я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.8 _2 _9 w" ^7 f
, h7 J8 q! T2 @8 K+ o4 F
Часть 2.Изменение статов вещей.) ]# m P$ c- ~$ ]2 \' ]: s2 Q- C
6 T) ^" w0 ]3 g, e$ B* i$ YВозьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода8 h8 E }! s T: H
- B. y4 I& E3 i+ T$ }) u& aДля измения ее статов тогда нам нужна лишь одна строчка:* Z N, `! y5 m. ^7 L) `5 k
7 c4 k0 M- X* y" G3 c; f* u* ?6 UЧто это безвыездно значит:
) A! |% R7 a0 s( s, S- `: p, i- Y& z6 W
Тег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?
% h# S: Z R. ~+ H& j5 t1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.0 P! D) s) r8 F: ^+ D$ n* {& o Q9 I
: d1 E) J j: e4 V0 H a5 d/ [<add val='100' order="0x10" stat='pDef'/>
0 e0 H) ]& l* J4 r9 X1 W3 _1 R/ ]
Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).$ B" R7 F6 U3 p# b
$ u0 Y4 V! G- s' Q. d0 F- l8 v2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.
, \; y* E% n3 k% } Y( D. m3 v* Y# R! g7 [$ d
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).3 q* p3 ?1 b: P! R8 t
( N5 K1 I U: [" w
4 F% q8 N- U# D, q& m3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.5 v2 i9 p$ f9 L& ?( h
/ v; O; Z* u/ {, P) l8 wДанный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).
0 {" C" x* I" B$ @7 {6 U' I; M( t1 { y8 ?. q$ P) R7 }
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.; K+ o: r( R) y$ R+ l" X" c
3 e5 f* l* S% s. e5 pДанный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).
' q: T6 K* G' J# I" ]
6 a+ q% e9 t: j) T5 E7 Q# U, M. \5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.
% c. F+ `! J$ F& K, X. B9 y' h* O+ n+ Z0 g+ ]
Данный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.4 B* v2 o' H1 T' E
Ниже приведена список значений "order":
" z/ \) h3 j; d3 P- x2 B4 Z5 n) `' H; I6 Y
0x08 - set0 W! M% t1 x+ O% [( G( ^% Q9 ^
0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)$ [5 r5 `' C2 B9 l/ J/ I5 w
0x20 - отнюдь не нужно0 E. @5 R( `7 v+ ?+ |$ U
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)* D4 ]1 ^" t1 v8 B5 n0 l
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))
7 p0 B" f9 ]- N# T" v0x50,0x60 - никак не нужно* ?7 T6 e4 D2 y0 L Y' G: C# O0 B
0x0C - enchant
0 }6 [# }6 ^/ o- G( y/ y: ^) V. f/ z* W3 V
Часть 3. перемена скилов
; A2 g5 L4 g3 @- M$ }) y- y) i' h$ O8 q: s6 A% u
Самая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.& D9 }- `! {. z5 s2 j1 ]
' {1 v: Q5 R! H vИзменение максимального количества HP - maxHp
- g! ^, u2 v! q. }Изменение максимального количества CP - maxCp9 c& m J" ~) b) i' R4 S+ ?
Изменение максимального количества MP - maxMp- A7 v2 z. F0 e+ z
Регенерация НР - regHp" V+ D' y! }0 T* u
Регенерация СР - regCp
% V; _% }7 f: CРегенерация МР - regMp
7 f1 W2 z: Y: B- g6 `+ LЭффективность хила - gainHp- }( h) ?4 `1 e
Умение хила - giveHp: Q1 _7 H+ `' a& Y( a
Бонус хила - bonusHp( y8 ?$ T) K; S- r4 r
Физическая опора - pDef, ^9 y' K2 n' d0 Y- b
Магическая столп - mDef8 }* K+ R8 P$ S! N% \
Физическая набег - pAtk
( [9 Y8 p4 O k5 i' S( A. {Магическая набег - mAtk* U" S; u; Y7 M* H! [' v, I2 B
Скорость физической атаки - pAtkSpd
1 }9 C# {2 c6 b4 c+ P2 J. JСкорость магической атаки - mAtkSpd
, T7 W- I! I# E; |% {7 y3 q- d! `# eСкорость отката - mReuse
, x. U( m" w3 g; ^4 S, gЗащита щитом- sDef: O6 w5 o" N+ M) Z+ H/ A2 F& J& U
Угол защиты щитом - shieldDefAngle. ^% c) K8 h& G/ F' Q. t: z# D# y3 x
Критический пощечина - cAtk, ]' C$ Y4 ]+ O, f# {3 y
Прибавка для критическому удару - cAtkAdd
8 h5 q0 ^* T+ B YФиз. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg
" ~$ L; l9 W0 U( q! NМаг. урон - pvpMagicalDmg
+ G3 i; C+ {. U( m$ o% `( m* QУрон скилом - pvpPhysSkillsDmg
# ~. x) m1 {7 pУворот - rEvas
4 E9 H T6 j. f3 J: ~Уворот через скилов- pSkillEvas4 a8 M1 n6 A: R# S4 E) O# S
Шанс блокировки щитом - rShld
( `) V0 J8 b# m" q$ ?- o7 AШанс крита - rCrit, _: Z/ J6 Q) T! t* q( g/ O1 h
Шанс Blow - blowRate8 q+ Y2 h( u* P/ y
Шанс Lethal - lethalRate
9 f5 ]; o7 R- Q S3 CМаг. крит. надежда - mCritRate (mCrit doesn't work!!), R! }: S! Y x; S
EXP,SP надежда - rExp7 ?; ?$ \ m+ R4 T9 i1 m
Cancel - cancel
& _( C! l( Q4 L8 |Точность - accCombat
7 p' K. n2 w. J/ |, K5 E' BЗона покрытия физ. атаки - pAtkRange (for fighters)9 `3 v) q* x) D: E: _
Зона покрытия маг. атаки- mAtkRange (for mages)- O2 S: W% W4 m/ N' J
Угол атаки (только с целью воинов) - pAtkAngle# w9 z! }4 G/ d+ q+ q4 ?$ Z; N0 u+ P
Количество атакуемых - atkCountMax! N1 E: z: e3 \, n) e. ~
Откат физ. скилов - atkReuse
, _/ E/ B% ]! n6 g* d; S! Q' EСкорость бега - runSpd
8 u3 t0 Z. a- `* {Скорость ходьбы - walkSpd
" W9 E& S. i% g3 J0 U. sSTR - STR- W! n+ n8 N3 B& f7 d& T2 H. w: y
DEX - DEX
2 Z: i$ I' k2 |2 Z" EWIT - WIT
: f" Z0 y% W6 Z9 e/ kINT - INT
' x$ g! U, S. p. V9 ^" ZMEN - MEN2 ^+ [: d9 g! d- G. v
% s* j' {, l- k& f* X
Уязвимости4 p' M# H4 y% a( Q2 m& _
0 K% F- k! u! Q8 c$ Q: lАгрессия - aggressionVuln
. {+ N" A' K6 F& l" HКровотечение - bleedVuln
# T9 d+ u! j$ G- B/ @ i% TЯд - poisonVuln
; [9 e2 t0 d- X9 ?0 lСтан - stunVuln
- O1 z6 H9 S2 k: p6 v- A0 _Парализация - paralyzeVuln' G( k0 j% `) Q. U! D, I. h8 N
Удерживающие заклинания - rootVuln3 h) f5 Q: |' k
Сон - sleepVuln
" a" H! u: R n+ t. s8 V& O"Перекидывание" таргета -confusionVuln. P8 I& U# a- s* n# ^; h; u% n7 O
Движение - movementVuln
0 F0 N2 h) z0 } h: yОгонь - fireVuln2 j* s/ U5 E8 Z! a. ~+ k. `
Ветер - windVuln. c, D. N* c3 d6 ?. D' _
Вода - waterVuln
, A8 B3 n2 u7 \Земля - earthVuln( a; n/ z( ?" Q% c* K( E
Святые атаки - holyVuln3 H3 p; D7 l q0 ]4 d- U. {
Темные атаки - darkVuln
! T0 }# ^, |8 _/ n+ nРезист для cancel - cancelVuln) m( `' t; v7 h/ h6 Z
Дебаффы - debuffVuln
- g C# N! a: y; c1 W4 x) S3 c/ m8 ]Резист для криту - critVuln
! O- u, }4 b# r/ F6 c
) ~, o2 j; [# P9 u* U! BРезисты простив оружия (тут думаю изображение никак не нужно)" |+ H! G/ u4 p: r* u3 J/ M5 c% c
?; `3 t) Y' J) j7 j/ AnoneWpnVuln: ~) v3 X7 @, ^4 M$ o$ E" A, H g1 ~
swordWpnVuln% H) w% {/ [5 K- t2 H4 v' F" }* o
bluntWpnVuln" X" u, p5 v/ N, }9 Q3 W; C7 D
daggerWpnVuln g: V! J. f6 {7 f1 m9 b) O+ n
bowWpnVuln" t; c$ I: O, ?+ C
crossbowWpnVuln* v9 K8 a" |8 I0 `, O- U" K
poleWpnVuln
* L w* d. s/ K4 PetcWpnVuln3 n9 S: g1 z! G
fistWpnVuln
9 L2 L$ g2 ~9 e' Z3 QdualWpnVuln) I- u A- z2 k. [' Q" S2 o
dualFistWpnVuln/ Q7 m* h* ]9 ?
bigSwordWpnVuln7 q; u f9 v+ g1 j2 l
, ~% r8 i E" @: T# w% R2 @
Отражение
5 q6 D4 J* c* E, N( P& ^6 J
1 `) `8 U! V; P# V' y `Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)- M4 U9 d9 o) R8 X* V9 u# H: `. X" ~
Процент рассеиваемого урона - absorbDam
6 _, a- [/ @! r" a6 B# rПроцент переносимого урона- transDam
, {5 F6 p+ x7 F0 T4 \5 ~Отражение маг. скилов - reflectSkillMagic( u5 |9 g1 c3 L# x* N7 }( G
Отражение физ. скилов - reflectSkillPhysic4 ~4 m8 |0 R, K# b3 o
; W$ [/ B6 ~1 O8 Q+ \Другое (для примера):" ~( N5 F; Q R& J
& q5 w) F4 i, x7 I. J+ M# {
Атака для гигантов - pAtk-giants5 d, E) I5 y! Q# Q
Защита для ласкать - pDef-undead
" R4 Z/ `+ |3 VАтака в животных - pAtk-animals3 M% R! N' I" @) H; [4 x- U1 I5 P
Защита для монстрах - pDef-monsters( b( S' q v/ K. [7 z+ u
Лимит инвентаря - inventoryLimit* L# e; t# ]7 d% r( O* x5 V( ]
Лимит ВХ - whLimit
! D. ~$ w7 S9 bFreight лимит - FreightLimit
. e( I' m* d& j- B( ]Лимит продажи. - PrivateSellLimit
; j( B$ V* w+ c; rЛимит покупки - PrivateBuyLimit7 K- o8 U- O3 E0 v' u
Лимит гномьего крафта - DwarfRecipeLimit* v& i! { N3 e2 A# q
Лимит common крафта - CommonRecipeLimit
. l6 f& Z2 i! p, E ^Потребление МР физ. скилами - PhysicalMpConsumeRate5 M8 q# W# ?% Y7 q3 _
Потребление МР маг. скилами - MagicalMpConsumeRate
% t% W$ d( {) \9 b/ v4 T3 oПотребление МР дансами - DanceMpConsumeRate
2 C1 |( ^7 `" N% Q$ BПотребление НР - HpConsumeRate
# A/ Z0 w9 g( GПотребление МР - MpConsume! I0 N5 |: g }* f* X8 \/ s4 S* C$ f
Потребление соулшотов - soulShotCount
% `8 y( u4 D" f1 U, p1 _0 JSkill Мastery - skillMastery
# f4 z# @; M4 K5 N( F+ E; k; BВремя пребывания около водой - breath' x$ _" P, V; q4 p0 u. L* k) D
! H; j" E/ l5 J7 dВроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще
: j1 e$ ~# z) V( ?$ q q6 c' {
3 j1 t0 L) L# @4 w! }# G1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:, a! x; a) X7 N* j! C/ Z s" P M, j
9 `; I4 X/ M+ h, `' L6 ?TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)
; b) A$ }! {0 B6 MTARGET_NONE - мишень неопределена
+ r% O+ O; F5 W {TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.0 C: r7 H7 Q# ?3 t
TARGET_AREA - обозначает, который скилл довольно массовым# t7 x( `) G1 N7 k
TARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
& C g4 a! E/ E4 ~; ]" a0 r( p- ]" Q8 p
2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)) E0 E+ k/ @; V! i7 v
Принимает следующие значения:
0 `) K! R( C! rBUFF - бафф (оказывает положительное воздействие)
) K+ e/ H- o5 Q( FDEBUFF - дебафф (оказывает негативное воздействие)4 O1 s1 `* b. B# J
0 C5 W' J( @3 j3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)4 L, G3 I. `/ A, ^2 k, t9 T
OP_ACTIVE - активный скилл, может являться использован игроком
7 r) a& ~, T3 }2 v9 C% BOP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)" \ ]/ Y' t2 F0 M& L
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:0 ]7 w. r& n9 Y) M. C2 g3 o
-power - значение скилла# y& h2 O1 i! ]! h. g" M2 O0 A0 V
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки
) Z! N5 m2 o! G8 M& s' x-reuseDelay - откат скилла9 Q6 l' J R8 h( i! g+ R
-hpconsume , mpconsume - потребление МР, НР
9 i# K( }& n! t' ~! d0 |$ a+ d" @-castRange - это дальность использования того иначе иного скилла (дистанция)+ }' [1 U, z6 e; B: n. `( d
-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)
! a9 L8 K8 F: Q" n2 K1 \-effectRange - радиус действия (для массовых скиллов)
# q; z+ L# U1 I( K% K-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.+ L I! r3 V' w. x
Это основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.1 c, u8 v8 n7 b$ X/ \ a
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .4 b; o, G" j r* J. N2 E R" \
Приведем первообраз использования тега равным образом тега :& v8 E8 G& V! `) _7 B! V9 G
3 Y+ q& @/ B4 u6 h
) o- Z, O+ u7 u6 b) r( @7 |# `: k9 [( K4 o# d
Что сие значит:
5 F" v" M, J5 e5 k* Z& [* G3 w
g2 D1 z! f' n" e) L# oname - Это характер эффекта7 D0 Y2 ?( P/ O/ E: b5 Y! `
val - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.
6 m# F. ~1 `* A. _+ ]8 e+ }time - век действия эффекта( R( W8 E- y, q2 o: ]
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.
{9 r+ \7 o/ U: Y9 p" f) d0 n) [2 ^% z- L1 Z' V
Думаю со скиллами я разобрались, нынче перейдем для зонам.
' @: a! y E; N/ R
& r: I/ G H) w F" s+ r( a. Y+ @2 HЧасть 4. чтобы начала описания зон используется тег .
6 V/ s" `$ N% c( f8 H9 Z/ f |9 M' }( s F
7 j2 ~( i2 f, B$ Q; a5 d<!--Комментарий-->
) R! }5 ]' | u T# z
& k; i5 I; a* mПройдемся за значениям:1 c) c$ R. @, X6 ]+ d
8 r4 x5 j" ^- J# M9 u9 qid - идентификатор зоны.: U/ i5 [. q) R5 u9 {
type - образец зоны (town, arena, jailzone). Например:
8 u) e2 y5 j' p- c9 ETown - мирная зона (город)
- g4 p: w* I1 @& G& l9 n3 y5 X4 CArena - боевая зона (PVP)
, N$ O+ h) K& P' Q ]JailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.0 k' G6 c Y5 r7 N( J6 W4 B; a
shape - это платье разве подобие зоны. Может водиться двух типов :
/ {, J& b) v6 N+ y3 Z-nPoly
+ j& o& r3 ^ M8 a-Cupoid.: {! M2 ~1 C* I. o, I" [1 B
minZ - это минимально допустимая координата гора (z) на данной зоне .
7 H C$ d& X! a- O. wmaxZ - это максимально допустимая координата гора (z) на зоне.6 ^3 n6 M1 ]+ K, M
minZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.4 P: ?# \. j1 V8 J- C% V
|