Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius. @7 }0 ~. ^& }% n# ^( i
9 [4 ?, G2 `1 R
" ]! N1 O: X$ }1 ]1 K; l2 e' [, kФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
2 q; J3 t7 f" \- O8 X- {6 a1 X6 ~ 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
/ u) Y5 x+ I" O$ N# `9 JПример записи квеста в NewQuestData.xml:
6 |0 {; v% M- ^, J& S* X: D& K8 }, f M- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">: N E# O) p$ V! y. {
- <locations>
9 o) X) X/ N$ B! `" O3 Q' C# H, { - <param name="startLocationId">1015</param>
$ w0 S! i6 `2 F- U7 D, q N; @ - <param name="endLocationId">1002</param>
) x5 G# Q6 C( \% O3 e - <param name="questLocationId">1020</param>4 d. q! ^$ B+ p8 S
- </locations>7 ?9 V7 y* r! {- O8 \
- <conditions>: H4 {- H8 x8 @ _
- <param name="preQuestId">10019</param>. [! k. ~" g) d/ t4 k/ {0 \# X9 x
- <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>) L% V8 k9 ]5 _4 q3 O. T N* d
- </conditions>
! A& [0 b; n; i, q/ u; a - <rewards>
# N, L6 x( M9 A+ C$ ` - <items>. W! G1 F o* r+ s y
- <item id="57" count="240000" />
5 D5 L) x8 f- J2 ~6 q& E - </items>
4 l, E, D/ J9 _: G4 p5 T - <param name="rewardLevel">76</param>
; u% v: T4 ]" \ - <param name="rewardSp">84</param>
4 y2 ~' w/ `% H0 C7 m5 m - </rewards>
1 m3 R. L+ K7 r8 H' z% d! H - <goals>+ N3 P' }) r3 u4 @. X
- <param name="goalCount">30</param>6 F' q0 }% ?( K( i4 ?! @8 t
- <param name="goalString">Monsters on the Windy Hill</param>7 M! R' S6 V4 e( T8 P' X6 e
- </goals>
' o* V& |1 I J# [& K% Q5 f - </quest>/ U1 i2 l1 ~5 l, \( ]
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:* S4 R7 P8 F. \/ m2 D+ _- K* I
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.- l+ n0 ]4 U$ `) F5 N2 }! X+ x' ]
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
0 o. y9 V" b( y% C
: ^# |: F2 w3 M- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
' f2 n! N' O5 n6 D 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:" E" t1 O3 m# a \" C; e' \3 Q' I! m( q
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
/ ?+ ^% v. ^6 ?4 P" E- J$ Y9 ]) J* E 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:, j5 s6 H" _( f# Q2 C5 M
- <items> — внутренняя секция с наградами в виде предметов.# n, {% {% p/ Y1 p
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.# z/ w5 ^. v$ E6 H
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.* R, N7 t/ u5 n; q( Q
2.5. Тег <goals>Этот блок определяет цели квеста: V/ y6 a+ X8 a2 m
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
( {4 [5 O: X' u- Y5 A0 A
3. Пример полного квеста2 r. d7 z5 g6 ^% P, ]' M. X
$ c# r: L* y! E& vПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:0 `. j6 w! ^1 W
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">4 t/ z" S4 n& }) m4 F5 ]
- <locations>, }0 U$ w+ q3 p- [
- <param name="startLocationId">1015</param>
' g7 V8 v6 Q% M0 u, Y& W2 F - <param name="endLocationId">1015</param>0 J/ v! [+ ?( N/ {9 E4 Y8 O
- <param name="questLocationId">1020</param>- F/ K1 T5 b' G% n1 ^/ v& d; R
- </locations>
% h7 \! U3 j, f! \. l - <conditions>' f6 m+ W. g* N) n! }1 _
- <param name="preQuestId">10099</param>% s6 X% Z) z2 B. R
- <param name="classIds">1;2;3;4;5</param>
( ^% z/ j) H; s& V4 t' ~, m- m1 p - </conditions>
2 t# v6 g( s7 g5 x j2 E. b - <rewards>
# c' ~# z) T% r/ U! @ - <items>0 T" v9 z0 _' c0 j
- <item id="57" count="50000" />( I. V" d8 J1 c! \6 o
- </items>
" @! H( i, [2 ~& P# `+ X - <param name="rewardLevel">50</param>
* y: e1 o; f A1 B/ @0 G - <param name="rewardSp">1000</param>* b( m4 \- ]# O3 {6 K: [6 U4 Z! N
- </rewards>6 t& ?, X0 _, K9 g. G
- <goals>
$ s1 P! L! B x/ X - <param name="goalCount">10</param>
, K8 w6 J9 }# g - <param name="goalString">Demons in the cursed forest</param>* r" B! ^# h! ?$ p- D
- </goals># A- i! J# K: L4 n$ t ^/ ?
- </quest>
0 n1 X) s* l/ m0 y4 h: K
Скопировать код Здесь:2 @7 g, g b6 t! r8 a
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.) |/ H& L' E% v* \& d6 I: P7 A
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.: k9 t( z; Y( _( B6 ?
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
! Q0 e% K9 |! P3 w: D* e4 j" D7 J% ^& s+ c7 }2 v k% m s& Y* S
|