Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
* {) {" W5 T6 Q, D, W a
( S% L6 H$ D4 S& z) n0 ?
/ L% y7 o6 Z- l8 _0 ^8 XФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.2 w, R0 M6 E8 N. }! e
1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
& z% e1 x2 q7 V/ u% H, W. Y) c/ gПример записи квеста в NewQuestData.xml:
; F( a7 F1 n% d$ r8 z0 i2 Q# q- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505"> w$ ~1 h* p. Q4 e0 z0 K
- <locations>
& S$ i" {" b/ K" j* A+ t9 l. `1 R - <param name="startLocationId">1015</param> O" N0 V. D+ G
- <param name="endLocationId">1002</param>) }) x- ^ N0 J8 L
- <param name="questLocationId">1020</param>
+ T6 w8 X- n6 P* t3 U# o - </locations>
2 U! u# Q; L p0 q6 L9 d7 } - <conditions>' {/ U7 v. [1 J. Z/ J2 g$ Z4 H, v/ C
- <param name="preQuestId">10019</param>* Y2 t8 n/ f: s/ _
- <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 m: v- ~5 n' Q - </conditions>
5 o8 c; |$ k8 B& W! m - <rewards>
0 N$ F6 v7 `7 C1 l - <items>
% |5 U, i2 W! y - <item id="57" count="240000" />
2 m! D& L2 p* v - </items>5 ?1 a% A( I0 u; H4 G
- <param name="rewardLevel">76</param>! d& |. b! M5 o2 R v+ \' [
- <param name="rewardSp">84</param>" p4 P. ^' L0 w; w, l! o
- </rewards>8 s1 \" C% l4 k; d8 ?$ V" E
- <goals>' q3 R' b$ L d/ ~& ^
- <param name="goalCount">30</param>
; @2 [6 w; M5 F$ O, B- J9 z, m - <param name="goalString">Monsters on the Windy Hill</param>4 C5 [# \& l: E {9 c. ]) z
- </goals>
' X8 y; B7 v9 I2 T6 }: P - </quest>
! X% `( w5 ]- x& M
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:. p# ]( z+ ~( @/ ~* Y6 P8 z9 A; H- {
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.5 _! A) V; D" ^* v5 L3 l' l* R
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:; W! T: W! u8 R% G: m
! W! B! a, P' Y1 H0 y2 X- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.7 y% S! F% T2 }. `5 k" @3 ~
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
. \8 r/ D5 t; v- [) f- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.- @4 D( \" ~' i) S' b
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:: b" T4 Z- b* o
- <items> — внутренняя секция с наградами в виде предметов./ \& D; T, @- Z0 k+ @ t
- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.
U8 U6 V( G$ M) g/ u" V3 k
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.# r; ?9 u3 p% m1 e
2.5. Тег <goals>Этот блок определяет цели квеста:% f5 x5 [$ L# [5 ~( n, \$ [
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
+ j5 w. s) s; E& [: D
3. Пример полного квеста- @+ s; ]; g! F; i: o7 ^. O% a
3 l5 D: b; D- w D R9 H, f
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:# B( n4 ?- P* Q/ v& }$ `1 i# h
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">
2 ?' x6 F: Z( ?: T+ N8 r0 U5 q - <locations>
# O& }- X5 `# r& j+ ?, k3 i2 k* Y9 p - <param name="startLocationId">1015</param>
J8 k/ p9 W4 I* h% C9 u - <param name="endLocationId">1015</param>
$ [0 \4 e! }! y z% \2 B+ }) x - <param name="questLocationId">1020</param>
Z. u% d$ j" X: ~& C$ q( b - </locations>( V$ U& V* m! B6 C; x
- <conditions>
+ B. T, s/ @3 K& Z - <param name="preQuestId">10099</param>9 {) [( i! @' G/ J5 {! D
- <param name="classIds">1;2;3;4;5</param>/ P; \2 L+ U1 R( C( p% |- z
- </conditions>, @! L4 B7 ~2 U8 f8 E7 S5 A! v& ^
- <rewards>
, ?8 ~$ K% J ? E - <items>
6 S# O6 F: r; A: ^- w - <item id="57" count="50000" />2 D. I5 k: c0 q3 i! P) A$ X+ r
- </items>
7 P+ N& n* [/ ~6 C: ~$ d( t9 ?5 f. s - <param name="rewardLevel">50</param>, b p2 N: [, |+ i0 d+ T5 ~7 Y1 t
- <param name="rewardSp">1000</param>" q$ g( ]/ A4 X) @: Z/ y
- </rewards>
1 M5 l; n, W% T' O$ k/ o - <goals>
3 j7 e. [0 A8 `5 Y/ Y - <param name="goalCount">10</param># M/ G1 T( K2 L# a# u9 s% E( O7 X
- <param name="goalString">Demons in the cursed forest</param>9 T) ]$ k+ f! @' ~2 Q" n( i
- </goals>$ J) q- F5 Q' Q5 j* p) u
- </quest>$ l9 T5 z* F* X! c3 }: w
Скопировать код Здесь:8 X4 t$ d3 o/ \9 M: M
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
8 N- c8 v$ a, W% C5 B W R, X
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
9 r, N6 `0 ~% ~) \$ m( Z7 j
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.& ]* S" M: _( T) S8 t. f* Q
2 N( u% G+ B X9 \5 u
|