Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
( N! j1 Z8 ]# m' k$ V; F4 j
# j3 ?! A. q# c- E* x6 ^2 z. y6 x' I1 x( E' x0 t. p5 L0 |
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
x2 ~5 ]+ x. e' V( p3 [ 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
1 `2 n) {& |, C( ]$ WПример записи квеста в NewQuestData.xml:9 \- ^9 x: x5 z+ E8 n" B8 p G( i9 E
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">' l4 | P* a( f+ J5 L) y
- <locations>
6 r) X: g% ?( S - <param name="startLocationId">1015</param>
9 y" L9 M; c" r j+ X - <param name="endLocationId">1002</param>' H# Y4 D) m! v5 }. x8 i
- <param name="questLocationId">1020</param>1 x9 c/ f4 S8 ` R& z# _/ A7 M3 i
- </locations>
% V# j) `) ?* [% f0 W: p - <conditions>
, ^3 k! ^( h5 W8 {' I& d0 C - <param name="preQuestId">10019</param>
) j$ ]9 B. B9 F4 M; W. ] - <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>- M8 q( y I" N M3 \0 \9 W& A
- </conditions>
' U& k& |1 G) U1 l1 N2 Q# L - <rewards> a0 `# _* t5 S) G; o/ S' M7 J
- <items>
3 v* L7 y5 i. |) {2 | - <item id="57" count="240000" />5 ^/ d. a7 x. ?+ I2 C, X
- </items>
7 H* o; b$ L. T - <param name="rewardLevel">76</param>
7 a! S m% Q, F% r( F% m% h0 L - <param name="rewardSp">84</param>
4 n3 W" ^) N' y. W( D - </rewards>. ~5 c- E# s; V! F% U& d! e @& v
- <goals>
8 s- {. O: A# `6 f- a9 L7 { - <param name="goalCount">30</param>
) {( t+ F" D3 ^" ]$ o' a7 ?5 x/ k. t - <param name="goalString">Monsters on the Windy Hill</param>
' b# b( [) x6 V# h3 h - </goals>
* Q5 j- T5 n$ d N - </quest>
! u2 L6 e e; f$ \# R
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:& D5 |! g- S0 [2 Q
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.) v/ P4 V, y" g) I* Z2 l. @ S
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:. T5 _4 s" j0 p+ W! K5 V7 m; L
3 I0 B- h0 O+ B: T( s/ I
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
F7 |0 a7 J; Y+ g9 @ 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
/ r. C% A8 |- v/ f% b' y- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.& z8 o4 ~0 f( n( l' H$ y5 k. I
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
! l y8 m+ K' {- <items> — внутренняя секция с наградами в виде предметов.
& @, c7 C4 O1 V9 `- s- T- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.6 m, z( ]3 `$ {* a
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.; `$ O4 P" @. f6 _
2.5. Тег <goals>Этот блок определяет цели квеста:+ |- D4 D, M$ l4 s, @8 a5 @
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
, k$ ]7 I" [$ G
3. Пример полного квеста3 n W( ]6 H5 ]. C1 R
1 k5 k! v. q! ~ l" e+ S) U9 E% c3 CПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
; E+ R$ J7 M/ N D- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">( S( V# O2 I$ I3 p! C- e) U ?) a
- <locations>6 p3 A+ {; v' T$ O7 F. \) a
- <param name="startLocationId">1015</param>
+ Y, y# [& f7 F5 S - <param name="endLocationId">1015</param>
% |1 t( c; D! M7 e" n) i9 f - <param name="questLocationId">1020</param>
$ W' O/ @* E# `" }2 } - </locations>0 J; r9 r# I' U( p! Q. k* I" {
- <conditions>
$ t9 A& _- f0 p) Z; {! V e - <param name="preQuestId">10099</param>0 A# h! K0 V6 x7 v( n
- <param name="classIds">1;2;3;4;5</param>6 K& O9 p( E6 _
- </conditions>: n# r+ B9 z/ L( _6 b2 h: C
- <rewards>
: b2 ?5 x! [* Y: p - <items>
, j" z6 m* B: Y% r - <item id="57" count="50000" />
% d: k5 l, [4 @% L ^* W5 W! }' a - </items>
6 Q9 f+ V3 o& S" I - <param name="rewardLevel">50</param># D4 w3 D- o* `( p2 w
- <param name="rewardSp">1000</param>7 e! m) U" }! u' v4 X. t
- </rewards>
# m' R" X# C b" m2 P! C - <goals>
2 [. U# M' H3 a% h, d. y - <param name="goalCount">10</param>
( H! a9 A7 T5 ]4 a% [- } - <param name="goalString">Demons in the cursed forest</param>/ k1 S9 A& [5 I
- </goals>% s' S; ?9 q/ n& _' U; k: m# d8 E
- </quest>
& u/ c! i7 b) w% B; d
Скопировать код Здесь:. D4 v8 t/ i) x, e# p, T: T1 D7 K
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
7 W! ^% B* H& G5 b( ?8 e, @9 E) `9 }
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно./ {/ A- X' F& Q4 }' }) {
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.0 H5 W! H+ N A; L) p
" I5 _ v% z0 v } |