Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius
0 X: n p O6 e% s
# z7 f" ?* ?6 h# \# y5 r
& k9 D6 m3 K% U& f. g( j l( c0 qФайл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
" q4 Y8 ^9 g. F. O& q+ h4 ~ 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
" k7 g3 x6 f, i; AПример записи квеста в NewQuestData.xml:- |6 d) l0 B, y) N9 g5 Q+ ]# d
- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
0 r1 p. V, }: u0 { - <locations>6 ?! N6 r4 G3 ] d# o& T& h. z) p
- <param name="startLocationId">1015</param> u* L3 D/ ~, N2 j
- <param name="endLocationId">1002</param>- S+ k' ?. c, v1 K
- <param name="questLocationId">1020</param>
$ q) F) R0 T2 R; ` - </locations> e$ M H6 x+ y2 q! p! ~0 S
- <conditions>
6 L2 O( Y9 V ^! u - <param name="preQuestId">10019</param>
: W$ N. J3 f" P9 _/ @9 h - <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>2 D6 c3 a# Q7 I' E
- </conditions>
, E7 D3 {+ w3 N" H& i9 W" l5 { - <rewards>4 {4 o3 T! u: Y- l2 v6 a0 z
- <items>
( m9 l. l! |4 ~/ R- D e% g% g, l - <item id="57" count="240000" />. _. ~& H9 M6 t
- </items>" Z! h$ H2 v* x* J
- <param name="rewardLevel">76</param>3 V1 j) T( C; s2 q9 L7 D) x
- <param name="rewardSp">84</param>
: g3 P4 V! @4 B4 V+ G. _* ]6 X - </rewards>" V. @* n$ b+ H( H9 r! T; N: _/ }% ^
- <goals>
" ~( }1 L4 l) `) ~ - <param name="goalCount">30</param>: O( _7 d7 c/ T; b- `/ V5 V& ]! j
- <param name="goalString">Monsters on the Windy Hill</param>: h d) J, {. b D+ C
- </goals>+ b8 E0 b- q8 ~/ ]/ `. d% A
- </quest>- V& E: K1 U; J6 h1 e1 u
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:
: J: Y; r: w" \% c) t5 ?$ q- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.$ K( R4 t; F/ _8 C3 p
2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:: r+ u+ i/ l- g0 L, L& F
: L y0 l' W1 s- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.
% R6 Z; _9 F6 n$ E# p 2.3. Тег <conditions>Этот блок определяет условия для начала квеста:; Y9 K& W4 y0 I }
- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.: a$ T; e3 u6 ^# L& t
2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
2 D7 N7 j( E0 D6 a- <items> — внутренняя секция с наградами в виде предметов.
7 `7 i/ I: I/ U% M& ~7 a+ F5 X- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000.2 Y" v0 r7 I, i3 D% m# G& s% |4 h" }
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.2 P9 n3 {: r# c4 s; R7 @/ V
2.5. Тег <goals>Этот блок определяет цели квеста:3 E8 U& |9 l; F, j8 G' q# {
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).0 B {5 O+ n: P4 N' e
3. Пример полного квеста) p. U" L g. A$ b3 u
+ f. \5 z; k& R+ i2 X/ E
Предположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:2 E6 s/ d& ~3 G1 P
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">- {5 c/ p3 o/ Q1 l( A0 W) U
- <locations>0 ?8 v% u: X7 g% }2 ]' C
- <param name="startLocationId">1015</param>
- d0 F- u; ?4 \/ o0 F0 u - <param name="endLocationId">1015</param>
! h; d ^( \: P0 c+ } - <param name="questLocationId">1020</param>
0 ]5 N- X$ @! V& f' [$ A - </locations>
: G7 H! z# t8 L7 W& G - <conditions>
0 m/ o/ y; K/ l- G) Y - <param name="preQuestId">10099</param>' E2 o( r/ H5 }& t
- <param name="classIds">1;2;3;4;5</param>
; J( g/ `4 Y, J6 _' a0 c - </conditions>9 \, l: u8 p+ I; ]/ s$ e8 n( ?
- <rewards>
4 r: v; R$ ?% D5 ~' i h, V - <items>, x& N% |4 j. }
- <item id="57" count="50000" />1 Z& e6 C# X& i/ a
- </items>
S: P3 W- A. b: u - <param name="rewardLevel">50</param>8 T6 x( \8 }, M: o8 n$ V
- <param name="rewardSp">1000</param>* U, a. T* B& c) W9 x8 H2 D6 ?/ o
- </rewards>
# n( T3 c6 E$ @# L5 r- @" l - <goals>+ @; c+ D/ t6 R, w) E6 E
- <param name="goalCount">10</param>- h4 t6 m" o* O$ J. P
- <param name="goalString">Demons in the cursed forest</param>7 L- k3 a* Q2 I2 N
- </goals>
$ ~' W5 O0 m( U+ B - </quest>
/ a( A! s5 S8 d* E, x Q M
Скопировать код Здесь:' `; o6 u6 H) P/ @/ Q X" v
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
' E6 K& j" g0 |6 F$ R. l
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно. C7 f; S1 i7 ^$ l, _9 }
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.
) {: `4 J/ p/ {0 N1 Y: v! a; x
) k- X: T5 E% `: U( m |