Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius$ C& J4 a% G. D% f: q7 s+ ]
4 E$ V" W' A2 a# k2 m) b
9 f4 k, @7 d. p$ i. Q, Q
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.; d( E8 F' f) T/ M9 f3 C6 T
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
2 Z0 s' y/ _- d* I- p: Y* N* zПример записи квеста в NewQuestData.xml:$ `" Y& S, E) M
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
' V( v8 |. ?, f- J" x( r+ x( ?/ s - <locations>
, g' }# Z/ _- j" A - <param name="startLocationId">1015</param>
/ [! U# w) e9 ]% c# K - <param name="endLocationId">1002</param>
- L2 X9 G) V) o w" M7 ? - <param name="questLocationId">1020</param>8 y1 A9 R4 T: T& E2 B
- </locations>
9 i" M! g3 p4 c' X! e1 Y1 V. Y - <conditions>! C5 k O; }# ^2 O1 g* q
- <param name="preQuestId">10019</param>- v' X/ D2 Z* W( a4 g: u
- <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>
% r- \# m9 E% E3 ]9 ? - </conditions>9 |- W: Z! z! a$ E2 k% ]7 L) U
- <rewards>
2 g* @- B3 U/ G* @ - <items>
. _7 D; `' ]8 E! |! E' L8 \ - <item id="57" count="240000" />
7 Q2 i; ~, G% t+ s9 i9 ` - </items>5 H# D R9 g% b4 k P" [0 m) _; i6 q
- <param name="rewardLevel">76</param>3 ]0 P$ |) M' ~* y: o K
- <param name="rewardSp">84</param>6 u2 c: b; B4 A, _2 X
- </rewards>
# |* {' e# d" N - <goals>7 v2 ?! w1 K A( d: @$ }8 B) s! a
- <param name="goalCount">30</param>) _3 _; N, }4 u3 ~. Y
- <param name="goalString">Monsters on the Windy Hill</param>
7 y4 s9 ~ l8 n" J: J5 A - </goals>) S/ G" n" K& ?3 @. T& a* \
- </quest>
6 m; v9 Z! k. F# \9 H
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:) e4 I7 \; C5 ~3 x" ^: \9 t+ ]! D( C
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.: p- a0 k" E# ~/ Q3 v
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
/ F( \- d$ s: w4 w: N
: D; S7 o+ O& D3 q3 Y- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.- }8 ~8 [! T I u
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:- g1 \+ B3 k1 R1 `" i
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.6 f' g' q6 J2 ~7 k* Y6 F1 K
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
! r- r- X; ]: K# A- <items> — внутренняя секция с наградами в виде предметов.
1 R; Y. g1 Q9 _# g$ F& A- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.7 q6 P3 e6 ]. A. @3 Z! h/ \
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.0 Q, o8 _2 @0 _
2.5. Тег <goals>Этот блок определяет цели квеста:
6 j) g# G/ O' V7 H- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
% @& v, `2 ~! |3 _) x* S
3. Пример полного квеста: k( p4 K! k- v2 ^
# Q5 p" N: _: n9 G; G, r6 b9 VПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:
& x2 Q" @7 `+ S( Y) G9 m3 w. [- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
% U" V% D/ s" J2 Y2 e2 D, i - <locations>
7 k$ K& Z3 t# a - <param name="startLocationId">1015</param>
6 W7 v8 r, |: g7 q$ m: |4 l1 w+ ? - <param name="endLocationId">1015</param>. {, m5 U' o: k- `& }: u
- <param name="questLocationId">1020</param>: I& _4 `4 l+ A8 d) Q6 X/ X
- </locations>4 L. }% y" j6 n3 ?
- <conditions>
" [# w+ v Z" i$ E - <param name="preQuestId">10099</param>
5 d8 w9 e. [& H - <param name="classIds">1;2;3;4;5</param>
+ t1 r$ z, [/ s1 k1 r - </conditions>
9 |; j7 w1 e" S4 h! j4 q - <rewards>
3 {4 n F( i4 B - <items>
. [+ K' ^, q3 K g$ V' F# v5 w - <item id="57" count="50000" />
$ z2 t8 B) ]7 J# j! ] - </items>
/ F! u# I" u; q# U# U4 R - <param name="rewardLevel">50</param>
[7 Z$ q" ?7 ^2 T, P3 _3 y" k - <param name="rewardSp">1000</param>
; J% Z- K- T$ L$ a _; M& s: M4 F! B K - </rewards>
6 N5 C! Q. A# s7 X: _ - <goals>
- ?% q- e# K9 ` - <param name="goalCount">10</param>1 F( q, w0 V4 X4 |! B
- <param name="goalString">Demons in the cursed forest</param>4 ?4 E8 G. {3 U `. g0 x
- </goals>- C2 M8 o4 I& {( M/ L
- </quest>3 I- A3 a$ ~) [% `3 F( s* r) ?
Скопировать код Здесь:
2 S% G8 m9 Q3 }- K- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
, a) Z' u9 F& x6 q5 H9 i
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
) l; _( X) _) U. s
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
. t; v5 k1 u0 J+ r) y/ s/ e, ]1 v) L( O/ c s; x+ L& g' V6 c3 H
|