Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
& ~4 ]6 b; Q' b& ]5 |7 }5 i3 M( c' B3 n3 B0 w
! Y) X& C8 J/ F8 a% U ~
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.0 Q* x) L: g" g9 ?5 U& ^; d
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
- g2 K+ B9 d; R y6 f( FПример записи квеста в NewQuestData.xml:# E, {+ p# ^; @# v
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">+ [! k! a$ X0 R+ X/ e
- <locations>' o$ U9 e5 f( c. A4 E& L1 `
- <param name="startLocationId">1015</param>
. v2 X3 [& A! d$ |$ S - <param name="endLocationId">1002</param>
" v- |' ^4 ]$ l8 q - <param name="questLocationId">1020</param>. ^, ?8 f) L" C1 E/ M) `, {
- </locations>; c" P% [+ A4 @0 x7 Q% H+ m* @4 M
- <conditions>
3 p' }- l- T5 T& n# Y - <param name="preQuestId">10019</param>
6 r' c, c9 I# x5 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>
* }+ ~: a6 `5 ?1 B6 ^* `5 T - </conditions>
- v* w1 J3 E/ z" Q) k/ C. Q. U - <rewards>
& o' @/ r8 e! l, J$ P0 H' } - <items>8 H U1 o4 P4 g2 C! Y& F
- <item id="57" count="240000" />
+ M p0 x M/ R6 U$ O - </items>
* @- u6 s: s9 m+ h6 G - <param name="rewardLevel">76</param>& V, Y: ~: \& c' J: Z3 w9 {
- <param name="rewardSp">84</param>. W3 v3 u) x1 b8 b% K% p# g& W* I2 w6 X
- </rewards> t7 i( L* F* ^% N8 |# |0 d
- <goals>
# z' ~% m: n/ k, z2 @$ _0 w& m - <param name="goalCount">30</param>. Q+ {7 ~, O0 d) V
- <param name="goalString">Monsters on the Windy Hill</param>/ ~; t+ W( a2 @; _% f' u5 w5 E! f
- </goals>& O9 i9 t& Y8 J7 v5 a% P" Z
- </quest>
. g8 J. N8 O' Z- U& {, _
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:- t' k+ H% J+ i, Q7 t
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
2 A3 s) d$ e, g3 y' s7 n 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:9 a7 |5 k: w4 P
. S5 n& k3 n9 u. J- `
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
( J2 B% C' p6 i; R+ h# t 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
0 G0 u& m3 M) ]5 R7 a6 p7 ~- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.7 ?( S6 G# e {
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
0 {: v7 d! E u/ W) a) h- <items> — внутренняя секция с наградами в виде предметов.- [& T {/ [* ]6 A8 \; c# [
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.0 w3 Z( v. Y& M% N: }$ ]: B8 S, e
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
4 \4 g9 I0 d$ N8 E 2.5. Тег <goals>Этот блок определяет цели квеста:
* a# Z* Z. y& h8 R- }. \- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).6 Z( K1 g$ g' Q$ S1 g, v2 b% R _0 T9 X
3. Пример полного квеста
) q' a6 V7 P' n7 {
3 S5 J" Q- K9 [. rПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
8 k2 I' p- m5 {: f- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
$ X+ `2 d. Y* @$ i2 T& k9 ? - <locations>
8 P- C5 A. ] e9 P - <param name="startLocationId">1015</param>" v! u: E6 W8 t: W5 `. Q" U
- <param name="endLocationId">1015</param>! J3 o' S: B6 H/ u
- <param name="questLocationId">1020</param>
& p8 X4 H4 p0 ?7 B7 O$ x - </locations>
* q7 {/ p- W/ b7 d - <conditions>
" Y. t4 {( B$ _$ l6 E2 g - <param name="preQuestId">10099</param>
; G6 S/ A$ R0 G - <param name="classIds">1;2;3;4;5</param>
: Q- I" r+ y- U+ Q& \- r: G - </conditions>, I- s, r M! X6 t% U: ?3 @* f3 u
- <rewards>! w' V- g# q( m* D9 \, C
- <items>
/ G! n, ? ~3 p9 t- g/ A6 d) B0 h - <item id="57" count="50000" />
0 g( J9 v9 B H# g& C( \ - </items>
" v) H# i) {6 p, Y - <param name="rewardLevel">50</param>- @' I) P# `4 G3 |6 w
- <param name="rewardSp">1000</param>
! I5 N* H: P, w& U - </rewards>- i9 f; D9 P+ I+ A! F) c
- <goals>
$ A" P# c0 b5 {& G. s/ |- O - <param name="goalCount">10</param>
* m/ h! T5 g$ H& R0 q8 _$ d - <param name="goalString">Demons in the cursed forest</param>
# [: R! E( O1 o" z c - </goals>
3 a; `. T2 `' G8 i2 P% W - </quest>/ j' u7 x7 Y+ c! h1 \7 W
Скопировать код Здесь:
% a- v w8 r" y0 g, S- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
' I8 k8 `1 C, U' l+ E3 t
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.$ o* }: F: J+ a( f2 D, x! t
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.2 b* C# e9 ]1 m8 @4 G
$ |' Z1 T0 [1 U! g
|