Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
. D) P: d. @2 m/ j u& u6 D! [3 `5 v2 q( K6 ^! i
6 W$ \! g U) N3 n1 Z: @" gФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.8 D Y* h2 E2 d; {
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.* L+ X: B6 T4 M/ Z
Пример записи квеста в NewQuestData.xml:
" L9 X# E7 t# b9 Y% K- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
1 Y- \2 V) B9 i* C% G - <locations>! N) V% M3 q. k% G/ w; c3 n
- <param name="startLocationId">1015</param>9 }) L" s* h: Z0 [9 s0 U: n8 i; V, \
- <param name="endLocationId">1002</param>
7 i( E8 S. y) W* i4 n/ W# j2 X* F2 j+ | - <param name="questLocationId">1020</param>1 B) }; x8 s, h& I, L6 i% Q
- </locations>- c+ F% q1 |/ n {& W
- <conditions>% I: `4 v# J# i
- <param name="preQuestId">10019</param>+ G }2 V7 j' x$ H
- <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>
6 @. w- V- \5 H% ^% q; x - </conditions>, \6 i4 d7 ?% s
- <rewards>. w3 A7 B, B O4 w, K7 [5 j/ @' y
- <items>
+ s6 G" J R% [3 Z4 t( K; k - <item id="57" count="240000" />9 y9 a$ A, w, @
- </items>3 j6 n J8 `4 B- B4 k% c, f
- <param name="rewardLevel">76</param>
' z! U- `/ e6 G* G- T - <param name="rewardSp">84</param>6 Z5 o, z z0 Z
- </rewards>0 T5 M2 I& {1 v0 n% q) q* c
- <goals>. r% x5 {% @3 Y S: h( \! f3 D) A% C
- <param name="goalCount">30</param>
" W0 [/ G9 O( H* A p G! D - <param name="goalString">Monsters on the Windy Hill</param># M/ H: F& P5 @1 t* y! V% b
- </goals>" f8 V# f! B' Y$ M6 L
- </quest>0 L* K* G* V1 v) v
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
' h+ }: X& y/ g" h- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
/ s8 \+ g. ^& i: j* q6 ^ 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
* K2 J3 K: O# k# h$ v' x
9 c' `% V5 |% }- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
/ O+ E8 k/ L7 j) t) x 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
: t7 o: n$ B8 F5 a- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.# N3 e3 [6 u# h5 s6 M* R
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
; J# v+ K T- {, b* ]4 l. S- <items> — внутренняя секция с наградами в виде предметов.
& o. j e5 d C. Q, ~! a; T, C9 w- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.; X, D( B; R [6 S
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.% B) J8 t7 s- B& L. D9 [& l. x3 n
2.5. Тег <goals>Этот блок определяет цели квеста:1 U3 b* L8 q- H6 ?
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории)." A g# g* A3 [% Y
3. Пример полного квеста+ E6 i* f3 r8 U- p: h) a6 n# i
. K0 j m3 |* K: P' m& J% h: A
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
. U- N# C4 X9 h" J* ~: ^2 W& D- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
; e0 q. q A& q6 d$ n% V* { - <locations>; J* P7 }2 _$ b8 D. k/ y6 A
- <param name="startLocationId">1015</param>
. L% x3 b0 ]# a5 k - <param name="endLocationId">1015</param>
) J# ^* @ {& {' w - <param name="questLocationId">1020</param>( S8 s7 r8 C8 ^* u
- </locations>: q4 ]# I/ l) ?- |: ?5 O3 S6 X
- <conditions>! L5 a3 Y1 ?9 d$ R# M5 \* }
- <param name="preQuestId">10099</param>: q' N* N! l- A. ?; e' ]
- <param name="classIds">1;2;3;4;5</param>
7 t- I k* v+ i1 U5 I0 I - </conditions>
/ K+ B, `- x) ^4 l d2 ^. c& M - <rewards>% _" j! ^2 ?- M; J! @
- <items>
9 U4 _0 O) X& v# @2 ]; u5 { - <item id="57" count="50000" />& B: x4 J' Z$ N3 o
- </items>
5 T: v3 \" V4 F2 l& H - <param name="rewardLevel">50</param>$ |* V& d! }0 @! X. g
- <param name="rewardSp">1000</param>
* q& [ Y# C9 T! K, H" J) i6 } - </rewards>5 g5 I! d; g# \1 [
- <goals>7 W" Y+ _9 h0 E% w
- <param name="goalCount">10</param>
$ ~2 }2 J8 r" ?' u7 J - <param name="goalString">Demons in the cursed forest</param>
0 F" f6 M8 P5 e - </goals>( Z7 R* m+ @/ M
- </quest>& h- l ^- Y: v
Скопировать код Здесь:( W9 ^6 ^1 n: E' N* \
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.5 c: P9 T2 C9 G- k, X/ o
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.! J' R" J1 O3 f# L& o! D7 j% D: w
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
; B* K' d" r- U5 E7 R- j
, `( v2 t8 _" m |