Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
- U5 w6 L; \& f' z
$ h/ [) ]1 Y' q2 s9 w: j9 s+ D
2 q# a- x4 j* U! c1 hФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
, @" Y; X% z2 `8 Q; ` 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
( n" [6 W# X1 @Пример записи квеста в NewQuestData.xml:6 X8 }* ~; I! u: o2 v, E& m
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
8 w% \" C! U4 f/ J - <locations>
6 i( Y, t% ~ X# `) N - <param name="startLocationId">1015</param>
\# K3 @7 n8 K* Y4 m9 T& T - <param name="endLocationId">1002</param>% ^- d6 v8 N' K. T. v Q# V/ H6 o# V+ Z
- <param name="questLocationId">1020</param>
/ Z# k2 i" J8 D( t- H - </locations>
H0 R# K3 o1 W3 p6 v) a( Y3 f - <conditions>
! k4 C- i3 y1 h9 k& l/ ` - <param name="preQuestId">10019</param>
) @( g* C1 [0 \0 x3 ]4 Q; @! g% F - <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>5 t0 B0 [8 x4 V) d4 Y
- </conditions>
, d- I+ O2 M. ~0 q p5 V - <rewards>
5 Z2 H |. z& {2 o, I0 W: t - <items>* E% |7 W \, \0 H5 v9 q
- <item id="57" count="240000" />: T, i2 W ^( r% m3 Q- ~; G% U
- </items>
' z' l' N; k! N9 i - <param name="rewardLevel">76</param>
7 g G2 S- X0 A - <param name="rewardSp">84</param>
: k8 p! `2 N8 o - </rewards>9 o1 P' s$ D9 J& j" `* [) W0 r
- <goals>
& Q& I7 x( W+ N, F, ] - <param name="goalCount">30</param>9 p/ v& s2 K# d5 [3 v# U* D0 A
- <param name="goalString">Monsters on the Windy Hill</param>
6 Y5 A3 k4 D- j! b, k - </goals>$ j: D L0 h: K. \; ^% g5 e6 y) J
- </quest>& F1 N# y% T! o& H8 S
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:9 q0 Q$ V, p' d2 _% W
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.% Q1 \4 [( C1 q- Q/ P* a: R
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
: _; {0 Z0 I! j7 D6 z- d
4 i3 L9 T1 U4 J1 ^- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.# e" ^: j$ h1 O, N
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
+ w5 z: `6 ^* s; Q' x- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
( }6 D ?! C9 U! w8 |: M9 ?7 |! Q 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
% S& E& M/ j# a: C* o' q% m+ l- <items> — внутренняя секция с наградами в виде предметов.
2 r/ O- X# ]0 d, f- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
z/ B0 }: O) A* C" S/ c. @
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.1 `7 }3 c# @& R
2.5. Тег <goals>Этот блок определяет цели квеста:
u0 P6 |% {; |+ R: `: I- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).- u/ T" }; k$ G5 X6 a) Z
3. Пример полного квеста% @! ^ |( ~" {
1 l7 d" s' E' k2 V$ d, k# W+ n
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:* t! j" Q' ^0 [" P# G3 ~( E) A1 b
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">' A+ C( E, x* [% C3 I
- <locations>( a- Z" o. E4 Y# k/ b% v
- <param name="startLocationId">1015</param>; @6 q5 t% d9 [2 V# |/ J
- <param name="endLocationId">1015</param>7 x/ m, j! [ i9 X$ }' W$ Y
- <param name="questLocationId">1020</param>
) {( a+ i" c+ R# o5 l- k- B - </locations>0 W+ T( t2 x4 g- P
- <conditions>
' Y3 s: Z9 [7 O - <param name="preQuestId">10099</param>
/ j3 ]5 h9 A- [5 C8 Z0 Z7 X - <param name="classIds">1;2;3;4;5</param>
# |. k- T, R5 L$ f2 C! Z - </conditions>
% ~, v. ~. g5 } - <rewards>
7 a- e' ` F: {6 ? - <items>
/ X) w7 _: w% J! n - <item id="57" count="50000" />6 g7 r+ `6 u) x ^/ Z+ u% ^% B7 k
- </items>
% s2 N+ y) @8 D* P: M - <param name="rewardLevel">50</param>6 j* f6 S: w3 e' B1 m# `% Z
- <param name="rewardSp">1000</param>' }) r. u* R" x/ q; N6 i3 r
- </rewards>
/ J# x7 Z0 z' x& d$ N4 [; n - <goals>
/ V! L7 d& e, U, _; V- o0 ?9 k0 Y - <param name="goalCount">10</param>
+ w! Z( y( ]: L% v( [: P - <param name="goalString">Demons in the cursed forest</param>
$ @7 x) h" u1 l& q- |. X+ |2 w - </goals>
8 ?* |6 @- [5 L8 ]) a - </quest>! |' d0 |! T9 y. Q
Скопировать код Здесь:
- X2 G6 q6 }- h+ r) x- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
9 S( j; C& \+ |% f
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.: E: W4 s+ N9 D
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.7 L; d/ H7 v. |: L4 |
, h+ U' A$ V3 A! S
|