Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
5 g% d+ g8 p) ~. `9 _ n; `" S* u! F# T2 g& O7 B) N
" s% r9 }4 x& E& c: b1 @4 w. h
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.1 N$ _7 F* ~7 p( f. m* c( p
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.. o! \! n7 S6 h
Пример записи квеста в NewQuestData.xml:
2 S. U* c# c" C) l8 ?0 W- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
* i, W8 L0 p0 Y9 w/ y - <locations>
2 i+ N3 R( `3 C$ q$ P7 a. B, z9 g - <param name="startLocationId">1015</param>
* Y! {: G7 a- X7 K) Y$ G - <param name="endLocationId">1002</param>
8 O' }4 d6 G1 C1 t - <param name="questLocationId">1020</param>8 v" d! X# g! P) W
- </locations>
5 _, x. L5 I: O# L - <conditions>
~5 P; P9 }/ z, ]' S - <param name="preQuestId">10019</param>7 K9 V% w) }4 {
- <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>
: W4 j! v( j' _2 D% z# p - </conditions>7 D' v4 G# `7 f8 `. D
- <rewards>
4 u6 v6 g" O2 |2 S - <items>/ l' G* b6 x3 {, G: K5 N* n
- <item id="57" count="240000" />
7 S9 T! B, q% y4 H( _* l# Q - </items>* O" X' W3 d/ {1 M0 o4 z$ x1 b
- <param name="rewardLevel">76</param>, c# b: }, [- O/ q0 n
- <param name="rewardSp">84</param>
+ B, _/ n2 {, H/ o1 O - </rewards>
' n$ I6 H+ X9 ?( ?( l: g - <goals>: ~: O' o) C6 W5 G0 w7 F0 K4 ^2 R
- <param name="goalCount">30</param># Y# z& ^0 L4 L( H
- <param name="goalString">Monsters on the Windy Hill</param>
, m5 O8 A2 G4 j; S* b - </goals>1 T. [" U4 y7 r4 E5 N* P! G. d
- </quest>$ s. d$ y: y# {( w5 |$ t
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:: H7 _( P, [, I
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
" l8 Z0 ]! P! m3 @& M- @, f# r) o4 O2 Z 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
: z, t3 |- d3 I1 O, ^3 H
" n8 o3 `' U2 y; H- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
4 Z9 y4 C$ C6 z) ]0 y% h/ @5 s 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:9 _2 j0 F% @$ t {; w9 |
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
) G. Q8 j9 [2 E5 `0 L 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
% j+ u9 d) V8 ~6 q) I% ?- <items> — внутренняя секция с наградами в виде предметов.
0 w9 D& {! z% F( ]% M- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.- Q' ?& b( |& T% L
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.; [9 q' V+ l, `. v- M3 e
2.5. Тег <goals>Этот блок определяет цели квеста:% M9 w0 I0 ~/ T' M% ^/ y
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
: I" [- L1 W+ B- S: d& B! Y; @; G( ]6 O! ^
3. Пример полного квеста1 h2 N% E7 n2 }* W3 [) O$ a7 K
6 b4 k! s9 u; j" m& W. y: S
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
5 }* i/ w* B- ]7 \6 I9 _) w- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
% y: V1 t. S* w- e1 W! O4 k8 D - <locations>; k, v3 Z/ \0 q8 A
- <param name="startLocationId">1015</param>* P4 S7 U$ Q! t& E5 F
- <param name="endLocationId">1015</param>% U$ C8 \1 S0 Q4 H; V4 i
- <param name="questLocationId">1020</param>9 d. u! c+ j; h: X- Q5 C9 S3 G
- </locations>6 T& A: B4 n* G! _1 i1 x( z
- <conditions>" y" y5 ?& c/ F z6 ?
- <param name="preQuestId">10099</param>
& K- b4 G8 l# U; x - <param name="classIds">1;2;3;4;5</param>
/ L$ M' e) w' ~( f. K0 } - </conditions>
m, y* s# a; R, ~ - <rewards>
' A3 A* y7 E1 K3 y' D! F/ t - <items>
4 a$ T5 @3 t$ ]% j! J8 t& f - <item id="57" count="50000" />
8 U( }, }% K/ X. t - </items>$ m5 O9 v, v, z3 v2 f9 |7 ^- a
- <param name="rewardLevel">50</param>3 k0 n) Q$ T1 q! E' X+ C* _
- <param name="rewardSp">1000</param>
1 i0 Q/ Q# L' E1 x" d - </rewards>) e6 u' o$ H' b t3 i0 n
- <goals>
6 n! V9 G# E. ]) [0 {8 ] - <param name="goalCount">10</param>
# P) l/ ]4 d& [* T$ \( s - <param name="goalString">Demons in the cursed forest</param>
' f; g: E z* ?7 |2 Q- J; z - </goals>
% t, M* C! {$ J1 A$ v3 F - </quest>! ~3 G9 N3 S6 T4 h# |
Скопировать код Здесь:0 u: p6 a& I! {) g) _& h
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
4 e3 f% ~5 P* T
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
# g2 f8 f" Q0 R/ g* I" Z6 Q* w( N: E+ Z7 \
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.+ G1 C- V. U- G, I% C
8 d/ ?2 d1 m9 | |