Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius( k, E7 k' x! e" f4 V; `' O
/ H1 j% L# K( T
% M2 x2 k9 O9 ^! vФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.8 ]% H* Z+ U1 I: f: \$ j0 A/ y
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
% q* l+ O. L% Z6 }" [- J, {Пример записи квеста в NewQuestData.xml:
' u/ W: r9 z* p9 P, M5 z+ t- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
: k4 ?: O) N% W9 U. \. d6 q; M - <locations>
+ b9 V9 s Q& G6 T1 l# H5 ] - <param name="startLocationId">1015</param>
/ w0 S- ~# i9 [ - <param name="endLocationId">1002</param>4 ]) I1 z( _2 I9 t/ y9 }7 s
- <param name="questLocationId">1020</param>
, w4 z8 |4 S/ a( H - </locations>) z- Z/ z% \+ P! k
- <conditions>
# K7 B3 W6 ]- b - <param name="preQuestId">10019</param>0 {6 F& `/ n2 T! R" @# k* K$ K" x
- <param name="classIds">2;3;5;6;8;9;12;13;14;16;17;20;21;23;24;27;28;30;33;34;36;37;40;41;43;46;48;51;52;55;57;127;128;129;130</param>5 B, J f, K1 Z# T7 d% m; Q$ b
- </conditions>
4 }, b4 P* l l# Y - <rewards>
& s# M4 `: B. ~. y2 r - <items>
' V9 V$ x& V4 {' V% L - <item id="57" count="240000" />
" h4 H; a, w- k7 a9 |# Y+ S* I* F - </items>
+ s$ Y3 [( s- V$ k" J - <param name="rewardLevel">76</param>
) i4 z( L% K, @ - <param name="rewardSp">84</param>
/ y0 u4 [0 h+ u1 T( N9 X, n8 f2 L" v! z - </rewards>
+ Q) \: a0 _4 U l) ] - <goals>, `3 e7 G& N3 C" h# Z1 y' _
- <param name="goalCount">30</param>4 q5 v) l# d% G
- <param name="goalString">Monsters on the Windy Hill</param>% ~1 o' W, J; a
- </goals>' l6 |, d+ E0 `/ |' {# E; K
- </quest>
$ _0 T0 o& \5 O7 a# p
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:: ]. d8 t9 G: h9 | I: p
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
1 [% j) C) K5 p7 W( |5 c# A 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:. d8 t, h9 t* P+ y2 o( O1 }
8 j2 ?* r$ _9 d+ _! [! L
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
) U5 Z# ?4 ?7 x% N+ @5 e" Q6 z 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
4 U/ [$ r% H( n- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
( x& [+ o3 I$ r) V+ l' T' J 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
: ]* `1 j1 q' Z+ y1 [7 I3 N1 s( W- <items> — внутренняя секция с наградами в виде предметов.' ^6 p( h3 I2 W6 n {
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.7 R' q) R& q! H1 a
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.8 w) G' f# D1 h e% A5 z
2.5. Тег <goals>Этот блок определяет цели квеста:: e" ~/ c6 }! b! k; ^
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).+ r( A6 c* E' c6 {1 M
3. Пример полного квеста
0 v& ?9 q8 I% _% D" T
1 }1 g) n0 a5 v' G1 zПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
; x( i7 D, F; Y, n# f$ N- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">. y( Z8 P' @$ |0 L1 T5 G: @/ H
- <locations>
7 @$ b% f6 u8 w8 ^ - <param name="startLocationId">1015</param>
, D2 u5 t( D; p4 G - <param name="endLocationId">1015</param>+ A2 a$ P' ?& y7 P# m
- <param name="questLocationId">1020</param>
& C9 z3 H( V# r- o/ e( G - </locations>
0 Y6 F! s& @! A; x/ ^. C _+ l0 x - <conditions>
- M$ d- u% T1 C& G) Q3 ? - <param name="preQuestId">10099</param>
1 O) q7 U' @9 n: a' s; Z3 o$ }' ~$ e - <param name="classIds">1;2;3;4;5</param>; c G( B: y* X6 H% k& M: ?! G8 A' _
- </conditions>
) h& Q- A5 S6 O3 q: Y - <rewards>" t F2 p4 ]- g L6 b6 K) C9 o
- <items>
& q( q ]4 O& u# z& d$ F, b7 |, K - <item id="57" count="50000" />2 h5 }4 ]% i7 i: A& T
- </items>3 R0 o' P* n- p0 _3 V( a
- <param name="rewardLevel">50</param>
/ R3 Q: Y( j/ F8 ?& g - <param name="rewardSp">1000</param>: E8 |4 }8 m0 a7 Q8 P
- </rewards>
. p) e. ~/ n. @' X4 t - <goals>6 f/ I' W2 C1 t _, T. p8 n
- <param name="goalCount">10</param>
* r0 V& G( L+ S; M. g/ B - <param name="goalString">Demons in the cursed forest</param>
1 h& B, k9 i0 \ - </goals>
, ?+ l3 p9 A3 t W( j - </quest>( r' d/ n" q8 _* F6 m9 K
Скопировать код Здесь:
( M9 C0 H" }: U7 G- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
7 y7 Z% j& f7 S. [# }
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
% d: X$ d: b) q5 O4 E8 F) H+ {
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
d8 S! h5 {& d0 w% H( Y: G/ ^& l3 e: j1 _ I' g: j
|