Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
Q" ^3 g" i( `/ i1 p. y& \& r
& o0 V6 L0 l+ L9 u
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
2 P! |. |) V4 z2 r 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере./ Q7 P9 V9 e G/ f# A( b
Пример записи квеста в NewQuestData.xml:
9 u, G, O1 g& |) N- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">2 E- o. L' T$ ?* V$ X3 m/ z5 m* c5 n
- <locations>8 P0 a" y6 ^4 M( S9 s
- <param name="startLocationId">1015</param>
1 K& c7 y" {; L6 l) c, t7 p, W7 i) M - <param name="endLocationId">1002</param>
+ g6 D" [7 \! z4 ]. L - <param name="questLocationId">1020</param>' Q2 R9 E! i" V9 H
- </locations>
& P- F, H; c X. L/ B1 F9 ^! E - <conditions>% F! w8 S/ v" R7 }
- <param name="preQuestId">10019</param>8 u3 ^ [8 d8 a. [4 N$ y
- <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>
. |; u. Q5 M2 W' s4 M% g( v2 [' K2 w - </conditions>
" i8 G T- y. K& d% U1 o - <rewards>
8 A2 L" j3 b. O: e - <items>
5 E$ h) w- [1 M# p4 n8 x5 j - <item id="57" count="240000" />5 P- H1 N9 Q6 c. i, J* A6 E
- </items>
% l* s' }" J2 h+ `) t - <param name="rewardLevel">76</param>* {$ {7 L7 Q' h, d" O9 A) r
- <param name="rewardSp">84</param>
" [! T3 u) |( I5 v7 y3 ` - </rewards>7 b& g0 ]$ a% o* H A* D5 v1 l" Y
- <goals>
* J% W) X) g, s8 s* h6 c0 Z6 |6 g/ f - <param name="goalCount">30</param>
0 b A, ?3 o+ v0 n6 t' @% ^' Z - <param name="goalString">Monsters on the Windy Hill</param>4 A- F) X- P z+ D
- </goals>5 ^+ j( W0 m, k4 B
- </quest>
* }) ~# q; m0 j4 J% _' p: m9 k1 B0 @
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
% _, C4 n% n- ^: [5 a ?: R- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
3 B' E: i& R7 A2 R" f5 W# B" l 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:; S7 J2 l+ r# G% f* K$ C
! h7 b* n. \% g \- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
, j" i0 [7 E% j6 Z, I# e 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
- |& B5 T1 d' S" x6 _% Z: H) m- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
2 d/ P" M) I7 x; ^' V 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:5 ~7 ?% K$ e% F# j6 R ]# c8 s" k; E
- <items> — внутренняя секция с наградами в виде предметов.( b, J: l/ ^* x% Z, V
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
4 N7 H& G; w) m4 v2 M- A; Q
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
- Z: h) q6 s" y- I2 O: F8 w 2.5. Тег <goals>Этот блок определяет цели квеста:% |# l2 b$ ~! e! j/ \
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).* e4 y8 x2 o) G. q/ H
3. Пример полного квеста
# X' d5 b5 g) g7 M1 j
0 E! V! N3 Y% ~. j) HПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
$ W/ C# ~; i& x, o- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
3 i6 [/ Z5 {' n6 f; M' Z" _ - <locations>$ m+ X2 L! i7 b6 C
- <param name="startLocationId">1015</param>
, `$ f8 L2 f% h - <param name="endLocationId">1015</param>
5 b3 e. b3 O0 c* g! s, Q, @ - <param name="questLocationId">1020</param>+ I7 `/ g1 o# G H
- </locations>
# p" ?3 R3 p( U A2 |/ K& |+ D - <conditions>3 r2 P4 G4 p0 G2 O3 r2 q$ e- h
- <param name="preQuestId">10099</param>
- {' x: t' X0 z% V - <param name="classIds">1;2;3;4;5</param>
: H, T5 L* T% i) v8 m - </conditions>+ U5 s6 i$ l1 U8 v
- <rewards>
3 H& D4 @* F. a; C# U6 u - <items>
' o, D, B4 ^% g8 A/ e" K - <item id="57" count="50000" />
% P* U4 ^$ n$ X/ j" j: Z0 b - </items>
9 d" Q T+ {4 ?9 F2 j* x - <param name="rewardLevel">50</param>
$ b1 X9 C5 X# i. S8 h0 A0 g - <param name="rewardSp">1000</param>; n$ M" O1 ~; d; H( [2 p! Y3 H
- </rewards>
7 m% ~* w; R' N. u9 u* z- ~ - <goals>6 |! o' n4 h7 b5 F9 V: L. B9 a% i# `& w
- <param name="goalCount">10</param>+ }9 ]2 ^3 u$ F# h" C' U8 q
- <param name="goalString">Demons in the cursed forest</param>
& w8 n2 ?+ _; i O' W - </goals>
) m0 U* C# a* [7 A$ P - </quest>
7 y4 V, e+ e% y
Скопировать код Здесь:# V5 ]: \* V' e
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
6 c, M+ I/ s$ ?+ P7 @) u: |4 @1 i
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.4 _8 t9 {" q" K- b5 P
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.; X: f4 n$ f, @
7 _6 ^9 g, z$ C3 ~# b1 O
|