Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
& V8 E! V& ], v. r1 v$ B7 ^4 @1 R
! c/ K/ r& p5 Y3 `% ]! S: z( B
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
0 o3 f) Z# b! z 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
+ X: N! u/ p; y" ZПример записи квеста в NewQuestData.xml:
. I! _& o( a7 s5 O2 F* ?8 z: |- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
2 }! j6 V8 N% R$ k, c* B - <locations>
/ H4 B7 E' C+ K4 K0 h( y: j! ` - <param name="startLocationId">1015</param>
/ X3 b- |. Z3 l& B! ?& x - <param name="endLocationId">1002</param>! D) G7 p% L; v. ^
- <param name="questLocationId">1020</param>% d$ a# b# d/ M* d+ @
- </locations>
+ {( k" f; m' a; T8 J - <conditions>
! R4 Y& Z7 U3 V* ? - <param name="preQuestId">10019</param>) { V, x2 u4 N3 y) N! @
- <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>
' k0 d$ Q V1 Y7 f& \ - </conditions>5 Q0 |8 E x& x& }+ i! p
- <rewards>
& w A3 W7 x: s( q/ C8 | - <items>
! f) f/ i6 s$ s - <item id="57" count="240000" />2 w6 y" u; l: Y$ p9 `) N
- </items>! X) a2 A# a6 y7 X, [4 i
- <param name="rewardLevel">76</param>
& l0 u8 s' J5 Q- g6 L& V - <param name="rewardSp">84</param>
# s) `6 ?. t; |1 z( X2 m5 a - </rewards>
2 f n. d% `. l/ u - <goals>
! ]1 a& C/ q/ l" N, E( j. |5 c5 i# w - <param name="goalCount">30</param>
# z) ?7 n7 q6 ]$ V0 I# P- o - <param name="goalString">Monsters on the Windy Hill</param>$ t0 R- s+ Y# r- J1 l0 q5 R% o
- </goals>' r3 s z& E! ^$ A8 V2 M5 \
- </quest>
. j) i$ y; R& W2 [% s/ H! |- Q
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
& ^* z/ w; s1 E& c( o- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.5 |6 e! T: z- b
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
$ H5 x4 t0 H2 m/ V2 h) {
# I& k0 p* d8 V! }4 z) A+ n: |- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.0 Z% I7 Q/ `, Y, E
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
/ n) l* D0 [7 P: q- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест." H# i) e- P8 W1 K% r3 A) g2 m+ [
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
: E6 U7 F' [, E3 }$ A# m5 |- <items> — внутренняя секция с наградами в виде предметов.& v- ?/ G! E! R! r. {
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
2 N) b7 x: k+ p6 y9 \
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.9 G7 R* k5 V, z/ z& T- F, O
2.5. Тег <goals>Этот блок определяет цели квеста:. ?% V, z) t! \$ Y4 e4 {6 S$ r
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
# P5 l1 K/ d& }9 P* I
3. Пример полного квеста' y* l u; n- `3 _" T- S
* h9 s# w- z. f1 `/ R
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:4 c3 C( k& K9 o9 ?- W N
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">% S m7 t4 Q# ?2 ~
- <locations>9 Y% G; B. D% J. U
- <param name="startLocationId">1015</param>5 @* S; W+ n; {3 x1 z1 J7 K
- <param name="endLocationId">1015</param>
* }" g( U7 F3 r1 w6 ~ - <param name="questLocationId">1020</param>
' i' u1 [3 E: @* R$ t* P, K: j - </locations>6 P, v! [5 B2 G: e9 D. Q
- <conditions>- p% l, g0 e( W9 P- G T- K1 S
- <param name="preQuestId">10099</param>9 E3 M5 I( p8 B7 [6 a/ Z1 H* W
- <param name="classIds">1;2;3;4;5</param>
7 I9 A' @1 e/ C" G* z - </conditions>
7 U" B A4 G' J8 C$ ~ - <rewards>! N2 s- R$ {+ J; G2 \6 \
- <items>
( e+ w# a& N; f( c - <item id="57" count="50000" />
. u- B* m/ b, |+ Q) P - </items>
: ~8 h4 h) X8 e5 i - <param name="rewardLevel">50</param>' a4 u( u, U/ Z } c
- <param name="rewardSp">1000</param>: w1 S4 _8 |* i1 b/ h( T. A& _& G$ x" w
- </rewards>5 f. L0 L6 t3 w" `! R+ V
- <goals>
1 l% R5 T1 e, m- C9 U1 { - <param name="goalCount">10</param>
$ p/ f% M- \/ z. _ - <param name="goalString">Demons in the cursed forest</param>
6 P$ a2 K( ?7 v+ k& a- e; b - </goals>
& ^7 T4 B& _2 q' Z% | - </quest>
1 ~! S) M& H( U# V# G4 S
Скопировать код Здесь:/ [: D* f& T' j% {; A
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
' e- r8 N4 }" o) l
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.! {- w2 \& {& s: |. Y- x1 ]
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере. c0 ?2 z2 x# @' m
7 Q4 N3 [0 Z8 b% S
|