Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
; d9 o& ]' A3 ]: N! T5 G l9 B2 T
$ H! J$ p+ @- Z' d9 j% b. R( n! x) Z: x- r% S8 G
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
$ O' X. i e/ v# x; D 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
5 a0 Y- ]. H! NПример записи квеста в NewQuestData.xml: s: d* ]6 A7 v6 x
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">1 K" Q/ \) _0 W: Y% q
- <locations>
* @( N O4 S; S1 H - <param name="startLocationId">1015</param>
2 u8 U/ c; x; p* A/ a - <param name="endLocationId">1002</param>+ e- X7 ^8 u, d0 t
- <param name="questLocationId">1020</param>5 g& s1 e; Y C2 u% p
- </locations>: u" g$ i. u* E2 A7 _5 ?9 |# E* K
- <conditions>
3 \% _5 b. b2 z6 M - <param name="preQuestId">10019</param>8 r& i% L- l" |+ n) I8 Y' V* y
- <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 s. h" v9 v. R- v: ~: H! I: y/ G - </conditions>
. Z0 E6 J+ u' W( U) Z/ [+ n - <rewards>
! T6 m' w4 h1 l- f# Q: X - <items>
+ z6 D3 l8 l! m* M" S - <item id="57" count="240000" />
! C- n' l) P8 @, H( H' l( w6 s: C# G. x- f - </items>% P/ W) f! ^. e7 f( ^* y+ w
- <param name="rewardLevel">76</param>
6 y9 N7 y5 Y: n/ v; ]3 ?/ Z - <param name="rewardSp">84</param>
+ B; K+ }' c& @: S) b' u - </rewards>
- g+ y: g3 ^4 _5 ] R0 S4 D - <goals>
% j* {9 U/ I/ H' {9 A - <param name="goalCount">30</param>
0 y! Z1 V9 n7 u( K - <param name="goalString">Monsters on the Windy Hill</param>
# m- Y- A. Q/ k; K, a - </goals>' c1 W5 m; \( G; J0 H
- </quest>
4 g6 s; ]6 _, |
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
+ g, ^, H1 e' s7 \) S- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
0 s& c5 a0 Z. ^0 A 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:7 ^; N$ O3 t, n1 c$ o. J7 s2 l) V
6 o+ ?* z# u3 z; U: g$ |* ~% S+ h
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
' X. o" ~: H9 J! }9 J( p 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:$ z A$ I( n7 e" y( s7 y+ g
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
0 v m2 x2 p# J' [ 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
% D# |" Y) X- ^0 ]5 B" ~- <items> — внутренняя секция с наградами в виде предметов.
! N! w* |6 f0 k" C$ `- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.% d+ Y8 Y Q+ P0 Z7 h; Y
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.# s! J5 M5 v+ I9 ?$ N8 `
2.5. Тег <goals>Этот блок определяет цели квеста:
+ q2 V% t! @$ M/ \( \( x) e- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).! K4 n5 F/ A' Z# Z
3. Пример полного квеста
]! a7 u/ ~6 ]8 T8 [; p# @9 Z4 @4 V& d) O/ o( j. O8 l6 f: n
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
, T l$ p' b! y9 T- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">" C0 y* Z0 ?& J0 B
- <locations>
) O w7 u4 C# M0 [( n - <param name="startLocationId">1015</param>
; ]1 m$ K2 p8 s' Y. ] - <param name="endLocationId">1015</param>
8 {( _6 U6 {+ B5 o$ Y7 t+ w - <param name="questLocationId">1020</param>8 Q- P z9 ~+ ~1 Z
- </locations>
8 M. L. i, R, o, o# ]5 \! A3 g! f/ g7 B - <conditions>
6 ~5 d- Z) W5 `; O6 i, V4 h" l% _ - <param name="preQuestId">10099</param>
2 o; ?' S3 n* @ - <param name="classIds">1;2;3;4;5</param>
. w" B ?$ @2 n* m6 O5 v - </conditions>
, G6 F7 l5 B) Z7 U! Y4 t4 q - <rewards>5 M% t6 i) n; t' `9 y6 W3 n& R7 r. a
- <items>
% P/ S |+ W$ G$ g' `/ E - <item id="57" count="50000" />7 G) P8 v) S0 D0 S8 {4 [
- </items>
* W R- l/ A: A: I% o. u% a& [3 U - <param name="rewardLevel">50</param>0 N" q0 ]$ E) B. p% S1 E
- <param name="rewardSp">1000</param>+ p/ J% r/ T: [* R& e! _
- </rewards>
" @& H* V# n6 r9 o: K - <goals>$ l5 F; I% u5 _" t6 @; x
- <param name="goalCount">10</param>
) R* c' E2 c" o- D5 I - <param name="goalString">Demons in the cursed forest</param>* v4 C( W1 x2 _: I* M
- </goals>; b# p( }! D* z E
- </quest>
* t3 ^/ V, j% ^2 g) K/ O
Скопировать код Здесь:0 q9 M5 o, e0 B" N3 Z$ ]% Q
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
3 J% Z8 z7 ?' _8 x0 N' k# e/ E# b
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно., y0 F R. b/ i9 p' F) o
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.0 y7 d; i( V0 m3 U& U
* ^& K8 w* y3 M
|