Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Познавательная статья относительно применения XML в Lineage 2 серверах. Изменение статов, скиллов, вещей, зон
* v u" h- \6 Y; D! E+ C
9 W3 [' N% h' o& g) E6 K( SЧасть 1. Введение% W8 n: @, H% [4 ]% Z6 j
+ v: i- z9 o3 u9 W2 `
Начну от того, который но такое XML? Это текстовый формат, предназначенный в пользу кого хранения структурированных данных, ради обмена информацией промеж программами, же и с целью создания для его основе более специализированных языков разметки (например, XHTML), кой-когда называемых словарями.
, T8 g0 L( b7 I# yПервая черта XML-документа называется объявлением XML — это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), да здесь может присутствовать указана кодировка символов да внешние зависимости.9 T* H1 n9 ^$ j! V6 v, c5 D. r
# J+ ]9 b3 x2 `" E$ @
Спецификация требует, с целью процессоры XML непременно поддерживали Юникод-кодировки UTF-8 да UTF-16. Признаются допустимыми, поддерживаются равно широко используются также другие кодировки.! J3 F/ j% ?- \
Так но на XML кушать мочь добавления комментария. объяснение может скрываться размещен на любом месте дерева. XML комментарии размещаются внутри туман тегов <!-- равным образом -->. чета знака дефис (--) никак не могут оставаться применены ни в течение который части внутри комментария. Вот прототип комментария:
( ~& n* f( _7 k% d5 S X/ {6 E. Y) Z* e
<!-- Текст -->
: Y6 r7 ^# w6 p$ L* Y* y* Q9 Y7 A Y( X6 l& z+ e/ G- k
Но я отнюдь не будем углу{цензура}ться в течение весь особенности XML, нас интересует всего на все часть, которая касается Lineage 2 XML в течение сервере Lineage применяется в угоду кому описания статов оружия, брони, скилов да т.д. в интересах оружия это предположим параметры физ. да маг. атаки, ради брони - защиты, в угоду кому скилов - медленность действия, сила, действие равно т.д. только предположим в течение файле "servername.xml" хранятся имена серверов до умолчанию. Эти имена могут содержаться свободно изменены. а кроме изменений в серверной части необходимы да изменения со стороны клиента (со стороны клиента нуждаться изменить файл "servername-e.dat". Изменяться *.dat файлы клиента могут от через специальных программ - L2Dat_EncDec да L2 FileEdit. в течение следующей части мы научу вас переменять статы вещей.
$ s% ^, E0 A! ?9 Y2 O0 {0 X! D4 K
Часть 2.Изменение статов вещей.; A1 E0 U) z6 t3 r
- t, r: `5 x3 b( R2 c# cВозьмем итем Shirt. Это неприметная НГ шмотка. в ее примере аз поясню что, где также когда. Вот кусок XML кода
% R, _+ K/ Y/ ^% u2 X# t% b9 _1 p9 F; \# P! @4 D4 [
Для измения ее статов тогда нам нужна лишь одна строчка:
! \3 h8 J. I9 r! ]+ G4 N: C9 R5 z0 N5 i( E; R( T
Что это безвыездно значит:
" S" u4 ]0 i |: g/ v: x2 u' y1 n
; r( ~# ~2 }8 A3 M7 P+ yТег означает приращение равным образом является переменной. в его месте могут да а быть, например, , , , . да так. который но означают эти значения?- h+ _' P. t, y
1. <add /> - приплата статов. То кушать ежели вы оденете вещь, ваши статы увеличатся. важность order довольно 0x10.
! w8 [# n& k5 O6 h6 P. I n' d" z. R5 {& S" q L( V
<add val='100' order="0x10" stat='pDef'/>
. [; n5 n" {0 n8 D
% e+ \- h: T1 f5 @5 r$ rДанный код следовательно который присутствие одевании багаж вам прибавится 100 единиц стата (в данном случае P. Def). C; C! ]3 p9 Y7 g" N! V- W
6 Z) _. z0 T& ~7 X7 `# ~, p
2.<sub /> - вычитание статов. То поглощать буде вы оденете вещь, ваши статы уменьшатся. order да а - 0x10.% g* N7 N- @, ^$ N: q
8 f& ?/ n- f. f8 n" M. V
Данный код следовательно который присутствие одевании багаж около вас отнимется 100 единиц стата (в данном случае M. Def).0 I p. l9 ^. ?8 V5 o# t2 o' F9 b
. G2 i$ ^9 p8 l# x. G
- s' `8 z8 F& W7 ?! q: g1 s2 v3. <set /> - назначает вам строгое важность стата. То теснить ежели вы оденете нечто со значением 20, то тот стат, однако кто это смысл влияет довольно равен 20. Order 0x08.
1 P8 ?. h+ }0 ~1 E! {* t- w5 ^! ?2 Q8 L3 t
Данный код следовательно который быть одевании багаж около вас довольно 100 единиц стата (в данном случае P. Def).1 f' k w. M0 _/ M- |
+ P" G0 p6 N' L
4. <mul /> - увеличение статов. То лакомиться коль скоро вы оденете вещь, ваши статы умножатся. Order 0x30.
7 Z" p* e1 s5 ]" W) j, O# d3 i: r- F6 |+ Z J4 I7 k0 w& v
Данный код вероятно сколько быть одевании багаж разум стата умножится для 100 (в данном случае M. Def).
, `, i/ N6 C) |9 L) v9 N
+ _$ H! p( t: g9 ]+ u5 r5. <enchant /> - показывает, в что увеличится стат около заточке вторично в +1. Order 0x0C.! ^6 l) u7 a/ m! P' g
' ?* H& h+ b# S1 H" n+ R3 q* cДанный код следовательно который быть заточке багаж опять в 1 ваши статы (в данном случае P. Def) увеличатся для 100.
2 l6 ^" e& B4 j y) I& {3 B/ VНиже приведена список значений "order": K: K9 U& U& n- N A
- m4 j' _9 E- K0 z0 f9 S) ? @0x08 - set
6 T' w( ~3 h6 ]- l, L0x10 - add/sub (оружие, броня, бижутерия) также (STR, CON, DEX, INT, WIT ,MEN)1 F; r/ ?8 ?& N# M' K
0x20 - отнюдь не нужно2 z! d q8 E2 }. Y' B
0x30 - mul/div (masteries, buffs, debuffs, SA (специальные возможности оружия), бонусы брони)
* d) n! H/ L; G+ p: Z6 w0x40 - add/sub (masteries, buffs, debuffs, SA (специальные возможности оружия))0 ]7 @% W* ]- c1 g! J) n
0x50,0x60 - никак не нужно, T7 {& I: W- w. Y
0x0C - enchant
. p+ D4 j3 k/ n; [8 p) M6 k' L6 m( E2 |5 a; z) K/ M
Часть 3. перемена скилов$ k/ U2 u% U2 i$ \: S" U* o: @
$ N0 B. O6 E2 s, ?& CСамая большая порцион моей статьи Начну со значений, причинность вы должны быть знакомым сколько изменяете.
* Q/ y; O0 R2 L( d/ S% X+ |- j1 h. r9 i) ~* Q- w t
Изменение максимального количества HP - maxHp. ?/ ~' n& H# ^ L" r
Изменение максимального количества CP - maxCp6 ~3 ]! c0 F; [) \$ U
Изменение максимального количества MP - maxMp
2 P, Z# B# x ^0 U/ Z: e% BРегенерация НР - regHp% @2 V& I6 J% k$ m
Регенерация СР - regCp/ H: Y5 U W9 S2 U9 \# n# p
Регенерация МР - regMp( |- e; y' X( G( f% T% m
Эффективность хила - gainHp
3 C- ?+ }( `. W/ C# g7 @8 J4 \- \Умение хила - giveHp
5 h7 l8 e# e: G# r0 AБонус хила - bonusHp7 h$ ~, }9 u- K* E
Физическая опора - pDef
, T/ T6 A( T! ^+ UМагическая столп - mDef
5 ]4 u* y/ v/ Y3 }! gФизическая набег - pAtk6 n/ E* s+ ^7 U
Магическая набег - mAtk z5 {6 Z$ P) D) u. s
Скорость физической атаки - pAtkSpd
3 c* L' x. |+ QСкорость магической атаки - mAtkSpd ?2 @: L( ?6 Y7 o
Скорость отката - mReuse9 C, v2 {7 V, z
Защита щитом- sDef
; m2 K8 L# e+ |# Y; D* s3 jУгол защиты щитом - shieldDefAngle; e/ h+ j3 }. h/ z7 c3 `
Критический пощечина - cAtk9 b0 r+ c$ A. b, K
Прибавка для критическому удару - cAtkAdd$ T g, q+ K5 F% c- B4 h+ x
Физ. урон в течение пвп (например в пользу кого Duel Might) - pvpPhysDmg- K$ p4 Y3 j8 m5 f: t
Маг. урон - pvpMagicalDmg
" P/ w# d1 O! ^2 v9 c4 uУрон скилом - pvpPhysSkillsDmg
2 Z5 L' n- h* R& }: |0 eУворот - rEvas! H; m Z+ |$ T9 c) ]# |
Уворот через скилов- pSkillEvas( t" F" f( V1 r' u& z
Шанс блокировки щитом - rShld
$ ~4 y9 Q* P/ {7 P' ] HШанс крита - rCrit. I. H$ h8 Q* X$ C0 ^- h4 k
Шанс Blow - blowRate; s3 p3 w. ]1 w1 ?% {
Шанс Lethal - lethalRate
- G* d2 l. E; K6 y. s& HМаг. крит. надежда - mCritRate (mCrit doesn't work!!)$ f9 |+ }& I6 P& X% J% ~
EXP,SP надежда - rExp4 Z* P0 ]' v- }2 Z; B* \3 p8 f
Cancel - cancel
% _" b- W! ?9 f- q" s w" @Точность - accCombat
( b/ \/ @9 ?7 ^4 @Зона покрытия физ. атаки - pAtkRange (for fighters)- v3 k8 }" E6 n4 Z* N( M" B. a
Зона покрытия маг. атаки- mAtkRange (for mages)5 k0 r! j; }# h: K7 D1 s
Угол атаки (только с целью воинов) - pAtkAngle
! r* ~5 K' _, K9 e$ H, J' \. FКоличество атакуемых - atkCountMax
3 X" S6 O+ K- O# g8 y$ H' X9 qОткат физ. скилов - atkReuse
- m {5 |3 ? @Скорость бега - runSpd. p- g( L% M# i( p0 C" A
Скорость ходьбы - walkSpd5 E. u9 @: G, G& r, K( E: v" k
STR - STR2 E$ @) w# e& n5 B9 g; E. m
DEX - DEX
) r& Y8 G4 |$ PWIT - WIT2 e* r6 F- o) Z' f/ n9 Y
INT - INT
' }; a8 Y6 {5 xMEN - MEN1 F. [; H) c8 G. N9 u
1 a9 L9 T9 ~" N- z9 e6 ^
Уязвимости
, k5 J2 L1 t% J9 `% A
: l2 l. ^' T8 _! J1 g3 f: G" q _Агрессия - aggressionVuln) R# t! G. _+ b4 F) @% E
Кровотечение - bleedVuln
3 D: l8 x T: X: A, p% zЯд - poisonVuln
6 i+ D& f+ p- [ ^Стан - stunVuln
, U+ s8 W5 ?6 E# S/ I* {8 }2 gПарализация - paralyzeVuln
: X p, r7 A4 FУдерживающие заклинания - rootVuln
( u. Z' u# w5 N0 p$ C2 pСон - sleepVuln" u; F8 R" q, D" F
"Перекидывание" таргета -confusionVuln$ \9 R% |8 J2 @8 ?, }4 D9 d, w) e
Движение - movementVuln
# Z3 G4 N+ n" i6 V# nОгонь - fireVuln
0 M- v! L9 ^" O4 R& b- AВетер - windVuln
& K: g1 i) n1 E3 e; a; fВода - waterVuln3 U# b# m' _8 A2 y( e
Земля - earthVuln* q/ y0 {# H7 I, q
Святые атаки - holyVuln
/ U6 d! i( s% i7 Q3 lТемные атаки - darkVuln
+ m; ]8 l" o1 U% ]/ b7 Z8 fРезист для cancel - cancelVuln7 H# R+ S" ?2 L, G% @7 f% X1 v4 o
Дебаффы - debuffVuln
5 ?5 v8 a( f! @ qРезист для криту - critVuln
S; v% I8 P- Y- A
5 ]% e& g0 J# J. f# b" F% w& IРезисты простив оружия (тут думаю изображение никак не нужно)- Y' ]& V( i8 ^) e
5 D$ D8 v2 f/ g- jnoneWpnVuln1 \5 F Q6 k0 e% s0 l
swordWpnVuln
( E* W1 Q9 D7 v! U& l2 mbluntWpnVuln
) V, |+ E3 t# R& J" J+ g0 {daggerWpnVuln
9 O$ o+ w- d' T' Z7 IbowWpnVuln
, B7 V8 |8 Y2 x& n) HcrossbowWpnVuln
$ D3 b5 _6 j& x o7 J/ fpoleWpnVuln
8 a* r5 }4 |2 Z6 `% j# hetcWpnVuln9 J4 ~6 x& I, J) k9 D, I9 W0 B
fistWpnVuln
9 g8 y/ h4 p2 B: ]; u/ M/ zdualWpnVuln# v. r; Y' R3 ^8 j6 A* q, _+ o
dualFistWpnVuln) F" H9 u% _. B1 b5 s
bigSwordWpnVuln
. ^& a7 C6 G% Y2 b6 U
- R- L6 l- W% r. DОтражение6 k) p8 D" g5 X5 {# n
3 g( E' x1 ^ Y' v4 E
Процент отражаемого урона - reflectDam (pay attention! not reflectDmg!! reflectDam)$ z' L, ^ x$ y, f, U
Процент рассеиваемого урона - absorbDam5 @1 ~2 i2 i1 j& U# i. w$ U+ X
Процент переносимого урона- transDam1 C" k7 y3 ?$ \9 d
Отражение маг. скилов - reflectSkillMagic
. B& v8 Z7 `* l" JОтражение физ. скилов - reflectSkillPhysic" L2 O; ^& V% |* d
# Z9 q* }$ Z; W% HДругое (для примера):$ K: R$ v7 r o1 t& S; ^4 D: a! Y
- H: I* H7 g3 W* U. s% D5 Z6 C
Атака для гигантов - pAtk-giants. D9 |0 e# J' Y/ H
Защита для ласкать - pDef-undead
* N2 B. t z% q9 |+ p6 fАтака в животных - pAtk-animals
" m" z* c" K1 \0 iЗащита для монстрах - pDef-monsters. ~/ i# ^2 p* D2 U$ G' a( B7 y
Лимит инвентаря - inventoryLimit7 E- d# T, L4 s+ `8 K
Лимит ВХ - whLimit
6 D- x# o( `' }9 @% X+ eFreight лимит - FreightLimit/ S$ B3 k, y. |4 D7 [' b9 y
Лимит продажи. - PrivateSellLimit; L# i2 `: ]8 O- z! q7 F- i
Лимит покупки - PrivateBuyLimit3 X4 J# E! ?' X0 F3 I b& ?# p
Лимит гномьего крафта - DwarfRecipeLimit* J* M! J3 z. O/ @1 L
Лимит common крафта - CommonRecipeLimit
2 O* G9 A5 M* G; Z9 GПотребление МР физ. скилами - PhysicalMpConsumeRate
. h# w2 c6 u( ^' I: k6 YПотребление МР маг. скилами - MagicalMpConsumeRate6 m- h- [" v& V' l8 @. t$ y1 u
Потребление МР дансами - DanceMpConsumeRate
* _" u% Q. Z! D. v% @Потребление НР - HpConsumeRate
: j2 ~: _6 F, m( Z) `1 |$ e1 iПотребление МР - MpConsume0 r9 d! ^3 R8 C" n( c' s; \
Потребление соулшотов - soulShotCount* C# L# j( z' c) i9 V7 ~6 E+ u2 E
Skill Мastery - skillMastery
$ Z: {+ j: N5 [* i- ?Время пребывания около водой - breath) t5 J8 T: T$ [, r5 `$ h! m
4 r- Q. u; @8 z
Вроде все какой угодно скилл начинается почти открывающего тега да заканчивается закрывающим тегом . в течение скилах теснить 3 обязательных тега, лишенный чего которых он отнюдь не довольно заниматься - это target, skilltype также operatetype. Давайте разберемся сколько это такое вообще + E2 d4 T2 M+ ]0 Q/ E5 X1 z1 f
9 k% h* R! v# c" i8 L2 u- ~1. target - тег, что показывает для кого довольно обещать таргет, сколько следовательно с названия. Принимает следующие значения:7 {3 V5 ^$ q6 b+ a6 t; g
/ _; c& r6 Q% `9 [; n% }$ E
TARGET_SELF - обозначает, который скилл довольно использоватся только для его владельца (селф бафф типа Battle Roar иначе говоря War Cry)$ Z) S* Z2 T3 O2 O K2 s
TARGET_NONE - мишень неопределена
" ?: J+ O/ S6 y" j+ c- U- ^2 gTARGET_ONE - обозначает, который мишень вашего скилла - тот который в течение таргете.9 j0 r4 ~" u' Y+ s7 n( Y+ M8 s
TARGET_AREA - обозначает, который скилл довольно массовым5 {, T& P9 H( V. n4 s
TARGET_AGGREMENT - обозначает, сколько целью довольно тот, который вас атакует
9 x/ ^7 V+ p4 a$ P2 g% [
- O' d& ?2 U% W4 w% [7 a2. skilltype - тег, указывающий для вид скилла (бафф, дебафф). e# ^4 f6 C4 G1 L- h
Принимает следующие значения:5 T x/ l9 U+ n( V6 R
BUFF - бафф (оказывает положительное воздействие)( |5 v& ^) K0 d/ Z V
DEBUFF - дебафф (оказывает негативное воздействие)- |: T1 D$ G4 D0 x/ Z: {$ q
0 y9 K* ^3 B# u0 {' `% L3. operatetype - сей тег служит на определения типа скилла (активный либо пассивный)! ?* c& G4 h1 v, w) V
OP_ACTIVE - активный скилл, может являться использован игроком
; X& \* @% V/ t! AOP_PASSIVE - пассивный скилл, скилл из таким operateType никак не может пребывать использован (действует всегда)
. i$ e5 K0 c. B' E" N/ L8 kЭто были обязательные переменные, используемые на скилах. в настоящее время перейдем для остальным:$ a4 F9 g# p% f4 b3 I* R5 h
-power - значение скилла2 }7 C. J7 f3 w; t' F
-hitTime - скорость. чтобы баффа это быстрота чтения заклинания, с целью физ. скилла - прыть атаки
& i7 Z. Q, d( v; d-reuseDelay - откат скилла
* s4 ^( D" H- U5 |5 d3 ]4 e-hpconsume , mpconsume - потребление МР, НР
) n$ o; x5 V# B/ c; C-castRange - это дальность использования того иначе иного скилла (дистанция)
; y4 H, o. ^7 O2 C% }; C. c; t-isMagic, isDebuff, isBuff - это наводящие теги, могут владеть разум "true" также "false". для примеру, isBuff = true (это следовательно сколько скилл является баффом)7 N0 M! D0 o3 Q5 `7 [
-effectRange - радиус действия (для массовых скиллов): t" [4 x; q* g6 N( Y8 b7 i
-agro - который такое агр, равно сколько такое власть агра думаю растолковать отнюдь не нужно.
% v8 \$ N( b, A' O6 TЭто основное сколько вам понадобится. ныне расскажу вам по части значении тега на скиллах.% F! x# a: z# h0 ?5 v: t. i. I
Тег на скиллах Lineage 2 встречается чрезвычайно часто. Обычно известный тег используется в видах "добавления сложных действий" для скиллу. буде скилл имеет головоломный разновидность реализации то обычно в течение тег добавляют некоторые отдельные значения, которые реализованы в течение ядре ява сервера Lineage. настоящий первенствующий тег к использования здесь - это .
$ c2 T# b$ n5 KПриведем первообраз использования тега равным образом тега :
@7 O7 N% a4 g+ Y
; B2 n* }5 B' z. U, W; p% x$ a
6 M2 X% E8 r& a* w, {* u/ @, T
Что сие значит:5 Y0 k& T4 A# x) T! |
( N9 y4 a, |2 K" m3 tname - Это характер эффекта
/ h5 O7 F' p }+ p; o1 i% Eval - важность эффекта. в интересах дебаффов - надежда прохождения, на боевых скилов - сила.7 `' \0 V$ a/ f- @6 B
time - век действия эффекта% Q( Y* w" q- r2 r
StackOrder также stackType - это значения уже описаные на данном скиле. order равно образец то есть но значения равным образом переменные из ядра сервера.+ b1 L# ~: D9 |& p1 X
: k0 M1 k% w3 d y; xДумаю со скиллами я разобрались, нынче перейдем для зонам.' D& [7 |4 P% u6 Y0 ~
+ c; T+ B1 C- L, q, z" u2 h. ~5 K
Часть 4. чтобы начала описания зон используется тег ./ T' V6 x# @% S" s9 ]6 m3 m
8 s1 [: p! \6 {" ?. z# N( ?
% X4 y; K" t, A+ p+ i* I<!--Комментарий-->8 L9 w& e9 ^4 z& }' h+ L
$ b6 j* ]6 s. W; M! Z2 P
Пройдемся за значениям:6 ]5 J) r* | e! Y w; y( M" o/ c7 k
; a1 {# m2 n8 H9 M8 R
id - идентификатор зоны.% M( i- t& X% r
type - образец зоны (town, arena, jailzone). Например:
5 c9 {, U# f: h8 k* a( bTown - мирная зона (город)
9 _. h7 N) a; {% hArena - боевая зона (PVP)
' L& R& H# Z* `. jJailZone - зона. простой зона (извините после аллегорию ). за другому - тюрьма. в течение ней запрещены беседа да телепорт.' t8 N" L# E& _: V) u
shape - это платье разве подобие зоны. Может водиться двух типов :
7 j! G2 F& f6 ~- B/ u# j-nPoly1 }. f$ k d! g' @6 \/ G `( k
-Cupoid.1 P% K! y1 e% Q/ [1 a
minZ - это минимально допустимая координата гора (z) на данной зоне .
5 R# f7 B# Q2 [8 p8 w' F/ vmaxZ - это максимально допустимая координата гора (z) на зоне.
5 K. o- P; T6 O. x7 sminZ также maxZ используются в угоду кому избежания прохождения сквозь текстуры, провалов перед них равным образом т.д.: E& @" Q0 G- h3 b
|