Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
4 D7 t8 {0 ?. ^8 D/ w0 Q7 Z4 u: F6 a( U {
+ b* C9 K2 d) s- p' M0 t$ M# B0 ?8 UФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
1 y3 N( w3 v( [, C) M 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.7 a' S {8 c" v* Q4 Z- V
Пример записи квеста в NewQuestData.xml:
5 c0 |1 @8 Q6 ?" ]& b" j! d6 f- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">4 }# [, Z( y' [7 _. F7 U6 O
- <locations>! O$ H$ ?' O3 G+ G7 C
- <param name="startLocationId">1015</param>
`! C. X$ o7 ^) w - <param name="endLocationId">1002</param>
1 ^/ p0 \5 ?/ s' q( @' W - <param name="questLocationId">1020</param># @+ ?7 ~( c( K" o! \ B
- </locations>, F) F) v6 a) |3 S' @: a2 U
- <conditions>
8 i/ q- J# o! w9 ~) m3 ~: Q# V4 Z - <param name="preQuestId">10019</param>. P# u0 e( ^& v# ?8 c. b j2 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>
3 P: m( P9 @5 e, L- k6 C( H9 S - </conditions>5 K" Q5 a2 E. t0 g/ h; r
- <rewards>
* F5 _" ]9 J5 L# g8 E7 V0 G. V2 C. I - <items>
& D. ~* F) ?4 r - <item id="57" count="240000" />
! N7 u8 @! [1 C; G - </items>, s# q4 y; p( u. u; J( S
- <param name="rewardLevel">76</param>
7 D8 D9 E+ ~' v2 G Q+ w - <param name="rewardSp">84</param>
# W( O& P- m1 i L - </rewards>
- P B; |- W0 {- H' E - <goals>
2 p1 s* s( ~- D, V1 [% S4 Q - <param name="goalCount">30</param>
" h& i+ L4 }8 |- C8 A c% E - <param name="goalString">Monsters on the Windy Hill</param>
: a# V5 _; B. d2 d9 _' U# d - </goals>
6 H' t" W; N; | d. R - </quest>
: r; [! Q4 k# c$ I' x: I
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:+ [6 y& S( r0 T, K8 n. h* i+ K
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
. a) ^9 [+ s) H+ Z 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:) b+ [; Z6 S6 a3 S% _ v
: ~* H |! h/ B6 A$ N- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.3 m) }* i, k; a g3 G
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:4 V( c! ^$ Q; H- ]6 M9 Z8 m n
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.1 {! k6 i6 l$ k8 r0 e$ Q" U0 q
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:. t, S; S% N) q& a* u' w
- <items> — внутренняя секция с наградами в виде предметов.
4 z2 |8 p" R+ J$ K. V: B" V0 Q- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.) [2 y; O/ x( f: X, o( e0 K8 r& H
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
" \: X8 @) x/ r9 Q: e 2.5. Тег <goals>Этот блок определяет цели квеста: D5 L" x, |' k, t6 x
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).
8 F+ _' g- x' |1 G5 p
3. Пример полного квеста
1 S1 x: N2 G9 K2 B' P9 m7 u m3 s
4 c h6 w$ d. x& c# C8 U7 i: qПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:# S' g, @9 }4 e; A2 \) z" J- X
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">8 g' e% h" n5 R+ e4 `
- <locations>" R, f I# V. z1 N) C& g9 E) Q
- <param name="startLocationId">1015</param>
" ~9 E* M8 c. G& G - <param name="endLocationId">1015</param>
" z5 ]! L" |4 O9 j3 g - <param name="questLocationId">1020</param>
, M! ~" S$ R/ q" Z R* @ - </locations>
4 k) ?# ]' v! k - <conditions>/ \4 |& V0 b- E K8 w# x
- <param name="preQuestId">10099</param>
* Q5 E* O& [& ~$ C - <param name="classIds">1;2;3;4;5</param>9 Q# K5 S9 g5 Q; Q+ A6 i. w3 w: |
- </conditions>
# g2 a; \" e/ T. A1 w - <rewards>
, c2 u9 y- _" o! @; t8 `7 ?; b - <items>1 W4 B, _3 G& O7 f" [, D; t
- <item id="57" count="50000" />" U8 f! P3 |: T ]
- </items>
3 t i/ Q6 T4 \. {3 I) w/ [$ C - <param name="rewardLevel">50</param>
+ G1 e8 y" ?" d1 B4 a - <param name="rewardSp">1000</param>& T* Y5 Y" J( m* ~
- </rewards>
; Z, Q' i1 ]% h. W9 V - <goals>, H6 q6 ]5 I" N* j$ _
- <param name="goalCount">10</param>0 w" F" F! w# p, d: ]$ i
- <param name="goalString">Demons in the cursed forest</param>
6 m0 g7 m' z2 B" ~* L. R - </goals>
4 ?2 F8 H7 Q* y6 v( D! d h) K - </quest>
, S: R7 r5 y/ ]9 j; W, L9 {
Скопировать код Здесь:7 Y' h( f7 m9 ~3 G c, ]
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.4 l8 u8 g j4 K. {/ {! b8 ^9 {
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
, H% c% r0 S' o6 Q5 ]0 U
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
4 ?& b8 f- N" @" b% u6 k/ s+ W& `% ~& S9 E9 E/ }: ^$ D
|