Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
; L- m) X; H; c1 z# Q7 e$ H B1 A+ w$ s9 w m- p' k/ k& p
2 ], O9 b* u+ D) JФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.+ U, P7 G+ f0 u& }2 n, q) q: m
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.7 W5 C! K9 p3 @
Пример записи квеста в NewQuestData.xml:
# a) X: i8 ]/ U" n [- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">+ b2 e7 M Q* N C4 b) c0 o: \
- <locations>
% a; ? [3 X2 U& _ - <param name="startLocationId">1015</param>4 V7 c; }9 Z8 O, S3 `
- <param name="endLocationId">1002</param>
. X! D4 Z: d9 W! _! r - <param name="questLocationId">1020</param>+ z6 _: W& q- c8 d4 b
- </locations>! ~3 W& A y& L' f& }) S9 x
- <conditions>% ?! B% p) O* I% s* B+ s" o
- <param name="preQuestId">10019</param>
( N, ~3 `3 D* x b2 S+ J - <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>- c0 a6 u( X/ \0 B% _7 O
- </conditions>
2 E% m/ }' B, ]2 F/ H! H8 a - <rewards>
5 [. w9 t J8 C! J( i; [ - <items>" E2 L' h; x$ u O! e' G
- <item id="57" count="240000" />
, ]+ |/ P/ A0 t" {, z0 M& ~ - </items>
2 `8 J# m7 x* u4 t# V - <param name="rewardLevel">76</param>& Z8 N' B( T( D: K% y Z+ K
- <param name="rewardSp">84</param>0 H; {7 J! ?1 X5 m0 |, m
- </rewards>
/ |+ U- v: N2 N: t - <goals>
# s' k l5 q( M9 ]% n8 k - <param name="goalCount">30</param>
8 `! t. _4 C. E& \- B - <param name="goalString">Monsters on the Windy Hill</param>& ]3 R3 H! f) X( O7 ^/ ?
- </goals>
$ i1 p! b5 C% f1 S2 G; o - </quest>6 {) T- v! _+ s. a
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:1 Y; q( W) b% D$ u- u& x& x+ B( W
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
. H! O6 V/ Q% t% X! I 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
& N2 J$ N9 q. L2 D/ L; d* p- |
! a& p m, k. K- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
4 N2 u+ Y- O0 r% i4 C9 O 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:! b8 ~( l+ ~) [5 i( c- O6 J6 R
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
' ~ d/ P3 T$ u8 a+ i+ J, |4 G 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
0 S$ \ h" r8 C- q0 G( Y* i) @- <items> — внутренняя секция с наградами в виде предметов.
3 z$ O6 M# I6 D; P2 I6 R3 Y- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.6 l# G8 p6 a* ^* M
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.! j0 l; R, W) I. h
2.5. Тег <goals>Этот блок определяет цели квеста:
?5 @- j, T& U5 b4 J# r- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
. f" m) q5 Z, l. a" `
3. Пример полного квеста2 h3 {# o6 j V- O9 |( q9 d# P1 Y+ b
7 i3 X1 I0 ^! L, sПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:: d5 l3 ^# B, A+ ^
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
) t( T r3 S& ` - <locations>
. n" t6 g c6 R2 _2 M - <param name="startLocationId">1015</param>
8 t4 I2 v2 N- T \1 t( ]* Z - <param name="endLocationId">1015</param>
+ P7 `* v$ k3 h+ z5 U6 R - <param name="questLocationId">1020</param>8 d: `" k/ R) l G( S6 |; p
- </locations>4 z2 j4 |# D5 p; X+ T# Z
- <conditions>
( m" ]' k6 D2 f$ z: T6 i9 I4 o - <param name="preQuestId">10099</param>
6 ]. @4 ]! d; k8 Q$ `8 P& S - <param name="classIds">1;2;3;4;5</param>
% ]% n; c! k N* p7 {% x2 b - </conditions>3 ]) C) ~: I+ Z0 V/ i6 v
- <rewards>
' P/ T) a0 x {: D5 s - <items>) @% U. n& E! Y4 x' G
- <item id="57" count="50000" />0 N8 J5 ]1 [" r% g7 I) W6 f
- </items>
( |4 O8 X( P3 [1 u - <param name="rewardLevel">50</param> M7 a; h7 K5 f ?7 q) ]" b
- <param name="rewardSp">1000</param>& |" w2 f6 n( ~* k1 X, ^
- </rewards>( i4 n1 @. |$ C9 j2 a/ B# R
- <goals>
( O e& y- X7 N0 ~# w1 ~8 ~ - <param name="goalCount">10</param>
1 x- Y7 D7 m0 e5 w% H - <param name="goalString">Demons in the cursed forest</param>% {$ W3 c4 b9 m' Z0 _0 r: `) y9 ^2 Z
- </goals>0 s* I% L8 j9 `& N O5 v
- </quest>+ g* D0 Y6 A% B( }! I; \
Скопировать код Здесь:
/ n* \& S$ L+ x& M- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.: G4 }, a1 W: j2 V
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
" }6 z5 D4 f# S9 _- v5 O; b
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
/ I6 }3 D; _/ p( M. C/ P; X' S( I, V4 c( [0 {4 ?
|