Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
- C. }) f5 @+ T4 g3 S7 [! ~: [9 @- n! ^! H+ R
1 L) v2 s8 i5 _. XФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
, h7 b4 B! Z# Q$ \ 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
/ V: n6 [, ^9 T! V% i2 B$ EПример записи квеста в NewQuestData.xml:
O( B% C' ^, L" H5 N8 W; `- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
) N0 T4 I9 G9 ~4 r8 j - <locations>
9 a4 X8 S3 `$ ^0 P - <param name="startLocationId">1015</param>
, k- E: g8 G$ \) X! `7 n - <param name="endLocationId">1002</param>& T6 E! l- t; x3 O2 D* {# u) L
- <param name="questLocationId">1020</param>
, {7 n5 n7 g! q& \' W8 W - </locations>
8 m- O5 \4 G- X* a - <conditions>
; \: ~5 _9 s, n" Y+ p - <param name="preQuestId">10019</param>) |2 L( w% Q4 K- \5 @8 w
- <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>; r. x3 ~. P0 t& n: @% I
- </conditions>
) F: ? r) r7 w2 ~8 C - <rewards>% p" q* L& Z% Y+ F# A' T* O
- <items>
/ K$ w' p$ h! W& X/ X - <item id="57" count="240000" />* J7 Y6 f! Y# ^ b# t& P/ I
- </items>
+ X5 q) a( i9 ?- W' \8 E# o - <param name="rewardLevel">76</param>3 U# z' H3 L4 V$ F! ^' {
- <param name="rewardSp">84</param>
" `9 i3 l* j; Q# A: J3 b& |8 i - </rewards>
. b6 N7 a) e: |: C3 v - <goals>
$ L. z9 h2 _2 b& N7 w - <param name="goalCount">30</param>4 O( U8 I% ~% [. h3 a
- <param name="goalString">Monsters on the Windy Hill</param>
! {: G) [+ g/ c0 Q( V4 [ - </goals>& A, q5 w' n- M; C5 @' Y; P
- </quest>) i0 _% z" [# N3 C
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:! w) F* F& S6 @2 G Z0 n$ k
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.2 w- p; l: X: `2 H0 R
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
: j$ z% a3 }& @3 Z; _0 o3 G. X! I/ R v9 e9 f
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
& X5 a( w2 K8 C2 a 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
/ Q$ \, x4 E0 P5 }- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.) ~, o% R0 y0 H6 U$ o% u& L
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
/ {- w$ i0 V* y4 h$ \- <items> — внутренняя секция с наградами в виде предметов.
4 _6 r/ W+ |4 B' y" U: N6 P+ g- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.2 c8 q* k8 X% G4 A+ b3 |
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.+ C. `" }: ~7 D1 \+ H# [3 B
2.5. Тег <goals>Этот блок определяет цели квеста:
8 V/ u% E/ g4 \9 h& `0 Y/ V- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
0 @, l3 C2 v/ G. @
3. Пример полного квеста
: m2 @' X u4 m6 K) G/ {4 @$ ], I* _* }7 a' V. R; e+ e
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:7 Z. s0 N: X) I4 E
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">" G% A/ F& R/ V; h
- <locations> b) ^ u3 P' g |% _# H: _
- <param name="startLocationId">1015</param>
' U6 f4 u& ?/ s3 `7 s+ ~6 m - <param name="endLocationId">1015</param>
) Z7 p' ]+ u; W( n0 b, G1 Y - <param name="questLocationId">1020</param>6 Y! d& |6 }: j9 E `+ c8 P5 b/ [
- </locations>6 w& Z* ]& M+ t$ K! x2 ?9 e
- <conditions>3 c! y- T' m' q
- <param name="preQuestId">10099</param>6 @0 c8 C: w' |2 K9 L; U
- <param name="classIds">1;2;3;4;5</param>8 k( @. O& K" B* |! X& I
- </conditions>. C9 N) W+ i3 r; P0 J& ^
- <rewards>7 E) A6 q. H4 @
- <items>) Y& H" U% \2 W9 r R9 a
- <item id="57" count="50000" />3 b |; Y, s7 c7 O9 l. x
- </items>
& h+ ~) B; p5 |8 G - <param name="rewardLevel">50</param>9 |+ [% e# I- ^9 z! B7 q; T
- <param name="rewardSp">1000</param>
% |! n# H$ j5 L6 {. r - </rewards>
& o: A5 @4 V, R% Y - <goals>
1 }; [0 M9 l# _' V: P1 [ - <param name="goalCount">10</param>; d+ k& D; ^1 ]" C6 B1 X
- <param name="goalString">Demons in the cursed forest</param>
- e, p- z. `" h$ n) m/ n - </goals>
! V8 n' P# z9 F$ t- Q* a - </quest>& X. H7 r5 w% A; M7 ]
Скопировать код Здесь:( S y i6 D8 t( i8 ^% ^
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.' d: T" c- g& ]
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
+ S" _) O# G$ V/ F) S1 p- F. m+ N
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.% E# Y5 C" ]/ g' H& c: W
0 f5 s% @* S3 g+ ~0 m0 U |