Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
8 {: J: c9 R' b! {* q4 [0 q* X' g) W# ]8 A2 \. H1 i
) f. e/ i5 H3 `9 X5 H8 A& a
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.* u. A; H6 y6 }1 n
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.- s# `2 X4 j6 t$ S5 `
Пример записи квеста в NewQuestData.xml:) m- e. `& S1 {8 g" R
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">0 U: k, U0 v! h4 s S
- <locations>. g6 j! Y/ O9 Y* G, [
- <param name="startLocationId">1015</param>
4 G+ v3 A1 W4 @, \$ i/ Y! P - <param name="endLocationId">1002</param>1 {/ O$ E% _/ t" U8 w
- <param name="questLocationId">1020</param>2 t4 W6 F* T7 I5 U: K8 d7 [
- </locations>/ M) y5 U* [0 P7 c N* @
- <conditions>
* _' E, Z# ^1 h9 n7 |# T - <param name="preQuestId">10019</param>) Y% J- _" N( f$ W2 v2 b
- <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>
7 v- o' i" ]8 c3 U) `5 C2 p - </conditions>% x+ R( W9 {( F$ L5 E" R& p
- <rewards>
% H6 s. P& n. I, l - <items>
' n+ m; Q9 V$ v# T" r! m, f - <item id="57" count="240000" />: F" P- y7 V, d2 ~8 }8 ?
- </items>
1 }; I, y. H2 o; ~' k - <param name="rewardLevel">76</param>
6 ` s, e, ?6 V4 o6 o/ n - <param name="rewardSp">84</param>
& F9 a& j7 |0 N. N4 s) X - </rewards>
& S! |/ \. ^' t: c5 h - <goals>4 u- y! x$ [2 f9 K5 D& I+ q
- <param name="goalCount">30</param>
$ j$ b" D% ?5 @: q) R9 e, N - <param name="goalString">Monsters on the Windy Hill</param>) H& x! S6 I- A
- </goals>
$ T; X0 j, w* y6 `; x - </quest>3 X7 E& }* V/ X7 q, W: w; s# B
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:7 ?( S& y/ m% v8 W! ^
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.0 k+ Q0 i f: {
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
* h& b5 C% l4 C0 H
! S7 ~$ Z: m* B% ?1 K4 u4 z- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.# {9 n; X# e) `! p" \; Q
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:1 J* r& W3 ^4 h5 u2 u
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест. \1 ~+ Q9 i, u! t. x/ z' h
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:2 o- V1 D* w" D9 m3 ]
- <items> — внутренняя секция с наградами в виде предметов.8 |) i( E% f8 B4 j' f
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.* B8 Q6 I2 s: g. |
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
% ~) W& g7 x3 e1 j" G 2.5. Тег <goals>Этот блок определяет цели квеста:# E3 I2 c0 J( h: A$ @! f6 \' Q
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
! Q$ L& d' k4 e8 `
3. Пример полного квеста8 A+ v: w# j0 ]+ h- ? j6 l- {* r% Y) T
}5 J- Z: `3 s, B: v
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:0 u% z' C; J& I0 j7 F
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">2 l4 ?+ |; l& Y+ ?/ J
- <locations>
2 o1 Z/ @1 x1 N9 ` - <param name="startLocationId">1015</param>
@% Y( j4 k; c! G - <param name="endLocationId">1015</param>
* m/ j) g+ w1 I- G9 r& z - <param name="questLocationId">1020</param>/ o1 P$ [! t0 I, {/ w% P6 O
- </locations>
" F0 I) q2 M* S" A) p, T/ _ - <conditions>8 T% J" H& e2 N
- <param name="preQuestId">10099</param>7 j N0 v. X6 \& ]+ E( x9 f I/ L
- <param name="classIds">1;2;3;4;5</param>
) L; B. R/ Y4 y - </conditions>2 C& W' }0 L) v" A5 r o
- <rewards>
7 U' H/ i$ V1 K0 i - <items>6 H, d8 H: ~. e5 v& A. O
- <item id="57" count="50000" />/ c. Q6 g6 F& M- v, S
- </items>
# v w a4 w8 N7 W* w - <param name="rewardLevel">50</param>
0 k/ O1 ?2 w1 I+ ]3 s3 T# j - <param name="rewardSp">1000</param>
5 ]6 g$ _7 |" a - </rewards>% E k/ D/ ?; p; a4 D3 c
- <goals>
+ ?2 U& U/ B- ~% b! \9 y1 W - <param name="goalCount">10</param>+ ?. |. K# b0 d- u. U: U$ I: N/ ~
- <param name="goalString">Demons in the cursed forest</param>
/ W$ i0 Q/ x! C) X( c, X - </goals>
% U4 `# C+ @; Y8 j6 ` - </quest>
4 O* Q( f4 N1 I' g7 r! C$ _% Y
Скопировать код Здесь:3 q1 b, V: C) Z! Q3 x& c
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.: [/ T9 l! n% c9 X0 m& g
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
; c, m$ p! |; W( s6 W. J! F% }
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.. j8 e+ \' @3 D3 O2 I& l
}& o% G) H9 ?( h
|