Зарегистрируйтесь сейчас чтобы найти еще больше друзей, и получить полноценный доступ ко всем функциям сайта!
Для просмотра Вам необходимо авторизоваться Если Вы еще не зарегистрированы, перейдите по ссылке:Зарегистрироваться
x
Гайд по файлу NewQuestData.xml для Lineage 2 сборка L2J_Mobius# G+ ~# S4 f2 \0 l4 K+ b% @! P
8 O$ u0 \) V$ k6 o( ?$ n
0 L# U9 W" v5 i& [( q7 H
Файл NewQuestData.xml является важным элементом серверной части Lineage 2, так как он определяет ключевые параметры для квестов. Он содержит информацию о начальных и конечных NPC, условиях выполнения, наградах и целях квестов. Этот гайд поможет вам понять, как работает файл, и как добавлять или редактировать квесты на сервере.
) c$ p3 Z5 c G, T$ o$ a 1. Введение в структуру файлаФайл NewQuestData.xml используется для описания квестов, начиная с их идентификаторов и заканчивая подробными условиями, целями и наградами. Каждый квест имеет уникальный идентификатор (ID), тип, имя, а также ряд параметров, которые определяют его работу на сервере.
) ~4 f: s5 [/ jПример записи квеста в NewQuestData.xml:
* a: I0 \4 l7 d; J5 b- F% H- <quest id="10020" type="1" name="Attack of the Enraged Forest" startNpcId="33963" endNpcId="34505">
/ b# d- \' R7 P* n - <locations>6 Y" E" P( J) W. g& R2 k6 z! W
- <param name="startLocationId">1015</param>
! }1 A, k2 s3 _& \+ L - <param name="endLocationId">1002</param>
# `% x8 K4 t* h( O0 l) T! z. ^9 F - <param name="questLocationId">1020</param>! E: H: }2 w% P4 N2 b$ m1 W
- </locations>
; |! Z2 n/ r! \$ n/ I - <conditions>- z9 g% a/ |6 l& X3 G
- <param name="preQuestId">10019</param>/ ]: i( p* O5 L4 l# O" ^8 o
- <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>8 x5 ]1 Q ?( f4 K
- </conditions>+ O' y1 U. ^" R; O% }
- <rewards>! K$ a& X" w, I6 G0 L
- <items>
; M9 s3 b6 `4 q& G U' b$ H - <item id="57" count="240000" />$ W( J6 C5 E/ @
- </items>
6 N1 b6 u/ v6 E# A O3 U) R, g. [ - <param name="rewardLevel">76</param>- u- Q! f! h T* `% n! {& T+ c
- <param name="rewardSp">84</param>
|6 x* V: w) n5 Z - </rewards>5 u9 s2 F8 i# U
- <goals>
% H3 t; Y" k* D, C; \ - <param name="goalCount">30</param>; _, V- ?7 ~$ c: {$ G* _5 d' ]
- <param name="goalString">Monsters on the Windy Hill</param>
' S. C6 }3 j6 O3 J - </goals>
! @) p" Z& l7 Y - </quest>
+ ^3 u( ^; {2 \1 p* p
Скопировать код 2. Описание структуры2.1. Тег <quest>Каждый квест начинается с тега <quest>, который задаёт основные параметры квеста:5 q1 y& K( B, y" \( y
- id — уникальный идентификатор квеста. Например, id="10020" указывает, что это квест с ID 10020.
- type — тип квеста, обычно это 1 для стандартных квестов.
- name — название квеста, которое будет отображаться в игре.
- startNpcId — ID NPC, который начинает квест. Это тот NPC, к которому игрок должен обратиться для начала квеста.
- endNpcId — ID NPC, у которого завершается квест. Игрок должен вернуться к этому NPC для завершения задания.
; m* j% L- Y7 C" C0 G 2.2. Тег <locations>В этом блоке указываются ключевые локации, связанные с квестом:
8 `! _+ }: U! d) Y5 L7 s) X1 L* R1 G2 C7 m; U: V
- <param name="startLocationId"> — место, где игрок начинает квест.
- <param name="endLocationId"> — место, где квест заканчивается.
- <param name="questLocationId"> — основная локация выполнения квеста. Это может быть область, где нужно убить монстров или выполнить другую задачу.) y7 _, Z( C. q$ I
2.3. Тег <conditions>Этот блок определяет условия для начала квеста:
3 Z& b# X# N% n' R" l4 R/ h' x- <param name="preQuestId"> — ID предыдущего квеста, который должен быть завершён для начала текущего. Если значение задано, игрок должен завершить этот квест перед тем, как начать новый.
- <param name="classIds"> — список ID классов, которые могут принять этот квест. Здесь указаны ID классов, имеющих право начать квест.
7 O2 ^/ T# Q. H2 x0 o* U 2.4. Тег <rewards>Блок наград описывает, что игрок получит за выполнение квеста:
% |8 r- l( e7 I! k- <items> — внутренняя секция с наградами в виде предметов.
9 D3 g+ C/ D6 P3 w* J+ i- <item id="57" count="240000" /> — предмет, который игрок получит. В данном случае это адена (ID 57) в количестве 240 000. O3 V Y7 m8 _) p- d
- <param name="rewardLevel"> — минимальный уровень игрока для получения награды.
- <param name="rewardSp"> — количество SP (Skill Points), которые игрок получит за выполнение квеста.
, n' J- |6 N' E0 j* P, M2 L 2.5. Тег <goals>Этот блок определяет цели квеста:' [: M, \6 ?' h, f4 ^* ^* B
- <param name="goalCount"> — количество целей для выполнения, например, сколько монстров нужно убить.
- <param name="goalString"> — описание цели. Это текст, который объясняет, что нужно сделать (например, убить монстров на определённой территории).: O: X3 t5 W1 i! f6 v
3. Пример полного квеста
$ E" r5 b. ?, I. i+ A* N; O' q
1 Q8 Y8 M ?1 `8 X$ \ O% v5 u7 |% ZПредположим, вы хотите создать новый квест, где игрок должен убить 10 демонов и получить награду:: V Y- n$ K: Y2 y k
- <quest id="10101" type="1" name="Demon Hunt" startNpcId="34001" endNpcId="34001">- g0 a, H6 R& m" {& C
- <locations>- e, }7 e- G9 V( G, o2 Y3 _. o
- <param name="startLocationId">1015</param>
6 {( \; V( p& I: o# V - <param name="endLocationId">1015</param>
1 c& t& j1 p" X, Y) b7 Z* } - <param name="questLocationId">1020</param>
9 W# U9 i7 [' p* }. B/ Y - </locations>
u, M5 f/ o7 X( e1 V+ f8 J3 J - <conditions>
* c* b# N8 N8 c* \( U - <param name="preQuestId">10099</param>8 T p$ E% L1 N8 U4 r: z. E9 F
- <param name="classIds">1;2;3;4;5</param>
) s9 H! l! w! M1 Z) _* T/ `; b - </conditions>
/ R7 w: o0 Z1 v* M2 N - <rewards>
) z3 C4 {7 C( [3 x - <items>/ b7 H) j: X2 {8 b1 j' p+ u: R
- <item id="57" count="50000" />
E% L7 T! b' U( y& B; ^9 H - </items>' z7 @/ \1 ]3 o) N, X a( [5 {
- <param name="rewardLevel">50</param>; i# |" y$ A5 l9 T0 X6 n4 G! E
- <param name="rewardSp">1000</param>6 `6 V# T9 z- D: ~( U! X
- </rewards>( K0 _: g! ~! e* V+ Q
- <goals>7 p6 Q8 E( N! m, I( n( a* C f
- <param name="goalCount">10</param>! K* p2 F0 L# I& j, u- c
- <param name="goalString">Demons in the cursed forest</param>. e2 e9 l5 [% _; u. F/ Q1 b
- </goals>9 h" M* }7 U. ^$ }0 c( `% N
- </quest>
. D( A: ?: f2 ]. E3 j7 {
Скопировать код Здесь:9 `2 G0 R8 F' P
- ID квеста: 10101.
- Название квеста: "Demon Hunt".
- Начальный и конечный NPC: Жрец с ID 34001.
- Локации: игрок начнет и закончит квест в одной и той же локации (ID 1015).
- Условие начала: игрок должен завершить квест с ID 10099.
- Цель: убить 10 демонов в заколдованном лесу.
- Награда: 50 000 аден и 1000 SP.
, S3 D9 q/ _+ C0 s, t& N* k# O0 Q
4. Частые ошибки и их решения- Некорректные ID — убедитесь, что все ID NPC, предметов и локаций существуют в базе данных.
- Несовместимость классов — если квест доступен только для определенных классов, проверьте, правильно ли вы указали их ID в classIds.
- Цели не выполняются — проверьте правильность параметров в <goals>, убедитесь, что все цели прописаны верно.
9 ^ Y3 c# a+ H; f( x5 S; ?) J8 Z
5. ЗаключениеФайл NewQuestData.xml является важной частью механики квестов на сервере Lineage 2. Правильная настройка параметров, таких как ID, условия и цели, позволяет создавать уникальные квесты с интересными наградами. Этот гайд поможет вам уверенно добавлять и редактировать квесты на вашем сервере.+ w: g0 }: V; J) q
f5 E0 z0 a# L1 [. V* P8 q
|