Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
% M% m6 M* w7 x4 \7 L8 R) A" [& z/ r) N: V" s3 r q
, y" I, e4 P) l( \Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.& m1 v' z4 E4 r4 \6 s( x
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
: i) ~3 w( k h7 }% y9 m I% Q. t0 eПример записи квеста в NewQuestData.xml:. N! c5 O) r0 s2 e
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
3 n) E; c. c) m - <locations>) b' ^0 J% F8 W- b$ w
- <param name="startLocationId">1015</param>
$ w+ d' l6 c, H - <param name="endLocationId">1002</param>- {( _7 \% F9 a6 Q" Z( i' V
- <param name="questLocationId">1020</param>
* ]( X' i+ B( W+ y - </locations>
( S( v K+ b6 D - <conditions>: b, u0 ~# `) A# B
- <param name="preQuestId">10019</param>
5 }8 n$ `$ z$ i0 a2 g! {& Z - <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>
# ~1 u' Y# p7 f0 }+ U+ M - </conditions>. [; S1 {8 f( x9 c, u2 L1 s2 ]5 w
- <rewards># Y7 C' K* f& v0 g7 y
- <items>
+ b. K$ N# Q T0 q7 V - <item id="57" count="240000" />
& K% l* a$ n/ V1 E - </items>
/ [0 Z; J L+ D2 K - <param name="rewardLevel">76</param>
* i7 @' w' j ]! p9 l: H" v6 [/ a - <param name="rewardSp">84</param>+ U) ~5 l C/ ?6 s r$ Q
- </rewards>. T% q$ r9 R) e! r) w* b2 B2 l; [
- <goals>+ M, Z2 b9 b, z
- <param name="goalCount">30</param>
6 y2 X1 S |& |9 D" w - <param name="goalString">Monsters on the Windy Hill</param>. o% F, q5 H6 D
- </goals>2 p8 |/ P3 R! M
- </quest>
. v1 q, H7 {' ^8 l' c7 l
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
9 `$ Q# L; v/ w- T" o7 d- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.* d# h& c5 R: C' L% t
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
0 Z; q! Q/ x6 Z6 Q- }
F: m& N9 V6 M- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.2 E6 r. Y0 o% j. N9 Z
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:1 b% z' }: K+ J% ]- M
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.; U2 w' G$ ~( b4 ?
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
! V8 y. H: g& q7 s- <items> — внутренняя секция с наградами в виде предметов. L! F) s3 k$ O8 `2 M# f' D3 S
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.9 n" f4 |: d+ Q: B# Q- i* @
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.- U! y- `% l( u" T3 U: b& L4 g
2.5. Тег <goals>Этот блок определяет цели квеста:
: h; K/ F" L# s- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
: X' t8 f" L! y+ D6 S$ R
3. Пример полного квеста
" w4 O/ c% F# P9 m
* J% \5 C. j: G8 V2 F/ O+ I# t9 AПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:1 ?0 R4 d3 B C: k
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
2 \* K. S& v( A3 @4 p( u1 m - <locations>% B0 B" o- K/ @7 V a+ }$ |
- <param name="startLocationId">1015</param>; w( C5 t) x) ~5 Z* q6 H- j
- <param name="endLocationId">1015</param>
- `/ t3 O. `8 l+ I8 E5 g$ G8 D - <param name="questLocationId">1020</param>
1 u% T: [0 ~2 Z% L0 J - </locations>
5 p5 @# \1 j9 C! K/ k - <conditions>7 S' a8 u; ~2 ]2 f. _
- <param name="preQuestId">10099</param>
9 q1 m. C# {. w- d/ I Z - <param name="classIds">1;2;3;4;5</param>
0 n. }$ r! n$ A8 \ - </conditions>
( l; p6 T; n2 @5 u8 a% e$ {2 j - <rewards>
( X& O j# ~1 O+ D$ B5 z - <items>
* P3 c4 r$ ?% A' } I - <item id="57" count="50000" />8 y) \- w; T+ K% _4 T2 V
- </items>9 A3 T; j4 Q7 n. Q4 X; }& I
- <param name="rewardLevel">50</param>
- X) U7 _. Z g9 E - <param name="rewardSp">1000</param>0 o6 N: g+ B0 P; T% B
- </rewards>
% m& x2 k; k5 M) X6 A( Y6 I" T - <goals>
% D! k+ ?% S" `& x - <param name="goalCount">10</param>
! d0 C& d) i8 m( q4 V) Z - <param name="goalString">Demons in the cursed forest</param>
8 c' @6 v. ^1 n+ U* L - </goals>
! C. B3 b' ^' T" W" u K$ K1 K - </quest>% c9 o2 c s, A% q0 C
Скопировать код Здесь:
& _. B- Y; q1 s6 |4 L6 i- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
2 e% x; z4 x9 |; q5 h
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.+ e+ @- H' z4 X% l3 k, b6 R- A
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
4 H2 ^& I- \4 o! j) i( N M
# L, Y) a, P+ z g |