Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius& @6 k& D& e4 K4 V
# v9 l- r; Q" c1 U
9 f, G# N9 v( n2 q5 OФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.) j& R( j9 m4 c' L: _7 U
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
7 [6 ~. d; J' e) p& c: I7 m, B% AПример записи квеста в NewQuestData.xml:
$ G9 O) ~$ K( W- d6 n3 t- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">( B! i% ~5 c8 O" {5 s! j: M
- <locations>
/ l1 J" n" r+ L- a - <param name="startLocationId">1015</param>0 y7 Q$ E+ u! N4 A+ W
- <param name="endLocationId">1002</param>/ W1 Y E# ?4 S. {9 a# Z
- <param name="questLocationId">1020</param>
: E+ y: Y1 a& {! B) G - </locations>
" h7 m* M/ I/ j2 c# c& t+ U - <conditions>
- F3 w$ T9 H7 `% S7 D+ Q - <param name="preQuestId">10019</param>0 C2 Z; H7 g3 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>
/ A3 |8 q( V3 y8 ^ - </conditions>
8 E4 t2 ?. \- n7 U) L - <rewards>; X$ y2 n) L6 X# g3 \/ D
- <items>. D7 g3 o# d7 y' t2 E( x
- <item id="57" count="240000" />5 e3 `6 u8 O; N1 k) C) i
- </items>
+ Q. ^9 J& ~) g- e. v! l% F( ^$ ? - <param name="rewardLevel">76</param>
. B& Z5 N# u8 r! { - <param name="rewardSp">84</param>0 s7 J/ _% {: q9 ^
- </rewards>- B7 r! ?+ J" ~9 s2 r4 r3 n
- <goals>1 v9 X0 q* Y$ e5 A2 N' e( h# z
- <param name="goalCount">30</param>7 v3 C( C+ E+ a
- <param name="goalString">Monsters on the Windy Hill</param>$ p$ J/ P$ @7 l/ j3 z- `
- </goals>
; `* M+ w. G, b6 {2 G( F# C - </quest>+ M% O( y8 |: k5 g+ W$ `
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
4 i; J' X5 b' [1 E2 W9 ]. ?* d0 d- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.4 H* r, H( H8 Q. n% Y: h
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:5 F* z1 y9 G4 p9 y7 q; X
. w/ [( f. `3 X) F9 B2 [
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.; j3 Q7 h" ^5 i) J. V# [9 ^5 p" e: K
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
( `! C9 D6 {9 y3 c3 p- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.( h# i, h( S# e% [( `6 P. {
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:& o Z: C: H$ ]( ^4 g
- <items> — внутренняя секция с наградами в виде предметов.+ h. ~ B% q2 q0 a! s* B
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
" Q* \2 r0 l0 O# ^7 O
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
5 v) y3 N7 }* o4 r; | 2.5. Тег <goals>Этот блок определяет цели квеста:9 x7 o. ]; {; ]: J, }- d7 s
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
7 |' O" H1 m9 G1 S3 `
3. Пример полного квеста
6 _- L3 ~! @; D9 z/ A3 g) N, R. p( ?* J- |- k, F7 `
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
* [* w7 a" ]- k' ~3 h9 x, C- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
1 _, |% h1 w- r: O* _* }+ X/ h - <locations>; s4 ~! u; ?* ^5 [
- <param name="startLocationId">1015</param>
# q& K' Y9 i+ K7 e4 E* X% A - <param name="endLocationId">1015</param>
- w9 F" b* p7 b - <param name="questLocationId">1020</param>
6 y4 ^0 H! h- ?7 ~8 D4 S - </locations>
?+ a+ {% K6 q' t - <conditions>
/ f+ R7 w. ?7 E - <param name="preQuestId">10099</param>
. R8 i/ Y- k( N8 P4 P - <param name="classIds">1;2;3;4;5</param>
$ K2 | t4 _ [+ ?6 Q3 ]0 f - </conditions>
; r! i$ L) s; ~* G1 z - <rewards>8 X' f7 s1 _/ `8 d5 E
- <items>
2 |& t: q/ m; ^ m - <item id="57" count="50000" />
- i. k( v/ [. K5 s6 \ - </items>+ V6 I+ H& P: p/ a
- <param name="rewardLevel">50</param>
2 V) |- V+ L+ A - <param name="rewardSp">1000</param>
; g9 R, V" `5 _+ h- t4 d& j - </rewards>; [6 h7 x% ?- M" ~+ I
- <goals>( Z/ [* h! N+ k9 |- H
- <param name="goalCount">10</param>. {$ w% S: N# D) ~0 o3 P
- <param name="goalString">Demons in the cursed forest</param> l- s6 r# z) b6 x( {% U
- </goals>* G, W& _! u8 q: B; q, H
- </quest>0 u; K9 k6 V+ n/ N
Скопировать код Здесь:
! ~) y1 z& g5 E1 L" T- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.# S" Y& b2 s& a, i: U
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.7 ^( g% G+ Z9 T, e2 `1 c2 |9 I: X' P
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
( g0 Y/ R8 ]$ H- q3 `: F1 e) a7 Y( z8 q% Z+ `
|