Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius" [; K+ L1 b$ C- j. U
6 f/ L) E- o+ s D* j' z& D
7 ?0 | i- J# {
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
5 |7 z$ ^; X* `) ~ 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
, h. ^! j- F+ h( K0 {0 K4 QПример записи квеста в NewQuestData.xml:5 N( R# l0 G/ Q8 c
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
5 W" _- N) d6 d/ w+ e - <locations>. o. J; s# R! z5 }% _
- <param name="startLocationId">1015</param>
2 C; ^ o' O' b: L! z. k3 l - <param name="endLocationId">1002</param>- _1 y% f* u4 N. {
- <param name="questLocationId">1020</param>3 Q5 Z8 D& `: T
- </locations>
, Y5 S9 Y: y6 [7 b. N - <conditions>
4 o9 H7 n, `0 m: e: c3 S" F; l - <param name="preQuestId">10019</param>
* |: ~; m' |4 y! F" f- _/ }% g - <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>
3 @5 W3 t8 H# } - </conditions>
& J4 Q4 A1 Z+ _$ M; K: X0 p) c/ O* Y - <rewards>/ v( N, M$ x6 z H" A2 L+ z; v3 Z
- <items>+ Q+ @, Y7 ?/ j) K! |- W5 U, ~
- <item id="57" count="240000" />, ^9 A- w+ Y/ w! D) r- l
- </items>
F! H9 w; W& x; J - <param name="rewardLevel">76</param>
. T3 M; e' x6 L- |& s8 x& w - <param name="rewardSp">84</param>
; z0 J O8 r4 t4 R/ u - </rewards>
; N" z, p& g- m3 \. z3 k - <goals>
% M$ Y: i0 A! W/ @! T - <param name="goalCount">30</param>
* t# _! l' w7 y) @9 P( f - <param name="goalString">Monsters on the Windy Hill</param>
: ^5 b# Y; C/ i; E- w! q2 o - </goals>& {4 H0 |2 l( M3 i1 s- E
- </quest>
0 U, D$ R Q5 g! f. b2 v" [
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:: I( I0 U* h+ t j* b3 H0 t
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания. A, L7 b4 q, s
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
# o) K# Y4 D: Y. M
! S$ J) v! |5 }* _7 w6 B J1 u- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
9 x( J, n% ~( y0 ]0 | 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:2 _3 l4 {# t2 P+ W" r2 [8 U
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
0 {) C) |7 r2 _" B$ z 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:( V/ K' ]- a5 S) t$ _) a3 z! p
- <items> — внутренняя секция с наградами в виде предметов.
0 O/ S6 f4 p, `5 A4 t: T- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.' V4 c; y/ @0 p" K4 I
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.) ^8 i" T3 ^- p
2.5. Тег <goals>Этот блок определяет цели квеста:
% A5 ^0 H8 U/ G$ A! b, A5 S- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).# W4 y; ] I( T; n W
3. Пример полного квеста$ t2 l( R1 k& R; k
4 @1 ]$ f% i( X7 T
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:/ C& [* S# i* v2 P1 v; u: j
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">5 M' ^, W0 e$ \; h4 u6 {. v
- <locations>
" y( ]6 u9 J. l% @+ a9 [ - <param name="startLocationId">1015</param>
( B8 s2 n: I2 Z: d Z# m+ p+ o9 F - <param name="endLocationId">1015</param>! b. _- Y# W* M5 {! A
- <param name="questLocationId">1020</param>
+ h8 C7 S% i$ |# w8 k2 w( y - </locations>
. t. K( t% y. S2 E - <conditions>" w4 _1 l7 ~8 `' O7 H
- <param name="preQuestId">10099</param>! w' b( O& P+ L [* f* Z
- <param name="classIds">1;2;3;4;5</param>' Q2 a4 |3 i7 z% D6 E
- </conditions>
8 q+ ]( u3 F$ ?$ |0 [ - <rewards>8 u$ q) n2 C2 M3 [- N+ M6 u' m
- <items>8 I m4 Q$ C# }0 ]2 }7 _5 m% A! m
- <item id="57" count="50000" />
7 H. l' _9 c5 X. [1 H6 |) F1 K - </items>
$ m' s" M6 @9 u. a& m5 u3 l1 ]; q' X - <param name="rewardLevel">50</param>
$ g+ i' ^0 u2 j; I1 z% v2 L1 S) F - <param name="rewardSp">1000</param>. U9 O# k* T: X
- </rewards>( J1 `! p" C# z0 f
- <goals>
$ R5 ~: ], p/ B1 S o - <param name="goalCount">10</param>
6 V! U: H1 [& P - <param name="goalString">Demons in the cursed forest</param>
( j& b( B$ Z7 j# X - </goals>6 [! ? R: g3 n& p9 g: w! K
- </quest>; l- ^+ w7 {9 T6 T
Скопировать код Здесь:# I0 y6 R0 V# ]+ X* X* l
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP./ T; U! Q, ^6 C3 R2 a! Q/ J
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
! q' @7 Z( r$ M
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.& s) |7 L& E/ p
* J% g A/ M) z! P
|