Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон/ v% E4 e# p: \) G$ P; Q
8 t; r' x( v0 l) C/ [ g
Часть 1. Введение9 P) @, v; w7 O# f' I1 v' F4 N
0 M A1 S9 W3 t; b9 c
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.
% J0 D9 n, T: U+ ZПервая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.7 c# \0 S. a5 P) U: A
z% X& q2 p! e' R9 Z. c
Спецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.4 ]! L3 `, J) B, u, C+ D
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:
+ A, D& c7 t5 [" p) _; t# C, ~+ n3 ]! h# I! ~ R$ ]
<!-- Текст -->
. h1 d- W0 \) W% U+ W- D% w, D5 {" f6 L
Но я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей., u& P2 o& Q' m8 b& A
2 l8 N; n% U& ]+ L% }$ A/ pЧасть 2.Изменение статов вещей., f+ Z) O- q. b2 w# k! V
+ I6 V8 J* L6 X! |9 z2 r' I* ~
Возьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода3 b# J' y" I" h% ~
) e, X' N% G6 z" g$ F: b* TДля измения ее статов тогда нам нужна лишь одна строчка:
0 E! v N0 b1 z7 Q# d ` n2 S
2 J9 b# m1 U; t( r. m: j- i/ PЧто это безвыездно значит:
0 }; {4 H7 V) N. D/ z; U9 P& o0 q2 Z3 W! f
Тег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?
, b6 ~3 u* V# B" h1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
2 x& ~1 ^8 c9 _8 @9 f( N% |' S# W. R6 N5 ]5 t9 L5 _
<add val='100' order="0x10" stat='pDef'/>/ u! w* ?6 M- H5 D
# p" t# D' T( a# K% X
Данный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def).6 ~6 Z7 f+ r# r4 F4 `
& k/ x4 L3 g8 _8 t! b7 C2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.
: J! O; Y+ O5 O) `$ {$ _# v
( C$ ?) m7 A0 z1 T& M# Y' D* i$ TДанный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).! X2 y5 d- t. H8 i
2 e7 B0 F+ x4 V9 T* l( {' ~% W4 w$ I0 ^
, [; n$ z2 [& {- _$ ~) \3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
4 a" x2 L: E' d6 N
; W( m9 ]. h" X$ Y& UДанный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).( h5 z9 r# {; a8 e4 A3 v
8 ?' N! |9 ]" [4 w0 O
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.5 z7 i3 y: N$ E' g7 P/ l
8 Y i7 h- M7 ?( f$ k8 W5 X! G- |Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def)." O2 a0 N7 K X% D, j: n
4 ~2 [/ R/ `% f7 M3 v" q5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.
* D& w7 E2 p/ S+ R( Y. k
: k- X. h; y! m3 s6 TДанный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.
: A: u; S- M: s' g; C0 y, o. u2 [Ниже приведена список значений "order":' W+ c) T j* v; J+ S2 ^
+ T+ d A! t0 I9 i% | F0x08 - set
% r2 B* y% z1 h$ a( T6 x0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)
% j: H5 j8 }6 h0x20 - отнюдь не нужно
4 |3 s) n2 h! ^% B/ d ^0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)% ], Z% r0 y2 E" H; d* c
0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))
& ]9 }8 d" D- |% _) [2 p5 O0x50,0x60 - никак не нужно" j0 t7 A V+ r. t' L
0x0C - enchant: h5 w8 d8 L5 R
+ ?( q1 [" M7 b* ~& _
Часть 3. перемена скилов
* t; e8 [$ G9 |: C# J8 S
! k, F7 V6 h1 iСамая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.4 t; \8 U7 \4 T; T3 V2 e! o
: m0 r1 R9 ^: }* @' dИзменение максимального количества HP - maxHp
9 ~. h# X3 v! I& j% T- p; f$ MИзменение максимального количества CP - maxCp2 T, ~# D. E3 f4 E8 U
Изменение максимального количества MP - maxMp
+ d; l; l$ u/ L% R& bРегенерация НР - regHp3 Z% \$ [7 K' o7 G7 z$ J1 U
Регенерация СР - regCp
`) s* [4 x' kРегенерация МР - regMp& p) f# @! Q$ O0 r
Эффективность хила - gainHp+ b0 W; [$ F1 o: Y9 y! w
Умение хила - giveHp9 f: C8 _# T! ^* z
Бонус хила - bonusHp* x+ j! [. ^# s3 u0 }
Физическая опора - pDef
0 b6 t+ L$ I- K \9 Q3 `Магическая столп - mDef: }& E j9 l+ {# t% U& b
Физическая набег - pAtk
# Q" Z+ G) M R* LМагическая набег - mAtk
$ [3 _+ j; I2 i4 M. v$ E% SСкорость физической атаки - pAtkSpd
) {& R! |& z9 s QСкорость магической атаки - mAtkSpd+ V6 o: O& X0 ~1 E ~" k+ R' V D
Скорость отката - mReuse; D+ Y. V" e4 d" W
Защита щитом- sDef
G7 E4 A% b7 {4 E8 R- x' oУгол защиты щитом - shieldDefAngle. m, D2 S2 [; C: b& v0 m
Критический пощечина - cAtk
2 g3 P( `9 X) k$ h8 G( {Прибавка для критическому удару - cAtkAdd
+ R6 ~- X0 f2 l6 i- EФиз. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg+ h8 A" b$ X8 ]1 h" U
Маг. урон - pvpMagicalDmg
3 L- U8 j! {! \$ Q5 b) Y7 M) {) MУрон скилом - pvpPhysSkillsDmg9 q% Y/ _/ u* w Z; N
Уворот - rEvas
' d$ B* E! F& F7 \ GУворот через скилов- pSkillEvas
8 c# y4 |9 ]! }3 P1 ^Шанс блокировки щитом - rShld
! }8 {; i! Y; Z$ qШанс крита - rCrit
/ }* E0 E# b8 Y2 d5 NШанс Blow - blowRate
; Z! M5 I. Q$ t7 y; O2 z6 h, E! [0 hШанс Lethal - lethalRate* B8 c) ^+ K) |% K. g- ~
Маг. крит. надежда - mCritRate (mCrit doesn't work!!)0 l6 t% @# f5 i ~# V+ ?
EXP,SP надежда - rExp
+ R$ Q5 E# y/ jCancel - cancel9 \% e$ `7 ^" W; X. n
Точность - accCombat" j2 ^; u1 \) U, C- S
Зона покрытия физ. атаки - pAtkRange (for fighters)) Q& Z& O \7 `: V) F. w; S
Зона покрытия маг. атаки- mAtkRange (for mages)
& ~9 L7 L9 J, d& J2 k% R. `7 s4 `Угол атаки (только с целью воинов) - pAtkAngle
7 ]& V- [, O6 }" UКоличество атакуемых - atkCountMax( ]" W. Y) w+ A" b/ W2 {
Откат физ. скилов - atkReuse
: P1 E( k; k9 r9 D) b5 R, r& WСкорость бега - runSpd3 a$ N: f" b0 e0 h, L
Скорость ходьбы - walkSpd
" v7 l( ~, v7 q- sSTR - STR! g' @2 k- v: M. z% E0 }# @9 z
DEX - DEX
/ R% x/ h1 u! j: MWIT - WIT, _& S% R, Y' a+ V: q# I3 [3 N
INT - INT2 T" m4 U; t8 u8 ^; K9 c) Q
MEN - MEN7 {1 R# t2 F" `9 K+ d! ]) b
6 D' N! D# j' D: R& ^
Уязвимости4 W& |5 P- T' F" D* Q9 ]
0 {1 s! ]: e( f$ q
Агрессия - aggressionVuln, s& q3 x1 q$ l6 r$ g7 V
Кровотечение - bleedVuln
( f2 S, [# w7 h. _! hЯд - poisonVuln
$ z; \1 Y# l2 G& `# QСтан - stunVuln" e) g' O1 X( C% C" X B
Парализация - paralyzeVuln
, L1 A/ E- ^9 R1 u& oУдерживающие заклинания - rootVuln
, _5 d: L5 s TСон - sleepVuln/ a0 I, l* O( p* g( m \: M; f* j% A
"Перекидывание" таргета -confusionVuln5 D* ]4 w w8 S4 Y; x& G: J6 D, i
Движение - movementVuln1 |' W6 D3 b7 p; L5 k8 u7 i
Огонь - fireVuln
2 Z7 G, M( ^& @1 nВетер - windVuln7 |( r& |" |+ L; o( X
Вода - waterVuln5 x) r+ n0 d( Z, n2 `/ `4 l2 W( p7 J
Земля - earthVuln# q; b8 m( _4 p! i
Святые атаки - holyVuln
$ p. R+ T8 c9 ~. `Темные атаки - darkVuln8 [9 O# d! W* B% }! ]
Резист для cancel - cancelVuln
3 G; z% T9 a' m8 f. FДебаффы - debuffVuln
2 l- s9 G& t) S. PРезист для криту - critVuln5 G0 G1 r6 x% @
3 l: e! S- \3 ]/ g
Резисты простив оружия (тут думаю изображение никак не нужно)6 Q5 @% d6 T0 n, ?9 @9 e
0 \+ \; c4 Z+ @8 B. G. |noneWpnVuln5 S* d; u3 b" c/ q& V% z
swordWpnVuln
0 G! _1 x u8 Q, r2 QbluntWpnVuln- z m R' b& w) [ ^
daggerWpnVuln
9 Q* @) C" s. e/ y; _; x) {6 ZbowWpnVuln
- s$ g( s) _0 x6 O' ucrossbowWpnVuln6 L: y7 h# T4 X& n5 G
poleWpnVuln
6 t- J. N* {$ Y" u& h, P+ petcWpnVuln
. L2 F2 @; H& I) Z" S8 N: ^: FfistWpnVuln2 J, z1 z5 n" p" B6 S: q6 m% j
dualWpnVuln, X' _; O; K8 h- ]
dualFistWpnVuln* ^# i3 \6 @. J+ x5 v; Y( K
bigSwordWpnVuln
: r0 I8 `, Z0 n1 o3 E0 ?, |4 E! C: J2 d" s7 J
Отражение; B9 Y5 ~! ^3 F Z' ]+ R5 d
0 |. t. P8 Y: S1 m& DПроцент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)8 ^& t8 @) R- A6 f0 f; Q
Процент рассеиваемого урона - absorbDam4 j: f2 c7 y" X8 a
Процент переносимого урона- transDam
/ V, O. a! r0 s* gОтражение маг. скилов - reflectSkillMagic# k# s5 G! o$ }
Отражение физ. скилов - reflectSkillPhysic
* t; v4 r( L8 o: k1 \8 t1 g
% ]5 }5 G# I: H4 Y0 l7 L. EДругое (для примера):* c1 U) ~ E2 n( K. R6 u% |6 a
5 f9 P: z/ \9 W$ ?- `; e& oАтака для гигантов - pAtk-giants& Q! [. A2 t& _7 }- s- m4 \
Защита для ласкать - pDef-undead) @ |1 B [- ], n/ h
Атака в животных - pAtk-animals
, P# M6 p \2 u2 f- |Защита для монстрах - pDef-monsters
% \4 ]2 J1 `( w3 A. S1 l* |Лимит инвентаря - inventoryLimit
5 v8 Y2 Y! [7 PЛимит ВХ - whLimit
: D9 ^& ]' C. TFreight лимит - FreightLimit6 a* K% O# ~. d2 u
Лимит продажи. - PrivateSellLimit
$ O: d/ `! n6 c) H/ J' B0 P! I/ IЛимит покупки - PrivateBuyLimit
% B6 o4 }9 f2 ^$ D9 [ @Лимит гномьего крафта - DwarfRecipeLimit
8 H3 p: D/ M Z+ y5 JЛимит common крафта - CommonRecipeLimit
& q, q8 T6 F, y7 ?* h. Q" g* H9 ^1 UПотребление МР физ. скилами - PhysicalMpConsumeRate6 t) w, k/ ~* H& r& c
Потребление МР маг. скилами - MagicalMpConsumeRate
( N) W7 m2 P6 V) `Потребление МР дансами - DanceMpConsumeRate* A: x! _- H! Q- A1 A
Потребление НР - HpConsumeRate
% {5 L8 M5 ^2 F, BПотребление МР - MpConsume% s; ~1 c/ O) {5 p# `
Потребление соулшотов - soulShotCount* z' s+ P, n3 T" ?* B2 f
Skill Мastery - skillMastery% P5 F4 S( I" g& Y
Время пребывания около водой - breath0 `# @1 _- X4 {! o% |& t& r- W
2 P0 n% O9 g0 H) f9 L
Вроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще ! n9 j5 G- I0 {+ \& w( ?
- v' a. e7 H# {
1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:
& t3 F. u. P) M/ e
; B: r5 f4 ]% K- I+ z% O& O- O) Z; m$ yTARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)
' M3 f" a2 C2 v) aTARGET_NONE - мишень неопределена$ O" v$ {2 f- Y* G6 N% z2 B! H
TARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.- |6 I$ z% [9 e6 X5 h; `* k
TARGET_AREA - обозначает, который скилл довольно массовым. y, A- H8 D, y8 O( C
TARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
% {6 \) g% Y: R
- H+ Q3 \ f+ D& x+ V2. skilltype - тег, указывающий для вид скилла (бафф, дебафф)/ d0 j- z$ Q1 |( s
Принимает следующие значения:
' h: j0 ]) e, A' xBUFF - бафф (оказывает положительное воздействие)
/ W) ?0 V; Y# ]; g; Q3 [6 \DEBUFF - дебафф (оказывает негативное воздействие)" m K5 I7 W! S: C
! e: M& M4 v+ `; |( O- T; i3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)
+ z- M1 }4 I# N8 b, {7 V6 o( `5 lOP_ACTIVE - активный скилл, может являться использован игроком9 K# ~. {- t8 h" F% x
OP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)) ?& z% ~! Z/ [; u
Это были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:7 u/ T( O. t$ j) j
-power - значение скилла! o, L. k# v5 q7 [
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки
; q5 |+ s; k& r: a! z3 f: S5 ]% {-reuseDelay - откат скилла; \# L' b" }5 c
-hpconsume , mpconsume - потребление МР, НР
' _5 x3 @: D- T- }- ~5 G, r$ ?-castRange - это дальность использования того иначе иного скилла (дистанция)
9 R; y0 r0 z# b" A N6 \' E-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)
# d3 G6 d) v' w# g! }# g/ H6 v-effectRange - радиус действия (для массовых скиллов)3 C1 r; r2 f$ k
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.
, k7 {7 j2 g9 _" |* {7 U$ A1 QЭто основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.- h5 x) n# y1 J
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .
{2 P5 y9 j* }8 H& YПриведем первообраз использования тега равным образом тега :
/ G. C" e8 ^; t6 d
+ T2 }1 p* l4 l e, t' D$ x; j' G. m6 P" L& A8 J( L" S0 O6 t T" {
& c5 E% x- Y% q3 j# }4 v4 J- e
Что сие значит:
# T; ^( R2 z, j. s( D: D. {3 ^
0 @! r+ Q, Y0 ]8 [3 Qname - Это характер эффекта' k* l% x! H/ D; r1 c
val - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.
$ H# c$ |/ t+ w* N5 Gtime - век действия эффекта$ s$ @2 g$ i& H& t4 P% i& m
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.2 f* J( w. W' S' G! f* ]5 _
* V! S+ B; ~) o5 Z0 \6 C2 T. GДумаю со скиллами я разобрались, нынче перейдем для зонам.
( ?. g6 U# ~, Z4 i5 C: }7 m; \% ^4 d6 Q$ R+ T
Часть 4. чтобы начала описания зон используется тег .) [6 |; h" d! w& e2 B
4 i6 n! K+ p0 P6 M h+ \& e' M+ E7 I# w6 V. D
<!--Комментарий-->
; N" E0 Y# t* x n+ A' V9 j+ k! ?" I u1 B* N
Пройдемся за значениям:
3 l& J( b0 {8 {# E u
$ y6 h) x! Z' g; Fid - идентификатор зоны.- {1 `. L( j/ g
type - образец зоны (town, arena, jailzone). Например:
- v* p! T0 \6 M- bTown - мирная зона (город); M7 E$ s+ U8 M9 h- [) j
Arena - боевая зона (PVP)
6 x! w! K# L) p& KJailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.
/ M8 g# a0 | v7 {$ [& e. Q' Qshape - это платье разве подобие зоны. Может водиться двух типов :' K$ S/ o: y8 j
-nPoly4 F( y0 }8 a, h( _- c' M
-Cupoid.
$ }" z2 x( w! @2 B. fminZ - это минимально допустимая координата гора (z) на данной зоне .
/ \ `& V( b4 Z& _& _5 R! S. amaxZ - это максимально допустимая координата гора (z) на зоне.
$ u/ ~5 u q' R1 a) ?6 N) pminZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.2 C. Y O1 q( J; s% Q
|